[foozzie] Use separate crash state for simulated crashes
The error simulation works and crashes during the smoke test are detected. But now this masks real crashes (https://crbug.com/1153200), therefore this change subsumes smoke-test crashes with --simulate-errors under a separate crash state. Now Clusterfuzz will detect the case "unexpected crash" as fixed, but create a new bug for "simulated crash". Which we will keep open forever. No-Try: true Bug: chromium:1152412 Change-Id: I511af167d33430d9b89692151cb8abaf3a90c715 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2563270 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Auto-Submit: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#71452}
This commit is contained in:
parent
6039cda616
commit
4f2f106206
@ -243,6 +243,10 @@ class ExecutionConfig(object):
|
||||
def flags(self):
|
||||
return self.command.flags
|
||||
|
||||
@property
|
||||
def is_error_simulation(self):
|
||||
return '--simulate-errors' in self.flags
|
||||
|
||||
|
||||
def parse_args():
|
||||
first_config_arguments = ExecutionArgumentsConfig('first')
|
||||
@ -396,11 +400,13 @@ def run_comparisons(suppress, execution_configs, test_case, timeout,
|
||||
baseline_config = execution_configs[0]
|
||||
baseline_output = run_test_case(baseline_config)
|
||||
has_crashed = baseline_output.HasCrashed()
|
||||
simulated = baseline_config.is_error_simulation
|
||||
|
||||
# Iterate over the remaining configurations, run and compare.
|
||||
for comparison_config in execution_configs[1:]:
|
||||
comparison_output = run_test_case(comparison_config)
|
||||
has_crashed = has_crashed or comparison_output.HasCrashed()
|
||||
simulated = simulated or comparison_config.is_error_simulation
|
||||
difference, source = suppress.diff(baseline_output, comparison_output)
|
||||
|
||||
if difference:
|
||||
@ -421,10 +427,11 @@ def run_comparisons(suppress, execution_configs, test_case, timeout,
|
||||
# detected. This is only for the statistics during experiments.
|
||||
raise PassException('# V8 correctness - C-R-A-S-H')
|
||||
else:
|
||||
# Subsume unexpected crashes (e.g. during sanity checks) with one failure
|
||||
# state.
|
||||
# Subsume simulated and unexpected crashes (e.g. during sanity checks)
|
||||
# with one failure state.
|
||||
crash_state = 'simulated crash' if simulated else 'unexpected crash'
|
||||
raise FailException(FAILURE_HEADER_TEMPLATE % dict(
|
||||
configs='', source_key='', suppression='unexpected crash'))
|
||||
configs='', source_key='', suppression=crash_state))
|
||||
|
||||
|
||||
def main():
|
||||
|
Loading…
Reference in New Issue
Block a user