aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Kramkowski <tk@the-tk.com>2021-09-21 21:13:40 +0100
committerTomasz Kramkowski <tk@the-tk.com>2021-09-21 21:13:40 +0100
commit5a54c2cf51e207872dcf2a05fe19a5fba85278f7 (patch)
tree5322a38bc33934cd3467031da4ddfa94a673742b
parent69c8b1fe3f9c065b0e2f06bf62bda70cc4a5eba7 (diff)
downloadpack-5a54c2cf51e207872dcf2a05fe19a5fba85278f7.tar.gz
pack-5a54c2cf51e207872dcf2a05fe19a5fba85278f7.tar.xz
pack-5a54c2cf51e207872dcf2a05fe19a5fba85278f7.zip
test.c: Output TAP formatted tests
-rw-r--r--test.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/test.c b/test.c
index 0a30e33..0d92ff7 100644
--- a/test.c
+++ b/test.c
@@ -189,21 +189,26 @@ TEST(unpack_struct_simple, "unpack_struct simple")
int main(void)
{
extern struct test __start_tests, __stop_tests;
+ struct test *tests = &__start_tests;
+ ptrdiff_t length = &__stop_tests - &__start_tests;
int ret = EXIT_SUCCESS;
+ assert(length >= 0);
+
pack_trace = PACK_TRACE_OFF;
- for (struct test *t = &__start_tests; t < &__stop_tests; t++) {
- if (t->func()) {
- printf(" OK %s\n", t->desc);
+ printf("1..%tu\n", length);
+ for (ptrdiff_t i = 0; i < length; i++) {
+ if (tests[i].func()) {
+ printf("ok %tu - %s\n", i + 1, tests[i].desc);
continue;
}
pack_trace = PACK_TRACE_ALL;
- fprintf(stderr, ">>> Test failure trace for '%s'\n", t->desc);
- t->func();
+ fprintf(stderr, ">>> Test failure trace for '%s'\n", tests[i].desc);
+ tests[i].func();
fprintf(stderr, "<<<\n");
pack_trace = PACK_TRACE_OFF;
- printf("FAIL %s\n", t->desc);
+ printf("not ok - %tu %s\n", i + 1, tests[i].desc);
ret = EXIT_FAILURE;
}