| ... | @@ -1241,20 +1241,26 @@ fn spawnChildAndCollect( | ... | @@ -1241,20 +1241,26 @@ fn spawnChildAndCollect( |
| 1241 | child.stdin_behavior = .Pipe; | 1241 | child.stdin_behavior = .Pipe; |
| 1242 | } | 1242 | } |
| 1243 | | 1243 | |
| 1244 | if (run.stdio != .zig_test and !run.disable_zig_progress) { | 1244 | const inherit = child.stdout_behavior == .Inherit or child.stderr_behavior == .Inherit; |
| | 1245 | |
| | 1246 | if (run.stdio != .zig_test and !run.disable_zig_progress and !inherit) { |
| 1245 | child.progress_node = prog_node; | 1247 | child.progress_node = prog_node; |
| 1246 | } | 1248 | } |
| 1247 | | 1249 | |
| 1248 | try child.spawn(); | 1250 | const term, const result, const elapsed_ns = t: { |
| 1249 | var timer = try std.time.Timer.start(); | 1251 | if (inherit) std.debug.lockStdErr(); |
| | 1252 | defer if (inherit) std.debug.unlockStdErr(); |
| 1250 | | 1253 | |
| 1251 | const result = if (run.stdio == .zig_test) | 1254 | try child.spawn(); |
| 1252 | evalZigTest(run, &child, prog_node) | 1255 | var timer = try std.time.Timer.start(); |
| 1253 | else | | |
| 1254 | evalGeneric(run, &child); | | |
| 1255 | | 1256 | |
| 1256 | const term = try child.wait(); | 1257 | const result = if (run.stdio == .zig_test) |
| 1257 | const elapsed_ns = timer.read(); | 1258 | evalZigTest(run, &child, prog_node) |
| | 1259 | else |
| | 1260 | evalGeneric(run, &child); |
| | 1261 | |
| | 1262 | break :t .{ try child.wait(), result, timer.read() }; |
| | 1263 | }; |
| 1258 | | 1264 | |
| 1259 | return .{ | 1265 | return .{ |
| 1260 | .stdio = try result, | 1266 | .stdio = try result, |