| 1 | #!/bin/sh |
| 2 | |
| 3 | test_description='Test the output of the unit test framework' |
| 4 | |
| 5 | . ./test-lib.sh |
| 6 | |
| 7 | test_expect_success 'TAP output from unit tests' - <<\EOT |
| 8 | cat >expect <<-EOF && |
| 9 | # BUG: check outside of test at t/helper/test-example-tap.c:77 |
| 10 | ok 1 - passing test |
| 11 | ok 2 - passing test and assertion return 1 |
| 12 | # check "1 == 2" failed at t/helper/test-example-tap.c:81 |
| 13 | # left: 1 |
| 14 | # right: 2 |
| 15 | not ok 3 - failing test |
| 16 | ok 4 - failing test and assertion return 0 |
| 17 | not ok 5 - passing TEST_TODO() # TODO |
| 18 | ok 6 - passing TEST_TODO() returns 1 |
| 19 | # todo check 'check(x)' succeeded at t/helper/test-example-tap.c:26 |
| 20 | not ok 7 - failing TEST_TODO() |
| 21 | ok 8 - failing TEST_TODO() returns 0 |
| 22 | # check "0" failed at t/helper/test-example-tap.c:31 |
| 23 | # skipping test - missing prerequisite |
| 24 | # skipping check '1' at t/helper/test-example-tap.c:33 |
| 25 | ok 9 - test_skip() # SKIP |
| 26 | ok 10 - skipped test returns 1 |
| 27 | # skipping test - missing prerequisite |
| 28 | ok 11 - test_skip() inside TEST_TODO() # SKIP |
| 29 | ok 12 - test_skip() inside TEST_TODO() returns 1 |
| 30 | # check "0" failed at t/helper/test-example-tap.c:49 |
| 31 | not ok 13 - TEST_TODO() after failing check |
| 32 | ok 14 - TEST_TODO() after failing check returns 0 |
| 33 | # check "0" failed at t/helper/test-example-tap.c:57 |
| 34 | not ok 15 - failing check after TEST_TODO() |
| 35 | ok 16 - failing check after TEST_TODO() returns 0 |
| 36 | # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:62 |
| 37 | # left: "\thello\\\\" |
| 38 | # right: "there\"\n" |
| 39 | # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:63 |
| 40 | # left: "NULL" |
| 41 | # right: NULL |
| 42 | # check "'a' == '\n'" failed at t/helper/test-example-tap.c:64 |
| 43 | # left: 'a' |
| 44 | # right: '\n' |
| 45 | # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:65 |
| 46 | # left: '\\\\' |
| 47 | # right: '\\'' |
| 48 | # check "'\a' == '\v'" failed at t/helper/test-example-tap.c:66 |
| 49 | # left: '\a' |
| 50 | # right: '\v' |
| 51 | # check "'\x00' == '\x01'" failed at t/helper/test-example-tap.c:67 |
| 52 | # left: '\000' |
| 53 | # right: '\001' |
| 54 | not ok 17 - messages from failing string and char comparison |
| 55 | # BUG: test has no checks at t/helper/test-example-tap.c:96 |
| 56 | not ok 18 - test with no checks |
| 57 | ok 19 - test with no checks returns 0 |
| 58 | ok 20 - if_test passing test |
| 59 | # check "1 == 2" failed at t/helper/test-example-tap.c:102 |
| 60 | # left: 1 |
| 61 | # right: 2 |
| 62 | not ok 21 - if_test failing test |
| 63 | not ok 22 - if_test passing TEST_TODO() # TODO |
| 64 | # todo check 'check(1)' succeeded at t/helper/test-example-tap.c:106 |
| 65 | not ok 23 - if_test failing TEST_TODO() |
| 66 | # check "0" failed at t/helper/test-example-tap.c:108 |
| 67 | # skipping test - missing prerequisite |
| 68 | # skipping check '1' at t/helper/test-example-tap.c:110 |
| 69 | ok 24 - if_test test_skip() # SKIP |
| 70 | # skipping test - missing prerequisite |
| 71 | ok 25 - if_test test_skip() inside TEST_TODO() # SKIP |
| 72 | # check "0" failed at t/helper/test-example-tap.c:115 |
| 73 | not ok 26 - if_test TEST_TODO() after failing check |
| 74 | # check "0" failed at t/helper/test-example-tap.c:121 |
| 75 | not ok 27 - if_test failing check after TEST_TODO() |
| 76 | # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:124 |
| 77 | # left: "\thello\\\\" |
| 78 | # right: "there\"\n" |
| 79 | # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:125 |
| 80 | # left: "NULL" |
| 81 | # right: NULL |
| 82 | # check "'a' == '\n'" failed at t/helper/test-example-tap.c:126 |
| 83 | # left: 'a' |
| 84 | # right: '\n' |
| 85 | # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:127 |
| 86 | # left: '\\\\' |
| 87 | # right: '\\'' |
| 88 | # check "'\a' == '\v'" failed at t/helper/test-example-tap.c:128 |
| 89 | # left: '\a' |
| 90 | # right: '\v' |
| 91 | # check "'\x00' == '\x01'" failed at t/helper/test-example-tap.c:129 |
| 92 | # left: '\000' |
| 93 | # right: '\001' |
| 94 | not ok 28 - if_test messages from failing string and char comparison |
| 95 | # BUG: test has no checks at t/helper/test-example-tap.c:131 |
| 96 | not ok 29 - if_test test with no checks |
| 97 | 1..29 |
| 98 | EOF |
| 99 | |
| 100 | ! test-tool example-tap >actual && |
| 101 | test_cmp expect actual |
| 102 | EOT |
| 103 | |
| 104 | test_done |