pub struct Config {Show 80 fields
pub bless: bool,
pub compile_lib_path: PathBuf,
pub run_lib_path: PathBuf,
pub rustc_path: PathBuf,
pub cargo_path: Option<PathBuf>,
pub rustdoc_path: Option<PathBuf>,
pub coverage_dump_path: Option<PathBuf>,
pub python: String,
pub jsondocck_path: Option<String>,
pub jsondoclint_path: Option<String>,
pub llvm_filecheck: Option<PathBuf>,
pub llvm_bin_dir: Option<PathBuf>,
pub run_clang_based_tests_with: Option<String>,
pub src_base: PathBuf,
pub build_base: PathBuf,
pub sysroot_base: PathBuf,
pub stage_id: String,
pub mode: Mode,
pub suite: String,
pub debugger: Option<Debugger>,
pub run_ignored: bool,
pub with_rustc_debug_assertions: bool,
pub with_std_debug_assertions: bool,
pub filters: Vec<String>,
pub skip: Vec<String>,
pub filter_exact: bool,
pub force_pass_mode: Option<PassMode>,
pub run: Option<bool>,
pub logfile: Option<PathBuf>,
pub runner: Option<String>,
pub host_rustcflags: Vec<String>,
pub target_rustcflags: Vec<String>,
pub rust_randomized_layout: bool,
pub optimize_tests: bool,
pub target: String,
pub host: String,
pub cdb: Option<OsString>,
pub cdb_version: Option<[u16; 4]>,
pub gdb: Option<String>,
pub gdb_version: Option<u32>,
pub lldb_version: Option<u32>,
pub llvm_version: Option<Version>,
pub system_llvm: bool,
pub android_cross_path: PathBuf,
pub adb_path: String,
pub adb_test_dir: String,
pub adb_device_status: bool,
pub lldb_python_dir: Option<String>,
pub verbose: bool,
pub format: OutputFormat,
pub color: ColorConfig,
pub remote_test_client: Option<PathBuf>,
pub compare_mode: Option<CompareMode>,
pub rustfix_coverage: bool,
pub has_html_tidy: bool,
pub has_enzyme: bool,
pub channel: String,
pub git_hash: bool,
pub edition: Option<String>,
pub cc: String,
pub cxx: String,
pub cflags: String,
pub cxxflags: String,
pub ar: String,
pub target_linker: Option<String>,
pub host_linker: Option<String>,
pub llvm_components: String,
pub nodejs: Option<String>,
pub npm: Option<String>,
pub force_rerun: bool,
pub only_modified: bool,
pub target_cfgs: OnceLock<TargetCfgs>,
pub builtin_cfg_names: OnceLock<HashSet<String>>,
pub nocapture: bool,
pub git_repository: String,
pub nightly_branch: String,
pub git_merge_commit_email: String,
pub profiler_runtime: bool,
pub diff_command: Option<String>,
pub minicore_path: PathBuf,
}Expand description
Configuration for compiletest
Fields§
§bless: booltrue to overwrite stderr/stdout files instead of complaining about changes in output.
compile_lib_path: PathBufThe library paths required for running the compiler.
run_lib_path: PathBufThe library paths required for running compiled programs.
rustc_path: PathBufThe rustc executable.
cargo_path: Option<PathBuf>The cargo executable.
rustdoc_path: Option<PathBuf>The rustdoc executable.
coverage_dump_path: Option<PathBuf>The coverage-dump executable.
python: StringThe Python executable to use for LLDB and htmldocck.
jsondocck_path: Option<String>The jsondocck executable.
jsondoclint_path: Option<String>The jsondoclint executable.
llvm_filecheck: Option<PathBuf>The LLVM FileCheck binary path.
llvm_bin_dir: Option<PathBuf>Path to LLVM’s bin directory.
run_clang_based_tests_with: Option<String>The path to the Clang executable to run Clang-based tests with. If
None then these tests will be ignored.
src_base: PathBufThe directory containing the tests to run
build_base: PathBufThe directory where programs should be built
sysroot_base: PathBufThe directory containing the compiler sysroot
stage_id: StringThe name of the stage being built (stage1, etc)
mode: ModeThe test mode, e.g. ui or debuginfo.
suite: StringThe test suite (essentially which directory is running, but without the directory prefix such as tests)
debugger: Option<Debugger>The debugger to use in debuginfo mode. Unset otherwise.
run_ignored: boolRun ignored tests
with_rustc_debug_assertions: boolWhether rustc was built with debug assertions.
with_std_debug_assertions: boolWhether std was built with debug assertions.
filters: Vec<String>Only run tests that match these filters
skip: Vec<String>Skip tests matching these substrings. Corresponds to
test::TestOpts::skip. filter_exact does not apply to these flags.
filter_exact: boolExactly match the filter, rather than a substring
force_pass_mode: Option<PassMode>Force the pass mode of a check/build/run-pass test to this mode.
run: Option<bool>Explicitly enable or disable running.
logfile: Option<PathBuf>Write out a parseable log of tests that were run
runner: Option<String>A command line to prefix program execution with, for running under valgrind for example.
Similar to CARGO_*_RUNNER configuration.
host_rustcflags: Vec<String>Flags to pass to the compiler when building for the host
target_rustcflags: Vec<String>Flags to pass to the compiler when building for the target
rust_randomized_layout: boolWhether the compiler and stdlib has been built with randomized struct layouts
optimize_tests: boolWhether tests should be optimized by default. Individual test-suites and test files may override this setting.
target: StringTarget system to be tested
host: StringHost triple for the compiler being invoked
cdb: Option<OsString>Path to / name of the Microsoft Console Debugger (CDB) executable
cdb_version: Option<[u16; 4]>Version of CDB
gdb: Option<String>Path to / name of the GDB executable
gdb_version: Option<u32>Version of GDB, encoded as ((major * 1000) + minor) * 1000 + patch
lldb_version: Option<u32>Version of LLDB
llvm_version: Option<Version>Version of LLVM
system_llvm: boolIs LLVM a system LLVM
android_cross_path: PathBufPath to the android tools
adb_path: StringExtra parameter to run adb on arm-linux-androideabi
adb_test_dir: StringExtra parameter to run test suite on arm-linux-androideabi
adb_device_status: boolstatus whether android device available or not
lldb_python_dir: Option<String>the path containing LLDB’s Python module
verbose: boolExplain what’s going on
format: OutputFormatPrint one character per test instead of one line
color: ColorConfigWhether to use colors in test.
remote_test_client: Option<PathBuf>where to find the remote test client process, if we’re using it
compare_mode: Option<CompareMode>mode describing what file the actual ui output will be compared to
rustfix_coverage: boolIf true, this will generate a coverage file with UI test files that run MachineApplicable
diagnostics but are missing run-rustfix annotations. The generated coverage file is
created in /<build_base>/rustfix_missing_coverage.txt
has_html_tidy: boolwhether to run tidy (html-tidy) when a rustdoc test fails
has_enzyme: boolwhether to run enzyme autodiff tests
channel: StringThe current Rust channel
git_hash: boolWhether adding git commit information such as the commit hash has been enabled for building
edition: Option<String>The default Rust edition
cc: String§cxx: String§cflags: String§cxxflags: String§ar: String§target_linker: Option<String>§host_linker: Option<String>§llvm_components: String§nodejs: Option<String>Path to a NodeJS executable. Used for JS doctests, emscripten and WASM tests
npm: Option<String>Path to a npm executable. Used for rustdoc GUI tests
force_rerun: boolWhether to rerun tests even if the inputs are unchanged.
only_modified: boolOnly rerun the tests that result has been modified according to Git status
target_cfgs: OnceLock<TargetCfgs>§builtin_cfg_names: OnceLock<HashSet<String>>§nocapture: bool§git_repository: String§nightly_branch: String§git_merge_commit_email: String§profiler_runtime: boolTrue if the profiler runtime is enabled for this target. Used by the “needs-profiler-runtime” directive in test files.
diff_command: Option<String>Command for visual diff display, e.g. diff-tool --color=always.
minicore_path: PathBufPath to minicore aux library, used for no_core tests that need core stubs in
cross-compilation scenarios that do not otherwise want/need to -Zbuild-std. Used in e.g.
ABI tests.
Implementations§
Source§impl Config
impl Config
pub fn run_enabled(&self) -> bool
pub fn target_cfgs(&self) -> &TargetCfgs
pub fn target_cfg(&self) -> &TargetCfg
pub fn matches_arch(&self, arch: &str) -> bool
pub fn matches_os(&self, os: &str) -> bool
pub fn matches_env(&self, env: &str) -> bool
pub fn matches_abi(&self, abi: &str) -> bool
pub fn matches_family(&self, family: &str) -> bool
pub fn is_big_endian(&self) -> bool
pub fn get_pointer_width(&self) -> u32
pub fn can_unwind(&self) -> bool
Sourcepub fn builtin_cfg_names(&self) -> &HashSet<String>
pub fn builtin_cfg_names(&self) -> &HashSet<String>
Get the list of builtin, ‘well known’ cfg names
pub fn has_threads(&self) -> bool
pub fn has_asm_support(&self) -> bool
pub fn git_config(&self) -> GitConfig<'_>
pub fn has_subprocess_support(&self) -> bool
Source§impl Config
impl Config
fn parse_and_update_revisions( &self, testfile: &Path, line: &str, existing: &mut Vec<String>, )
fn parse_env(nv: String) -> (String, String)
fn parse_pp_exact(&self, line: &str, testfile: &Path) -> Option<PathBuf>
fn parse_custom_normalization( &self, raw_directive: &str, ) -> Option<NormalizeRule>
fn parse_name_directive(&self, line: &str, directive: &str) -> bool
fn parse_negative_name_directive(&self, line: &str, directive: &str) -> bool
pub fn parse_name_value_directive( &self, line: &str, directive: &str, ) -> Option<String>
pub fn find_rust_src_root(&self) -> Option<PathBuf>
fn parse_edition(&self, line: &str) -> Option<String>
fn set_name_directive(&self, line: &str, directive: &str, value: &mut bool)
fn set_name_value_directive<T>( &self, line: &str, directive: &str, value: &mut Option<T>, parse: impl FnOnce(String) -> T, )
fn push_name_value_directive<T>( &self, line: &str, directive: &str, values: &mut Vec<T>, parse: impl FnOnce(String) -> T, )
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1920 bytes