mirror of
https://github.com/git/git
synced 2024-09-13 21:34:42 +00:00
80bb227e41
While t/unit-tests/t-basic.c uses the unit-test framework added in
e137fe3b29
(unit tests: add TAP unit test framework, 2023-11-09), it is
not a true unit test in that it intentionally fails in order to exercise
various codepaths in the unit-test framework. Thus, we intentionally
exclude it when running unit tests through the various t/Makefile
targets. Instead, it is executed by t0080-unit-test-output.sh, which
verifies its output follows the TAP format expected for the various
pass, skip, or fail cases.
As such, it makes more sense for t-basic to be a helper item for
t0080-unit-test-output.sh, so let's move it to
t/helper/test-example-tap.c and adjust Makefiles as necessary.
Signed-off-by: Josh Steadmon <steadmon@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
59 lines
2 KiB
Bash
Executable file
59 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='Test the output of the unit test framework'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'TAP output from unit tests' '
|
|
cat >expect <<-EOF &&
|
|
ok 1 - passing test
|
|
ok 2 - passing test and assertion return 1
|
|
# check "1 == 2" failed at t/helper/test-example-tap.c:77
|
|
# 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 ${SQ}check(x)${SQ} 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 ${SQ}1${SQ} 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 "${SQ}a${SQ} == ${SQ}\n${SQ}" failed at t/helper/test-example-tap.c:64
|
|
# left: ${SQ}a${SQ}
|
|
# right: ${SQ}\012${SQ}
|
|
# check "${SQ}\\\\${SQ} == ${SQ}\\${SQ}${SQ}" failed at t/helper/test-example-tap.c:65
|
|
# left: ${SQ}\\\\${SQ}
|
|
# right: ${SQ}\\${SQ}${SQ}
|
|
not ok 17 - messages from failing string and char comparison
|
|
# BUG: test has no checks at t/helper/test-example-tap.c:92
|
|
not ok 18 - test with no checks
|
|
ok 19 - test with no checks returns 0
|
|
1..19
|
|
EOF
|
|
|
|
! test-tool example-tap >actual &&
|
|
test_cmp expect actual
|
|
'
|
|
|
|
test_done
|