blob: 3db10f095c2edc63e7064e582884dc2553bd9365 [file] [log] [blame]
Phillip Woode137fe32023-11-09 10:50:43 -08001#!/bin/sh
2
3test_description='Test the output of the unit test framework'
4
Phillip Woode137fe32023-11-09 10:50:43 -08005. ./test-lib.sh
6
René Scharfe4575ba62024-07-30 16:05:58 +02007test_expect_success 'TAP output from unit tests' - <<\EOT
Phillip Woode137fe32023-11-09 10:50:43 -08008 cat >expect <<-EOF &&
René Scharfe1f452d62024-07-30 16:07:00 +02009 # BUG: check outside of test at t/helper/test-example-tap.c:75
Phillip Woode137fe32023-11-09 10:50:43 -080010 ok 1 - passing test
11 ok 2 - passing test and assertion return 1
René Scharfe1f452d62024-07-30 16:07:00 +020012 # check "1 == 2" failed at t/helper/test-example-tap.c:79
Phillip Woode137fe32023-11-09 10:50:43 -080013 # 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
René Scharfe4575ba62024-07-30 16:05:58 +020019 # todo check 'check(x)' succeeded at t/helper/test-example-tap.c:26
Phillip Woode137fe32023-11-09 10:50:43 -080020 not ok 7 - failing TEST_TODO()
21 ok 8 - failing TEST_TODO() returns 0
Josh Steadmon80bb2272024-05-06 12:57:31 -070022 # check "0" failed at t/helper/test-example-tap.c:31
Phillip Woode137fe32023-11-09 10:50:43 -080023 # skipping test - missing prerequisite
René Scharfe4575ba62024-07-30 16:05:58 +020024 # skipping check '1' at t/helper/test-example-tap.c:33
Phillip Woode137fe32023-11-09 10:50:43 -080025 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
Josh Steadmon80bb2272024-05-06 12:57:31 -070030 # check "0" failed at t/helper/test-example-tap.c:49
Phillip Woode137fe32023-11-09 10:50:43 -080031 not ok 13 - TEST_TODO() after failing check
32 ok 14 - TEST_TODO() after failing check returns 0
Josh Steadmon80bb2272024-05-06 12:57:31 -070033 # check "0" failed at t/helper/test-example-tap.c:57
Phillip Woode137fe32023-11-09 10:50:43 -080034 not ok 15 - failing check after TEST_TODO()
35 ok 16 - failing check after TEST_TODO() returns 0
Josh Steadmon80bb2272024-05-06 12:57:31 -070036 # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:62
Phillip Woode137fe32023-11-09 10:50:43 -080037 # left: "\011hello\\\\"
38 # right: "there\"\012"
Josh Steadmon80bb2272024-05-06 12:57:31 -070039 # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:63
Phillip Woode137fe32023-11-09 10:50:43 -080040 # left: "NULL"
41 # right: NULL
René Scharfe4575ba62024-07-30 16:05:58 +020042 # check "'a' == '\n'" failed at t/helper/test-example-tap.c:64
43 # left: 'a'
44 # right: '\012'
45 # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:65
46 # left: '\\\\'
47 # right: '\\''
Phillip Woode137fe32023-11-09 10:50:43 -080048 not ok 17 - messages from failing string and char comparison
René Scharfe1f452d62024-07-30 16:07:00 +020049 # BUG: test has no checks at t/helper/test-example-tap.c:94
Phillip Woode137fe32023-11-09 10:50:43 -080050 not ok 18 - test with no checks
51 ok 19 - test with no checks returns 0
René Scharfe96c63042024-07-30 16:08:19 +020052 ok 20 - if_test passing test
53 # check "1 == 2" failed at t/helper/test-example-tap.c:100
54 # left: 1
55 # right: 2
56 not ok 21 - if_test failing test
57 not ok 22 - if_test passing TEST_TODO() # TODO
58 # todo check 'check(1)' succeeded at t/helper/test-example-tap.c:104
59 not ok 23 - if_test failing TEST_TODO()
60 # check "0" failed at t/helper/test-example-tap.c:106
61 # skipping test - missing prerequisite
62 # skipping check '1' at t/helper/test-example-tap.c:108
63 ok 24 - if_test test_skip() # SKIP
64 # skipping test - missing prerequisite
65 ok 25 - if_test test_skip() inside TEST_TODO() # SKIP
66 # check "0" failed at t/helper/test-example-tap.c:113
67 not ok 26 - if_test TEST_TODO() after failing check
68 # check "0" failed at t/helper/test-example-tap.c:119
69 not ok 27 - if_test failing check after TEST_TODO()
70 # check "!strcmp("\thello\\\\", "there\"\n")" failed at t/helper/test-example-tap.c:122
71 # left: "\011hello\\\\"
72 # right: "there\"\012"
73 # check "!strcmp("NULL", NULL)" failed at t/helper/test-example-tap.c:123
74 # left: "NULL"
75 # right: NULL
76 # check "'a' == '\n'" failed at t/helper/test-example-tap.c:124
77 # left: 'a'
78 # right: '\012'
79 # check "'\\\\' == '\\''" failed at t/helper/test-example-tap.c:125
80 # left: '\\\\'
81 # right: '\\''
82 not ok 28 - if_test messages from failing string and char comparison
83 # BUG: test has no checks at t/helper/test-example-tap.c:127
84 not ok 29 - if_test test with no checks
85 1..29
Phillip Woode137fe32023-11-09 10:50:43 -080086 EOF
87
Josh Steadmon80bb2272024-05-06 12:57:31 -070088 ! test-tool example-tap >actual &&
Phillip Woode137fe32023-11-09 10:50:43 -080089 test_cmp expect actual
René Scharfe4575ba62024-07-30 16:05:58 +020090EOT
Phillip Woode137fe32023-11-09 10:50:43 -080091
92test_done