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