also looking at this
Add reproducible randomized test order
#29
18 files
+487
-42
| @@ -321,7 +321,10 @@ pub const UIReporter = struct { | ||
| 321 | 321 | |
| 322 | 322 | fn onRunStart(reporter: *reporter_mod.Reporter, total: usize) !void { |
| 323 | 323 | const self: *Self = @fieldParentPtr("reporter", reporter); |
| 324 | try self.server.broadcastEvent(reporter.allocator, .{ .run_start = .{ .total = total } }); | |
| 324 | try self.server.broadcastEvent(reporter.allocator, .{ .run_start = .{ | |
| 325 | .total = total, | |
| 326 | .random_seed = reporter.random_seed, | |
| 327 | } }); | |
| 325 | 328 | } |
| 326 | 329 | |
| 327 | 330 | fn onRunEnd(reporter: *reporter_mod.Reporter, results: *reporter_mod.TestResults) !void { |
| @@ -334,6 +337,7 @@ pub const UIReporter = struct { | ||
| 334 | 337 | .failed = results.failed, |
| 335 | 338 | .skipped = results.skipped, |
| 336 | 339 | .duration_ns = results.total_time_ns, |
| 340 | .random_seed = results.random_seed, | |
| 337 | 341 | } }); |
| 338 | 342 | } |
| 339 | 343 | |
| @@ -407,6 +411,7 @@ pub const MultiReporter = struct { | ||
| 407 | 411 | fn onRunStart(reporter: *reporter_mod.Reporter, total: usize) !void { |
| 408 | 412 | const self: *Self = @fieldParentPtr("reporter", reporter); |
| 409 | 413 | for (self.reporters) |rep| { |
| 414 | rep.random_seed = reporter.random_seed; | |
| 410 | 415 | try rep.onRunStart(total); |
| 411 | 416 | } |
| 412 | 417 | } |
| @@ -536,7 +541,7 @@ test "UI server streams broadcast events over SSE" { | ||
| 536 | 541 | |
| 537 | 542 | try server.broadcastEvent(std.testing.allocator, .{ .run_start = .{ .total = 2 } }); |
| 538 | 543 | try expectLine(&stream_reader.interface, "event: run_start"); |
| 539 | try expectLine(&stream_reader.interface, "data: {\"protocol_version\":1,\"type\":\"run_start\",\"data\":{\"total\":2}}"); | |
| 544 | try expectLine(&stream_reader.interface, "data: {\"protocol_version\":1,\"type\":\"run_start\",\"data\":{\"total\":2,\"random_seed\":null}}"); | |
| 540 | 545 | try expectLine(&stream_reader.interface, ""); |
| 541 | 546 | } |
| 542 | 547 | |