also looking at this
test: make CI exercise maintained integrations
#18
16 files
+390
-139
| @@ -1,19 +1,30 @@ | ||
| 1 | 1 | const std = ; |
| 2 | const ztf = ; | |
| 2 | 3 | |
| 3 | // Placeholder tests for test_runner module | |
| 4 | // TODO: Implement comprehensive tests for TestRunner | |
| 4 | fn passingTest(_: std.mem.Allocator) !void {} | |
| 5 | 5 | |
| 6 | 6 | test "test runner initialization" { |
| 7 | // Test that TestRunner can be initialized | |
| 8 | try std.testing.expect(true); | |
| 7 | var registry = ztf.TestRegistry.init(std.testing.allocator); | |
| 8 | defer registry.deinit(); | |
| 9 | var runner = ztf.TestRunner.init(std.testing.allocator, ®istry, .{}); | |
| 10 | defer runner.deinit(); | |
| 11 | try std.testing.expectEqual(@as(usize, 0), runner.results.total); | |
| 12 | try std.testing.expectEqual(ztf.ReporterType.spec, runner.options.reporter_type); | |
| 9 | 13 | } |
| 10 | 14 | |
| 11 | test "test runner executes tests" { | |
| 12 | // Test that TestRunner can execute registered tests | |
| 13 | try std.testing.expect(true); | |
| 14 | } | |
| 15 | test "test runner executes matching tests and skips filtered tests" { | |
| 16 | const allocator = std.testing.allocator; | |
| 17 | var registry = ztf.TestRegistry.init(allocator); | |
| 18 | defer registry.deinit(); | |
| 19 | const suite = try ztf.TestSuite.init(allocator, "runner suite"); | |
| 20 | try suite.addTest(ztf.TestCase.init("selected", passingTest)); | |
| 21 | try suite.addTest(ztf.TestCase.init("ignored", passingTest)); | |
| 22 | try registry.registerSuite(suite); | |
| 15 | 23 | |
| 16 | test "test runner reports results" { | |
| 17 | // Test that TestRunner correctly reports test results | |
| 18 | try std.testing.expect(true); | |
| 24 | var runner = ztf.TestRunner.init(allocator, ®istry, .{ .filter = "selected", .use_colors = false }); | |
| 25 | defer runner.deinit(); | |
| 26 | try std.testing.expect(try runner.run()); | |
| 27 | try std.testing.expectEqual(@as(usize, 2), runner.results.total); | |
| 28 | try std.testing.expectEqual(@as(usize, 1), runner.results.passed); | |
| 29 | try std.testing.expectEqual(@as(usize, 1), runner.results.skipped); | |
| 19 | 30 | } |