#!/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=" S1 ex_output.c:31 test_pass 0 Core Passed ex_output.c:37 test_fail 0 Core Failure ex_output.c:46 test_exit 0 Core Early exit with return value 1 S2 ex_output.c:66 test_pass2 0 Core Passed ex_output.c:72 test_loop 0 Core Iteration 0 failed ex_output.c:72 test_loop 1 Core Passed ex_output.c:72 test_loop 2 Core Iteration 2 failed XML escape " ' < > & X tests ex_output.c:78 test_xml_esc_fail_msg 0 description " ' < > & X end fail " ' < > & X message " expected_duration_count=9 else expected_xml=" S1 ex_output.c:31 test_pass 0 Core Passed ex_output.c:37 test_fail 0 Core Failure S2 ex_output.c:66 test_pass2 0 Core Passed ex_output.c:72 test_loop 0 Core Iteration 0 failed ex_output.c:72 test_loop 1 Core Passed ex_output.c:72 test_loop 2 Core Iteration 2 failed XML escape " ' < > & X tests ex_output.c:78 test_xml_esc_fail_msg 0 description " ' < > & X end fail " ' < > & X message " 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