rustfix coverage: Skip UI tests with non-json error-format
When using the `rustfix-coverage` flag, some tests currently fail because they define a different error-format than `json`. The current implementation crashes when encountering those tests. Since we don't care about non-json test output when collecting the coverage data, we handle those tests by returning an empty `Vec` instead.
This commit is contained in:
parent
f694222887
commit
da99f46711
@ -2820,12 +2820,15 @@ impl<'test> TestCx<'test> {
|
|||||||
// don't test rustfix with nll right now
|
// don't test rustfix with nll right now
|
||||||
} else if self.config.rustfix_coverage {
|
} else if self.config.rustfix_coverage {
|
||||||
// Find out which tests have `MachineApplicable` suggestions but are missing
|
// Find out which tests have `MachineApplicable` suggestions but are missing
|
||||||
// `run-rustfix` or `run-rustfix-only-machine-applicable` headers
|
// `run-rustfix` or `run-rustfix-only-machine-applicable` headers.
|
||||||
|
//
|
||||||
|
// This will return an empty `Vec` in case the executed test file has a
|
||||||
|
// `compile-flags: --error-format=xxxx` header with a value other than `json`.
|
||||||
let suggestions = get_suggestions_from_json(
|
let suggestions = get_suggestions_from_json(
|
||||||
&proc_res.stderr,
|
&proc_res.stderr,
|
||||||
&HashSet::new(),
|
&HashSet::new(),
|
||||||
Filter::MachineApplicableOnly
|
Filter::MachineApplicableOnly
|
||||||
).unwrap();
|
).unwrap_or_default();
|
||||||
if suggestions.len() > 0
|
if suggestions.len() > 0
|
||||||
&& !self.props.run_rustfix
|
&& !self.props.run_rustfix
|
||||||
&& !self.props.rustfix_only_machine_applicable {
|
&& !self.props.rustfix_only_machine_applicable {
|
||||||
|
Loading…
Reference in New Issue
Block a user