sylveos

Toy Operating System
Log | Files | Refs

commit d52f8c55016a46522814644b5b81dfd8f22f2970
parent 6c2ddf309364b7e7ca63387b0bdd17b1ec1f6a47
Author: Sylvia Ivory <git@sivory.net>
Date:   Thu, 15 Jan 2026 19:40:51 -0800

Add WIP test runner

Diffstat:
Mfake-pi/root.zig | 12++++--------
Atests/runner | 25+++++++++++++++++++++++++
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