commit d52f8c55016a46522814644b5b81dfd8f22f2970
parent 6c2ddf309364b7e7ca63387b0bdd17b1ec1f6a47
Author: Sylvia Ivory <git@sivory.net>
Date: Thu, 15 Jan 2026 19:40:51 -0800
Add WIP test runner
Diffstat:
2 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/fake-pi/root.zig b/fake-pi/root.zig
@@ -8,11 +8,11 @@ const c = @cImport({
const BASE_ADDRESS: u32 = 0x2000_0000;
var trace_count: usize = 0;
-fn trace_no_count(comptime format: []const u8, args: anytype) void {
- var stdout_buffer: [4096]u8 = undefined;
- var stdout = std.fs.File.stdout().writer(&stdout_buffer);
- const writer = &stdout.interface;
+var stdout_buffer: [4096]u8 = undefined;
+var stdout = std.fs.File.stdout().writer(&stdout_buffer);
+const writer = &stdout.interface;
+fn trace_no_count(comptime format: []const u8, args: anytype) void {
writer.print("TRACE: " ++ format, args) catch |e| {
std.log.err("trace() -> {t}", .{e});
};
@@ -22,10 +22,6 @@ fn trace_no_count(comptime format: []const u8, args: anytype) void {
}
fn trace(comptime format: []const u8, args: anytype) void {
- var stdout_buffer: [4096]u8 = undefined;
- var stdout = std.fs.File.stdout().writer(&stdout_buffer);
- const writer = &stdout.interface;
-
writer.print("TRACE:{}: ", .{trace_count}) catch |e| {
std.log.err("trace() -> {t}", .{e});
};
diff --git a/tests/runner b/tests/runner
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+# Compile tests
+zig build -Dtest="$1"
+
+# Quick Check
+echo -n "running smoke check: "
+for ref in tests/$1/*.ref; do
+ name=$(basename $ref)
+ tmp_name=$(mktemp)
+
+ ./zig-out/bin/${name%.*}.c-test > ${tmp_name}
+ cmp -s ${tmp_name} ${ref} || echo "failed test: ${name%.*}"
+done
+
+echo "success"
+
+# Final checksum
+echo -n "calculating final checksum: "
+for test in tests/$1/*.c; do
+ name=$(basename $test)
+ tmp_name=$(mktemp)
+
+ ./zig-out/bin/${name}-test
+done