aboutsummaryrefslogtreecommitdiffstats
path: root/t/t0080-unit-test-output.sh
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2024-07-30 16:07:00 +0200
committerJunio C Hamano <gitster@pobox.com>2024-07-30 13:32:43 -0700
commit1f452d6c6835e41d25e163616d8ee75aa91b5b17 (patch)
treec72df49319cbd8de494a8abe0c697a12837ecc0f /t/t0080-unit-test-output.sh
parentt0080: use here-doc test body (diff)
downloadgit-1f452d6c6835e41d25e163616d8ee75aa91b5b17.tar.gz
git-1f452d6c6835e41d25e163616d8ee75aa91b5b17.zip
unit-tests: show location of checks outside of tests
Checks outside of tests are caught at runtime and reported like this: Assertion failed: (ctx.running), function test_assert, file test-lib.c, line 267. The assert() call aborts the unit test and doesn't reveal the location or even the type of the offending check, as test_assert() is called by all of them. Handle it like the opposite case, a test without any checks: Don't abort, but report the location of the actual check, along with a message explaining the situation. The output for example above becomes: # BUG: check outside of test at t/helper/test-example-tap.c:75 ... and the unit test program continues and indicates the error in its exit code at the end. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0080-unit-test-output.sh')
-rwxr-xr-xt/t0080-unit-test-output.sh5
1 files changed, 3 insertions, 2 deletions
diff --git a/t/t0080-unit-test-output.sh b/t/t0080-unit-test-output.sh
index 9ec47b7360..fe221f3bdb 100755
--- a/t/t0080-unit-test-output.sh
+++ b/t/t0080-unit-test-output.sh
@@ -7,9 +7,10 @@ TEST_PASSES_SANITIZE_LEAK=true
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:77
+ # check "1 == 2" failed at t/helper/test-example-tap.c:79
# left: 1
# right: 2
not ok 3 - failing test
@@ -46,7 +47,7 @@ test_expect_success 'TAP output from unit tests' - <<\EOT
# left: '\\\\'
# right: '\\''
not ok 17 - messages from failing string and char comparison
- # BUG: test has no checks at t/helper/test-example-tap.c:92
+ # 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
1..19