|  | #!/bin/sh | 
|  |  | 
|  | test_description='Test the output of the unit test framework' | 
|  |  | 
|  | . ./test-lib.sh | 
|  |  | 
|  | test_expect_success 'TAP output from unit tests' - <<\EOT | 
|  | cat >expect <<-EOF && | 
|  | # BUG: check outside of test at t/helper/test-example-tap.c:75 | 
|  | ok 1 - passing test | 
|  | ok 2 - passing test and assertion return 1 | 
|  | # check "1 == 2" failed at t/helper/test-example-tap.c:79 | 
|  | #    left: 1 | 
|  | #   right: 2 | 
|  | not ok 3 - failing test | 
|  | ok 4 - failing test and assertion return 0 | 
|  | not ok 5 - passing TEST_TODO() # TODO | 
|  | ok 6 - passing TEST_TODO() returns 1 | 
|  | # todo check 'check(x)' succeeded at t/helper/test-example-tap.c:26 | 
|  | not ok 7 - failing TEST_TODO() | 
|  | ok 8 - failing TEST_TODO() returns 0 | 
|  | # check "0" failed at t/helper/test-example-tap.c:31 | 
|  | # skipping test - missing prerequisite | 
|  | # skipping check '1' at t/helper/test-example-tap.c:33 | 
|  | ok 9 - test_skip() # SKIP | 
|  | ok 10 - skipped test returns 1 | 
|  | # skipping test - missing prerequisite | 
|  | ok 11 - test_skip() inside TEST_TODO() # SKIP | 
|  | ok 12 - test_skip() inside TEST_TODO() returns 1 | 
|  | # check "0" failed at t/helper/test-example-tap.c:49 | 
|  | not ok 13 - TEST_TODO() after failing check | 
|  | ok 14 - TEST_TODO() after failing check returns 0 | 
|  | # check "0" failed at t/helper/test-example-tap.c:57 | 
|  | not ok 15 - failing check after TEST_TODO() | 
|  | ok 16 - failing check after TEST_TODO() returns 0 | 
|  | # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:62 | 
|  | #    left: "\011hello\\\\" | 
|  | #   right: "there\"\012" | 
|  | # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:63 | 
|  | #    left: "NULL" | 
|  | #   right: NULL | 
|  | # check "'a' == '\n'" failed at t/helper/test-example-tap.c:64 | 
|  | #    left: 'a' | 
|  | #   right: '\012' | 
|  | # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:65 | 
|  | #    left: '\\\\' | 
|  | #   right: '\\'' | 
|  | not ok 17 - messages from failing string and char comparison | 
|  | # BUG: test has no checks at t/helper/test-example-tap.c:94 | 
|  | not ok 18 - test with no checks | 
|  | ok 19 - test with no checks returns 0 | 
|  | ok 20 - if_test passing test | 
|  | # check "1 == 2" failed at t/helper/test-example-tap.c:100 | 
|  | #    left: 1 | 
|  | #   right: 2 | 
|  | not ok 21 - if_test failing test | 
|  | not ok 22 - if_test passing TEST_TODO() # TODO | 
|  | # todo check 'check(1)' succeeded at t/helper/test-example-tap.c:104 | 
|  | not ok 23 - if_test failing TEST_TODO() | 
|  | # check "0" failed at t/helper/test-example-tap.c:106 | 
|  | # skipping test - missing prerequisite | 
|  | # skipping check '1' at t/helper/test-example-tap.c:108 | 
|  | ok 24 - if_test test_skip() # SKIP | 
|  | # skipping test - missing prerequisite | 
|  | ok 25 - if_test test_skip() inside TEST_TODO() # SKIP | 
|  | # check "0" failed at t/helper/test-example-tap.c:113 | 
|  | not ok 26 - if_test TEST_TODO() after failing check | 
|  | # check "0" failed at t/helper/test-example-tap.c:119 | 
|  | not ok 27 - if_test failing check after TEST_TODO() | 
|  | # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:122 | 
|  | #    left: "\011hello\\\\" | 
|  | #   right: "there\"\012" | 
|  | # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:123 | 
|  | #    left: "NULL" | 
|  | #   right: NULL | 
|  | # check "'a' == '\n'" failed at t/helper/test-example-tap.c:124 | 
|  | #    left: 'a' | 
|  | #   right: '\012' | 
|  | # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:125 | 
|  | #    left: '\\\\' | 
|  | #   right: '\\'' | 
|  | not ok 28 - if_test messages from failing string and char comparison | 
|  | # BUG: test has no checks at t/helper/test-example-tap.c:127 | 
|  | not ok 29 - if_test test with no checks | 
|  | 1..29 | 
|  | EOF | 
|  |  | 
|  | ! test-tool example-tap >actual && | 
|  | test_cmp expect actual | 
|  | EOT | 
|  |  | 
|  | test_done |