diff options
author | Josh Steadmon <steadmon@google.com> | 2024-05-06 12:57:31 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-05-06 14:06:34 -0700 |
commit | 80bb227e41f462bb04f07991cb2bb531453820a5 (patch) | |
tree | 3f66354a98b56095f744c34131ebbf8537656fdb /t/unit-tests/t-basic.c | |
parent | 483b759b47cc9d1624ae92bfa56d278a0b673bbd (diff) |
t0080: turn t-basic unit test into a helper
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>
Diffstat (limited to 't/unit-tests/t-basic.c')
-rw-r--r-- | t/unit-tests/t-basic.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/t/unit-tests/t-basic.c b/t/unit-tests/t-basic.c deleted file mode 100644 index fda1ae59a6..0000000000 --- a/t/unit-tests/t-basic.c +++ /dev/null @@ -1,95 +0,0 @@ -#include "test-lib.h" - -/* - * The purpose of this "unit test" is to verify a few invariants of the unit - * test framework itself, as well as to provide examples of output from actually - * failing tests. As such, it is intended that this test fails, and thus it - * should not be run as part of `make unit-tests`. Instead, we verify it behaves - * as expected in the integration test t0080-unit-test-output.sh - */ - -/* Used to store the return value of check_int(). */ -static int check_res; - -/* Used to store the return value of TEST(). */ -static int test_res; - -static void t_res(int expect) -{ - check_int(check_res, ==, expect); - check_int(test_res, ==, expect); -} - -static void t_todo(int x) -{ - check_res = TEST_TODO(check(x)); -} - -static void t_skip(void) -{ - check(0); - test_skip("missing prerequisite"); - check(1); -} - -static int do_skip(void) -{ - test_skip("missing prerequisite"); - return 1; -} - -static void t_skip_todo(void) -{ - check_res = TEST_TODO(do_skip()); -} - -static void t_todo_after_fail(void) -{ - check(0); - TEST_TODO(check(0)); -} - -static void t_fail_after_todo(void) -{ - check(1); - TEST_TODO(check(0)); - check(0); -} - -static void t_messages(void) -{ - check_str("\thello\\", "there\"\n"); - check_str("NULL", NULL); - check_char('a', ==, '\n'); - check_char('\\', ==, '\''); -} - -static void t_empty(void) -{ - ; /* empty */ -} - -int cmd_main(int argc, const char **argv) -{ - test_res = TEST(check_res = check_int(1, ==, 1), "passing test"); - TEST(t_res(1), "passing test and assertion return 1"); - test_res = TEST(check_res = check_int(1, ==, 2), "failing test"); - TEST(t_res(0), "failing test and assertion return 0"); - test_res = TEST(t_todo(0), "passing TEST_TODO()"); - TEST(t_res(1), "passing TEST_TODO() returns 1"); - test_res = TEST(t_todo(1), "failing TEST_TODO()"); - TEST(t_res(0), "failing TEST_TODO() returns 0"); - test_res = TEST(t_skip(), "test_skip()"); - TEST(check_int(test_res, ==, 1), "skipped test returns 1"); - test_res = TEST(t_skip_todo(), "test_skip() inside TEST_TODO()"); - TEST(t_res(1), "test_skip() inside TEST_TODO() returns 1"); - test_res = TEST(t_todo_after_fail(), "TEST_TODO() after failing check"); - TEST(check_int(test_res, ==, 0), "TEST_TODO() after failing check returns 0"); - test_res = TEST(t_fail_after_todo(), "failing check after TEST_TODO()"); - TEST(check_int(test_res, ==, 0), "failing check after TEST_TODO() returns 0"); - TEST(t_messages(), "messages from failing string and char comparison"); - test_res = TEST(t_empty(), "test with no checks"); - TEST(check_int(test_res, ==, 0), "test with no checks returns 0"); - - return test_done(); -} |