ci: test that we fail CI if we don't find clippy panicking
This commit is contained in:
parent
fc13bf8be2
commit
01b9f9d9da
1
.github/workflows/clippy_bors.yml
vendored
1
.github/workflows/clippy_bors.yml
vendored
@ -217,6 +217,7 @@ jobs:
|
||||
- 'rust-itertools/itertools'
|
||||
- 'rust-lang-nursery/failure'
|
||||
- 'rust-lang/log'
|
||||
- 'matthiaskrgr/clippy_ci_panic_test'
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
@ -69,6 +69,26 @@ fn integration_test() {
|
||||
// debug:
|
||||
eprintln!("{stderr}");
|
||||
|
||||
// this is an internal test to make sure we would correctly panic on a delay_span_bug
|
||||
if repo_name == "matthiaskrgr/clippy_ci_panic_test" {
|
||||
// we need to kind of switch around our logic here:
|
||||
// if we find a panic, everything is fine, if we don't panic, SOMETHING is broken about our testing
|
||||
|
||||
// the repo basically just contains a delay_span_bug that forces rustc/clippy to panic:
|
||||
/*
|
||||
#![feature(rustc_attrs)]
|
||||
#[rustc_error(delay_span_bug_from_inside_query)]
|
||||
fn main() {}
|
||||
*/
|
||||
|
||||
if stderr.find("error: internal compiler error").is_some() {
|
||||
eprintln!("we saw that we intentionally panicked, yay");
|
||||
return;
|
||||
}
|
||||
|
||||
panic!("panic caused by delay_span_bug was NOT detected! Something is broken!");
|
||||
}
|
||||
|
||||
if let Some(backtrace_start) = stderr.find("error: internal compiler error") {
|
||||
static BACKTRACE_END_MSG: &str = "end of query stack";
|
||||
let backtrace_end = stderr[backtrace_start..]
|
||||
|
Loading…
Reference in New Issue
Block a user