| ... | @@ -1140,6 +1140,12 @@ pub fn rerunInFuzzMode( | ... | @@ -1140,6 +1140,12 @@ pub fn rerunInFuzzMode( |
| 1140 | .output_file, .output_directory => unreachable, | 1140 | .output_file, .output_directory => unreachable, |
| 1141 | } | 1141 | } |
| 1142 | } | 1142 | } |
| | 1143 | |
| | 1144 | if (run.step.result_failed_command) |cmd| { |
| | 1145 | fuzz.gpa.free(cmd); |
| | 1146 | run.step.result_failed_command = null; |
| | 1147 | } |
| | 1148 | |
| 1143 | const has_side_effects = false; | 1149 | const has_side_effects = false; |
| 1144 | const rand_int = std.crypto.random.int(u64); | 1150 | const rand_int = std.crypto.random.int(u64); |
| 1145 | const tmp_dir_path = "tmp" ++ fs.path.sep_str ++ std.fmt.hex(rand_int); | 1151 | const tmp_dir_path = "tmp" ++ fs.path.sep_str ++ std.fmt.hex(rand_int); |
| ... | @@ -1150,7 +1156,7 @@ pub fn rerunInFuzzMode( | ... | @@ -1150,7 +1156,7 @@ pub fn rerunInFuzzMode( |
| 1150 | .web_server = null, // only needed for time reports | 1156 | .web_server = null, // only needed for time reports |
| 1151 | .ttyconf = fuzz.ttyconf, | 1157 | .ttyconf = fuzz.ttyconf, |
| 1152 | .unit_test_timeout_ns = null, // don't time out fuzz tests for now | 1158 | .unit_test_timeout_ns = null, // don't time out fuzz tests for now |
| 1153 | .gpa = undefined, // not used by `runCommand` | 1159 | .gpa = fuzz.gpa, |
| 1154 | }, .{ | 1160 | }, .{ |
| 1155 | .unit_test_index = unit_test_index, | 1161 | .unit_test_index = unit_test_index, |
| 1156 | .fuzz = fuzz, | 1162 | .fuzz = fuzz, |
| ... | @@ -1870,7 +1876,10 @@ fn pollZigTest( | ... | @@ -1870,7 +1876,10 @@ fn pollZigTest( |
| 1870 | // test. For instance, if the test runner leaves this much time between us requesting a test to | 1876 | // test. For instance, if the test runner leaves this much time between us requesting a test to |
| 1871 | // start and it acknowledging the test starting, we terminate the child and raise an error. This | 1877 | // start and it acknowledging the test starting, we terminate the child and raise an error. This |
| 1872 | // *should* never happen, but could in theory be caused by some very unlucky IB in a test. | 1878 | // *should* never happen, but could in theory be caused by some very unlucky IB in a test. |
| 1873 | const response_timeout_ns = @max(options.unit_test_timeout_ns orelse 0, 60 * std.time.ns_per_s); | 1879 | const response_timeout_ns: ?u64 = ns: { |
| | 1880 | if (fuzz_context != null) break :ns null; // don't timeout fuzz tests |
| | 1881 | break :ns @max(options.unit_test_timeout_ns orelse 0, 60 * std.time.ns_per_s); |
| | 1882 | }; |
| 1874 | | 1883 | |
| 1875 | const stdout = poller.reader(.stdout); | 1884 | const stdout = poller.reader(.stdout); |
| 1876 | const stderr = poller.reader(.stderr); | 1885 | const stderr = poller.reader(.stderr); |