Raw
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