Blame tests/test_output_strings

Packit 0b5880
#!/usr/bin/env sh
Packit 0b5880
Packit 0b5880
. ./test_vars
Packit 0b5880
Packit 0b5880
# Set the 'internal field separator' character to
Packit 0b5880
# something besides whitespace so that the string
Packit 0b5880
# comparisons will work
Packit 0b5880
IFS="~"
Packit 0b5880
Packit 0b5880
# octal quotes are specified by POSIX, should be thus portable
Packit 0b5880
# (e.g. to Lubuntu builtin printf, Solaris 10 /usr/bin/printf)
Packit 0b5880
tab_nl_X_bs="\11 \12X\10"
Packit 0b5880
Packit 0b5880
##################
Packit 0b5880
# stdout output
Packit 0b5880
##################
Packit 0b5880
suite_output=`printf "Running suite(s): S1
Packit 0b5880
 S2
Packit 0b5880
 XML escape \" ' < > & $tab_nl_X_bs tests"`
Packit 0b5880
Packit 0b5880
exp_silent=""
Packit 0b5880
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
exp_minimal_result="37%: Checks: 8, Failures: 4, Errors: 1"
Packit 0b5880
else
Packit 0b5880
exp_minimal_result="42%: Checks: 7, Failures: 4, Errors: 0"
Packit 0b5880
fi
Packit 0b5880
exp_minimal="$suite_output
Packit 0b5880
$exp_minimal_result"
Packit 0b5880
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
exp_normal_result=`printf "37%%: Checks: 8, Failures: 4, Errors: 1
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
${SRCDIR}ex_output.c:46:E:Core:test_exit:0: (after this point) Early exit with return value 1
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message"`
Packit 0b5880
else
Packit 0b5880
exp_normal_result=`printf "42%%: Checks: 7, Failures: 4, Errors: 0
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message"`
Packit 0b5880
fi
Packit 0b5880
exp_normal="$suite_output
Packit 0b5880
$exp_normal_result"
Packit 0b5880
Packit 0b5880
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
exp_verbose_result=`printf "37%%: Checks: 8, Failures: 4, Errors: 1
Packit 0b5880
${SRCDIR}ex_output.c:31:P:Core:test_pass:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
${SRCDIR}ex_output.c:46:E:Core:test_exit:0: (after this point) Early exit with return value 1
Packit 0b5880
${SRCDIR}ex_output.c:66:P:Core:test_pass2:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:P:Core:test_loop:1: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message"`
Packit 0b5880
else
Packit 0b5880
exp_verbose_result=`printf "42%%: Checks: 7, Failures: 4, Errors: 0
Packit 0b5880
${SRCDIR}ex_output.c:31:P:Core:test_pass:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
${SRCDIR}ex_output.c:66:P:Core:test_pass2:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:P:Core:test_loop:1: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message"`
Packit 0b5880
fi
Packit 0b5880
exp_verbose="$suite_output
Packit 0b5880
$exp_verbose_result"
Packit 0b5880
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
exp_subunit=`printf "test: Core:test_pass
Packit 0b5880
success: Core:test_pass
Packit 0b5880
test: Core:test_fail
Packit 0b5880
failure: Core:test_fail [
Packit 0b5880
${SRCDIR}ex_output.c:37: Failure
Packit 0b5880
]
Packit 0b5880
test: Core:test_exit
Packit 0b5880
error: Core:test_exit [
Packit 0b5880
${SRCDIR}ex_output.c:46: (after this point) Early exit with return value 1
Packit 0b5880
]
Packit 0b5880
test: Core:test_pass2
Packit 0b5880
success: Core:test_pass2
Packit 0b5880
test: Core:test_loop
Packit 0b5880
failure: Core:test_loop [
Packit 0b5880
${SRCDIR}ex_output.c:72: Iteration 0 failed
Packit 0b5880
]
Packit 0b5880
test: Core:test_loop
Packit 0b5880
success: Core:test_loop
Packit 0b5880
test: Core:test_loop
Packit 0b5880
failure: Core:test_loop [
Packit 0b5880
${SRCDIR}ex_output.c:72: Iteration 2 failed
Packit 0b5880
]
Packit 0b5880
test: description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg
Packit 0b5880
failure: description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg [
Packit 0b5880
${SRCDIR}ex_output.c:78: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
]"`
Packit 0b5880
else
Packit 0b5880
exp_subunit=`printf "test: Core:test_pass
Packit 0b5880
success: Core:test_pass
Packit 0b5880
test: Core:test_fail
Packit 0b5880
failure: Core:test_fail [
Packit 0b5880
${SRCDIR}ex_output.c:37: Failure
Packit 0b5880
]
Packit 0b5880
test: Core:test_pass2
Packit 0b5880
success: Core:test_pass2
Packit 0b5880
test: Core:test_loop
Packit 0b5880
failure: Core:test_loop [
Packit 0b5880
${SRCDIR}ex_output.c:72: Iteration 0 failed
Packit 0b5880
]
Packit 0b5880
test: Core:test_loop
Packit 0b5880
success: Core:test_loop
Packit 0b5880
test: Core:test_loop
Packit 0b5880
failure: Core:test_loop [
Packit 0b5880
${SRCDIR}ex_output.c:72: Iteration 2 failed
Packit 0b5880
]
Packit 0b5880
test: description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg
Packit 0b5880
failure: description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg [
Packit 0b5880
${SRCDIR}ex_output.c:78: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
]"`
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
##################
Packit 0b5880
# log output
Packit 0b5880
##################
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
expected_log_log=`printf "Running suite S1
Packit 0b5880
${SRCDIR}ex_output.c:31:P:Core:test_pass:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
${SRCDIR}ex_output.c:46:E:Core:test_exit:0: (after this point) Early exit with return value 1
Packit 0b5880
Running suite S2
Packit 0b5880
${SRCDIR}ex_output.c:66:P:Core:test_pass2:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:P:Core:test_loop:1: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
Running suite XML escape \" ' < > & $tab_nl_X_bs tests
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
Results for all suites run:
Packit 0b5880
37%%: Checks: 8, Failures: 4, Errors: 1"`
Packit 0b5880
else
Packit 0b5880
expected_log_log=`printf "Running suite S1
Packit 0b5880
${SRCDIR}ex_output.c:31:P:Core:test_pass:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:37:F:Core:test_fail:0: Failure
Packit 0b5880
Running suite S2
Packit 0b5880
${SRCDIR}ex_output.c:66:P:Core:test_pass2:0: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:0: Iteration 0 failed
Packit 0b5880
${SRCDIR}ex_output.c:72:P:Core:test_loop:1: Passed
Packit 0b5880
${SRCDIR}ex_output.c:72:F:Core:test_loop:2: Iteration 2 failed
Packit 0b5880
Running suite XML escape \" ' < > & $tab_nl_X_bs tests
Packit 0b5880
${SRCDIR}ex_output.c:78:F:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg:0: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
Results for all suites run:
Packit 0b5880
42%%: Checks: 7, Failures: 4, Errors: 0"`
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
##################
Packit 0b5880
# xml output
Packit 0b5880
##################
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
expected_xml="
Packit 0b5880
Packit 0b5880
<testsuites xmlns=\"http://check.sourceforge.net/ns\">
Packit 0b5880
  <suite>
Packit 0b5880
    <title>S1</title>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:31</fn>
Packit 0b5880
      <id>test_pass</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:37</fn>
Packit 0b5880
      <id>test_fail</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Failure</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"error\">
Packit 0b5880
      <fn>ex_output.c:46</fn>
Packit 0b5880
      <id>test_exit</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Early exit with return value 1</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
  <suite>
Packit 0b5880
    <title>S2</title>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:66</fn>
Packit 0b5880
      <id>test_pass2</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Iteration 0 failed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>1</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>2</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Iteration 2 failed</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
  <suite>
Packit 0b5880
    <title>XML escape " ' < > & 	 
X tests</title>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:78</fn>
Packit 0b5880
      <id>test_xml_esc_fail_msg</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>description " ' < > & 	 
X end</description>
Packit 0b5880
      <message>fail " ' < > & 	 
X message</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
</testsuites>"
Packit 0b5880
expected_duration_count=9
Packit 0b5880
else
Packit 0b5880
expected_xml="
Packit 0b5880
Packit 0b5880
<testsuites xmlns=\"http://check.sourceforge.net/ns\">
Packit 0b5880
  <suite>
Packit 0b5880
    <title>S1</title>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:31</fn>
Packit 0b5880
      <id>test_pass</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:37</fn>
Packit 0b5880
      <id>test_fail</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Failure</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
  <suite>
Packit 0b5880
    <title>S2</title>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:66</fn>
Packit 0b5880
      <id>test_pass2</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Iteration 0 failed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"success\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>1</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Passed</message>
Packit 0b5880
    </test>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:72</fn>
Packit 0b5880
      <id>test_loop</id>
Packit 0b5880
      <iteration>2</iteration>
Packit 0b5880
      <description>Core</description>
Packit 0b5880
      <message>Iteration 2 failed</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
  <suite>
Packit 0b5880
    <title>XML escape " ' < > & 	 
X tests</title>
Packit 0b5880
    <test result=\"failure\">
Packit 0b5880
      <fn>ex_output.c:78</fn>
Packit 0b5880
      <id>test_xml_esc_fail_msg</id>
Packit 0b5880
      <iteration>0</iteration>
Packit 0b5880
      <description>description " ' < > & 	 
X end</description>
Packit 0b5880
      <message>fail " ' < > & 	 
X message</message>
Packit 0b5880
    </test>
Packit 0b5880
  </suite>
Packit 0b5880
</testsuites>"
Packit 0b5880
expected_duration_count=8
Packit 0b5880
fi
Packit 0b5880
Packit 0b5880
##################
Packit 0b5880
# tap output
Packit 0b5880
##################
Packit 0b5880
if [ $HAVE_FORK -eq 1 ]; then
Packit 0b5880
expected_normal_tap=`printf "ok 1 - ${SRCDIR}ex_output.c:Core:test_pass: Passed
Packit 0b5880
not ok 2 - ${SRCDIR}ex_output.c:Core:test_fail: Failure
Packit 0b5880
not ok 3 - ${SRCDIR}ex_output.c:Core:test_exit: Early exit with return value 1
Packit 0b5880
ok 4 - ${SRCDIR}ex_output.c:Core:test_pass2: Passed
Packit 0b5880
not ok 5 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 0 failed
Packit 0b5880
ok 6 - ${SRCDIR}ex_output.c:Core:test_loop: Passed
Packit 0b5880
not ok 7 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 2 failed
Packit 0b5880
not ok 8 - ${SRCDIR}ex_output.c:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
1..8"`
Packit 0b5880
expected_aborted_tap=`printf "ok 1 - ${SRCDIR}ex_output.c:Core:test_pass: Passed
Packit 0b5880
not ok 2 - ${SRCDIR}ex_output.c:Core:test_fail: Failure
Packit 0b5880
not ok 3 - ${SRCDIR}ex_output.c:Core:test_exit: Early exit with return value 1
Packit 0b5880
not ok 4 - ${SRCDIR}ex_output.c:Core:test_abort: Early exit with return value 1
Packit 0b5880
ok 5 - ${SRCDIR}ex_output.c:Core:test_pass2: Passed
Packit 0b5880
not ok 6 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 0 failed
Packit 0b5880
ok 7 - ${SRCDIR}ex_output.c:Core:test_loop: Passed
Packit 0b5880
not ok 8 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 2 failed
Packit 0b5880
not ok 9 - ${SRCDIR}ex_output.c:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
1..9"`
Packit 0b5880
else
Packit 0b5880
expected_normal_tap=`printf "ok 1 - ${SRCDIR}ex_output.c:Core:test_pass: Passed
Packit 0b5880
not ok 2 - ${SRCDIR}ex_output.c:Core:test_fail: Failure
Packit 0b5880
ok 3 - ${SRCDIR}ex_output.c:Core:test_pass2: Passed
Packit 0b5880
not ok 4 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 0 failed
Packit 0b5880
ok 5 - ${SRCDIR}ex_output.c:Core:test_loop: Passed
Packit 0b5880
not ok 6 - ${SRCDIR}ex_output.c:Core:test_loop: Iteration 2 failed
Packit 0b5880
not ok 7 - ${SRCDIR}ex_output.c:description \" ' < > & $tab_nl_X_bs end:test_xml_esc_fail_msg: fail \" ' < > & $tab_nl_X_bs message
Packit 0b5880
1..7"`
Packit 0b5880
# When fork() is unavailable, one of the tests
Packit 0b5880
# will invoke exit() which will terminate the
Packit 0b5880
# unit testing program. In that case, the tap
Packit 0b5880
# results will be incomplete, but the required
Packit 0b5880
# test plan will be missing, signaling that
Packit 0b5880
# something bad happened.
Packit 0b5880
expected_aborted_tap="ok 1 - ${SRCDIR}ex_output.c:Core:test_pass: Passed
Packit 0b5880
not ok 2 - ${SRCDIR}ex_output.c:Core:test_fail: Failure"
Packit 0b5880
fi