Forbid //@ compile-flags: -Cincremental= in tests
Tests should not try to manually enable incremental compilation with `-Cincremental`, because that typically results in stray directories being created in the repository root. Instead, use the `//@ incremental` directive, which instructs compiletest to handle the details of passing `-Cincremental` with a fresh directory.
This commit is contained in:
parent
3369e82c6b
commit
59c4dfe59d
2 changed files with 26 additions and 1 deletions
|
|
@ -415,10 +415,18 @@ impl TestProps {
|
|||
config.parse_name_value_directive(ln, COMPILE_FLAGS, testfile)
|
||||
{
|
||||
let flags = split_flags(&flags);
|
||||
for flag in &flags {
|
||||
for (i, flag) in flags.iter().enumerate() {
|
||||
if flag == "--edition" || flag.starts_with("--edition=") {
|
||||
panic!("you must use `//@ edition` to configure the edition");
|
||||
}
|
||||
if (flag == "-C"
|
||||
&& flags.get(i + 1).is_some_and(|v| v.starts_with("incremental=")))
|
||||
|| flag.starts_with("-Cincremental=")
|
||||
{
|
||||
panic!(
|
||||
"you must use `//@ incremental` to enable incremental compilation"
|
||||
);
|
||||
}
|
||||
}
|
||||
self.compile_flags.extend(flags);
|
||||
}
|
||||
|
|
|
|||
17
tests/ui/compiletest-self-test/compile-flags-incremental.rs
Normal file
17
tests/ui/compiletest-self-test/compile-flags-incremental.rs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//@ revisions: good bad bad-space
|
||||
//@ check-pass
|
||||
|
||||
//@[bad] compile-flags: -Cincremental=true
|
||||
//@[bad] should-fail
|
||||
|
||||
//@[bad-space] compile-flags: -C incremental=dir
|
||||
//@[bad-space] should-fail
|
||||
|
||||
fn main() {}
|
||||
|
||||
// Tests should not try to manually enable incremental compilation with
|
||||
// `-Cincremental`, because that typically results in stray directories being
|
||||
// created in the repository root.
|
||||
//
|
||||
// Instead, use the `//@ incremental` directive, which instructs compiletest
|
||||
// to handle the details of passing `-Cincremental` with a fresh directory.
|
||||
Loading…
Add table
Add a link
Reference in a new issue