summaryrefslogtreecommitdiff
path: root/t/unit-tests/t-basic.c
diff options
context:
space:
mode:
authorJosh Steadmon <steadmon@google.com>2024-05-06 12:57:31 -0700
committerJunio C Hamano <gitster@pobox.com>2024-05-06 14:06:34 -0700
commit80bb227e41f462bb04f07991cb2bb531453820a5 (patch)
tree3f66354a98b56095f744c34131ebbf8537656fdb /t/unit-tests/t-basic.c
parent483b759b47cc9d1624ae92bfa56d278a0b673bbd (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.c95
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();
-}