aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMosder <xmosder12@gmail.com>2026-08-18 18:42:53 +0200
committerMosder <xmosder12@gmail.com>2026-08-18 18:42:53 +0200
commit6af63e218750d58ad1a87643890cb49c2352c666 (patch)
tree4ea15d8cff27b5831e7d6b574b2f5180f99e1067
parent1cb408c0e4f42c4b11e8e2f80374c26bb905ef22 (diff)
feat: added return value to run_tests to determine whether all tests passed
-rw-r--r--include/moslib/tester.h7
-rw-r--r--src/tester.c6
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) {