trueno/src/tests/utils.jai
2026-03-20 22:06:04 +02:00

31 lines
769 B
Plaintext

Test_Suite :: struct {
name : string;
passed : int;
failed : int;
}
begin_suite :: (name: string) -> Test_Suite {
print("\n== % ==\n", name);
return .{ name = name };
}
check :: (suite: *Test_Suite, name: string, condition: bool) {
if condition {
suite.passed += 1;
print(" [PASS] %\n", name);
} else {
suite.failed += 1;
print(" [FAIL] %\n", name);
}
}
end_suite :: (suite: Test_Suite) {
total := suite.passed + suite.failed;
if suite.failed == 0 {
print(" => All % tests passed.\n", total);
} else {
print(" => %/% passed, % FAILED.\n", suite.passed, total, suite.failed);
assert(false, "Test suite '%' had % failure(s).", suite.name, suite.failed);
}
}