From 6af63e218750d58ad1a87643890cb49c2352c666 Mon Sep 17 00:00:00 2001 From: Mosder Date: Tue, 18 Aug 2026 18:42:53 +0200 Subject: feat: added return value to run_tests to determine whether all tests passed --- include/moslib/tester.h | 7 +++++-- src/tester.c | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/moslib/tester.h b/include/moslib/tester.h index 1d50473..9423684 100644 --- a/include/moslib/tester.h +++ b/include/moslib/tester.h @@ -67,7 +67,7 @@ // // Run tests: // -// run_tests(tester); +// int all_passed = run_tests(tester); // // ---------------------------------------------------------------------------------------------------- // @@ -174,7 +174,10 @@ extern void mos_unsuppress_outputs(void); // Arguments: // tester // tester with tests to run -extern void mos_run_tests(MosTester *tester); +// +// Returns: +// 1 if all tests passed, 0 if not +extern int mos_run_tests(MosTester *tester); // Free the tester // diff --git a/src/tester.c b/src/tester.c index eca4c1a..84c1ca6 100644 --- a/src/tester.c +++ b/src/tester.c @@ -166,9 +166,9 @@ void mos_add_test_fn(MosTestGroup *group, MosTestFn test, const char *name) { group->tests[group->n_tests++] = (TestName){.test = test, .name = name}; } -void mos_run_tests(MosTester *tester) { +int mos_run_tests(MosTester *tester) { if (!tester) - return; + return 0; size_t total_passed = 0; size_t total_failed = 0; @@ -220,6 +220,8 @@ void mos_run_tests(MosTester *tester) { sprintf(buf, "%zu FAILED", total_failed); print_center(buf, RED, ' '); print_center("END", WHITE, '='); + + return total_failed == 0; } void mos_free_tester(MosTester *tester) { -- cgit v1.2.3