Update compiletest to use "directive" terminology consistently
This commit is contained in:
parent
cf5788d30d
commit
475f447f12
7 changed files with 23 additions and 24 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/// This was originally generated by collecting directives from ui tests and then extracting their
|
||||
/// directive names. This is **not** an exhaustive list of all possible directives. Instead, this is
|
||||
/// a best-effort approximation for diagnostics. Add new headers to this list when needed.
|
||||
/// a best-effort approximation for diagnostics. Add new directives to this list when needed.
|
||||
const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
||||
// tidy-alphabetical-start
|
||||
"add-core-stubs",
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ use tracing::*;
|
|||
|
||||
use crate::common::{Config, Debugger, FailMode, Mode, PassMode};
|
||||
use crate::debuggers::{extract_cdb_version, extract_gdb_version};
|
||||
use crate::errors::ErrorKind;
|
||||
use crate::executor::{CollectedTestDesc, ShouldPanic};
|
||||
use crate::directives::auxiliary::{AuxProps, parse_and_update_aux};
|
||||
use crate::directives::needs::CachedNeedsConditions;
|
||||
use crate::errors::ErrorKind;
|
||||
use crate::executor::{CollectedTestDesc, ShouldPanic};
|
||||
use crate::help;
|
||||
use crate::util::static_regex;
|
||||
|
||||
|
|
@ -138,12 +138,12 @@ pub struct TestProps {
|
|||
pub incremental_dir: Option<Utf8PathBuf>,
|
||||
// If `true`, this test will use incremental compilation.
|
||||
//
|
||||
// This can be set manually with the `incremental` header, or implicitly
|
||||
// This can be set manually with the `incremental` directive, or implicitly
|
||||
// by being a part of an incremental mode test. Using the `incremental`
|
||||
// header should be avoided if possible; using an incremental mode test is
|
||||
// directive should be avoided if possible; using an incremental mode test is
|
||||
// preferred. Incremental mode tests support multiple passes, which can
|
||||
// verify that the incremental cache can be loaded properly after being
|
||||
// created. Just setting the header will only verify the behavior with
|
||||
// created. Just setting the directive will only verify the behavior with
|
||||
// creating an incremental cache, but doesn't check that it is created
|
||||
// correctly.
|
||||
//
|
||||
|
|
@ -642,11 +642,11 @@ impl TestProps {
|
|||
let check_ui = |mode: &str| {
|
||||
// Mode::Crashes may need build-fail in order to trigger llvm errors or stack overflows
|
||||
if config.mode != Mode::Ui && config.mode != Mode::Crashes {
|
||||
panic!("`{}-fail` header is only supported in UI tests", mode);
|
||||
panic!("`{}-fail` directive is only supported in UI tests", mode);
|
||||
}
|
||||
};
|
||||
if config.mode == Mode::Ui && config.parse_name_directive(ln, "compile-fail") {
|
||||
panic!("`compile-fail` header is useless in UI tests");
|
||||
panic!("`compile-fail` directive is useless in UI tests");
|
||||
}
|
||||
let fail_mode = if config.parse_name_directive(ln, "check-fail") {
|
||||
check_ui("check");
|
||||
|
|
@ -662,7 +662,7 @@ impl TestProps {
|
|||
};
|
||||
match (self.fail_mode, fail_mode) {
|
||||
(None, Some(_)) => self.fail_mode = fail_mode,
|
||||
(Some(_), Some(_)) => panic!("multiple `*-fail` headers in a single test"),
|
||||
(Some(_), Some(_)) => panic!("multiple `*-fail` directives in a single test"),
|
||||
(_, None) => {}
|
||||
}
|
||||
}
|
||||
|
|
@ -674,10 +674,10 @@ impl TestProps {
|
|||
(Mode::Codegen, "build-pass") => (),
|
||||
(Mode::Incremental, _) => {
|
||||
if revision.is_some() && !self.revisions.iter().all(|r| r.starts_with("cfail")) {
|
||||
panic!("`{s}` header is only supported in `cfail` incremental tests")
|
||||
panic!("`{s}` directive is only supported in `cfail` incremental tests")
|
||||
}
|
||||
}
|
||||
(mode, _) => panic!("`{s}` header is not supported in `{mode}` tests"),
|
||||
(mode, _) => panic!("`{s}` directive is not supported in `{mode}` tests"),
|
||||
};
|
||||
let pass_mode = if config.parse_name_directive(ln, "check-pass") {
|
||||
check_no_run("check-pass");
|
||||
|
|
@ -693,7 +693,7 @@ impl TestProps {
|
|||
};
|
||||
match (self.pass_mode, pass_mode) {
|
||||
(None, Some(_)) => self.pass_mode = pass_mode,
|
||||
(Some(_), Some(_)) => panic!("multiple `*-pass` headers in a single test"),
|
||||
(Some(_), Some(_)) => panic!("multiple `*-pass` directives in a single test"),
|
||||
(_, None) => {}
|
||||
}
|
||||
}
|
||||
|
|
@ -1163,8 +1163,7 @@ enum NormalizeKind {
|
|||
Stderr64bit,
|
||||
}
|
||||
|
||||
/// Parses the regex and replacement values of a `//@ normalize-*` header,
|
||||
/// in the format:
|
||||
/// Parses the regex and replacement values of a `//@ normalize-*` directive, in the format:
|
||||
/// ```text
|
||||
/// "REGEX" -> "REPLACEMENT"
|
||||
/// ```
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
use std::iter;
|
||||
|
||||
use super::directives::{AUX_BIN, AUX_BUILD, AUX_CODEGEN_BACKEND, AUX_CRATE, PROC_MACRO};
|
||||
use crate::common::Config;
|
||||
use crate::header::directives::{AUX_BIN, AUX_BUILD, AUX_CODEGEN_BACKEND, AUX_CRATE, PROC_MACRO};
|
||||
|
||||
/// Properties parsed from `aux-*` test directives.
|
||||
#[derive(Clone, Debug, Default)]
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@ pub mod common;
|
|||
pub mod compute_diff;
|
||||
mod debuggers;
|
||||
pub mod diagnostics;
|
||||
pub mod directives;
|
||||
pub mod errors;
|
||||
mod executor;
|
||||
pub mod directives;
|
||||
mod json;
|
||||
mod raise_fd_limit;
|
||||
mod read2;
|
||||
|
|
@ -42,8 +42,8 @@ use crate::common::{
|
|||
CompareMode, Config, Debugger, Mode, PassMode, TestPaths, UI_EXTENSIONS, expected_output_path,
|
||||
output_base_dir, output_relative_path,
|
||||
};
|
||||
use crate::executor::{CollectedTest, ColorConfig, OutputFormat};
|
||||
use crate::directives::HeadersCache;
|
||||
use crate::executor::{CollectedTest, ColorConfig, OutputFormat};
|
||||
use crate::util::logv;
|
||||
|
||||
/// Creates the `Config` instance for this invocation of compiletest.
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ use crate::common::{
|
|||
output_base_dir, output_base_name, output_testname_unique,
|
||||
};
|
||||
use crate::compute_diff::{DiffLine, make_diff, write_diff, write_filtered_diff};
|
||||
use crate::errors::{Error, ErrorKind, load_errors};
|
||||
use crate::directives::TestProps;
|
||||
use crate::errors::{Error, ErrorKind, load_errors};
|
||||
use crate::read2::{Truncated, read2_abbreviated};
|
||||
use crate::util::{Utf8PathBufExt, add_dylib_path, logv, static_regex};
|
||||
use crate::{ColorConfig, help, json, stamp_file_path, warning};
|
||||
|
|
@ -2039,7 +2039,7 @@ impl<'test> TestCx<'test> {
|
|||
// Provide more context on failures.
|
||||
filecheck.args(&["--dump-input-context", "100"]);
|
||||
|
||||
// Add custom flags supplied by the `filecheck-flags:` test header.
|
||||
// Add custom flags supplied by the `filecheck-flags:` test directive.
|
||||
filecheck.args(&self.props.filecheck_flags);
|
||||
|
||||
// FIXME(jieyouxu): don't pass an empty Path
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ impl TestCx<'_> {
|
|||
std::fs::remove_file(pdb_file).unwrap();
|
||||
}
|
||||
|
||||
// compile test file (it should have 'compile-flags:-g' in the header)
|
||||
// compile test file (it should have 'compile-flags:-g' in the directive)
|
||||
let should_run = self.run_if_enabled();
|
||||
let compile_result = self.compile_test(should_run, Emit::None);
|
||||
if !compile_result.status.success() {
|
||||
|
|
@ -135,7 +135,7 @@ impl TestCx<'_> {
|
|||
.unwrap_or_else(|e| self.fatal(&e));
|
||||
let mut cmds = dbg_cmds.commands.join("\n");
|
||||
|
||||
// compile test file (it should have 'compile-flags:-g' in the header)
|
||||
// compile test file (it should have 'compile-flags:-g' in the directive)
|
||||
let should_run = self.run_if_enabled();
|
||||
let compiler_run_result = self.compile_test(should_run, Emit::None);
|
||||
if !compiler_run_result.status.success() {
|
||||
|
|
@ -359,7 +359,7 @@ impl TestCx<'_> {
|
|||
}
|
||||
|
||||
fn run_debuginfo_lldb_test_no_opt(&self) {
|
||||
// compile test file (it should have 'compile-flags:-g' in the header)
|
||||
// compile test file (it should have 'compile-flags:-g' in the directive)
|
||||
let should_run = self.run_if_enabled();
|
||||
let compile_result = self.compile_test(should_run, Emit::None);
|
||||
if !compile_result.status.success() {
|
||||
|
|
|
|||
|
|
@ -52,10 +52,10 @@ impl TestCx<'_> {
|
|||
// don't test rustfix with nll right now
|
||||
} else if self.config.rustfix_coverage {
|
||||
// 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` directives.
|
||||
//
|
||||
// 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`.
|
||||
// `compile-flags: --error-format=xxxx` directive with a value other than `json`.
|
||||
let suggestions = get_suggestions_from_json(
|
||||
&rustfix_input,
|
||||
&HashSet::new(),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue