mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
rewrite test-harness to rmake
This commit is contained in:
parent
b75dd71ef0
commit
45313a6ca0
@ -96,7 +96,6 @@ run-make/metadata-dep-info/Makefile
|
||||
run-make/min-global-align/Makefile
|
||||
run-make/missing-crate-dependency/Makefile
|
||||
run-make/mixing-libs/Makefile
|
||||
run-make/msvc-opt-minsize/Makefile
|
||||
run-make/native-link-modifier-bundle/Makefile
|
||||
run-make/native-link-modifier-whole-archive/Makefile
|
||||
run-make/no-alloc-shim/Makefile
|
||||
@ -163,7 +162,6 @@ run-make/target-cpu-native/Makefile
|
||||
run-make/target-specs/Makefile
|
||||
run-make/target-without-atomic-cas/Makefile
|
||||
run-make/test-benches/Makefile
|
||||
run-make/test-harness/Makefile
|
||||
run-make/thumb-none-cortex-m/Makefile
|
||||
run-make/thumb-none-qemu/Makefile
|
||||
run-make/track-path-dep-info/Makefile
|
||||
|
@ -13,7 +13,7 @@ use std::path::{Path, PathBuf};
|
||||
// should all be 1000 or lower. Limits significantly smaller than 1000 are also
|
||||
// desirable, because large numbers of files are unwieldy in general. See issue
|
||||
// #73494.
|
||||
const ENTRY_LIMIT: u32 = 900;
|
||||
const ENTRY_LIMIT: u32 = 901;
|
||||
// FIXME: The following limits should be reduced eventually.
|
||||
|
||||
const ISSUES_ENTRY_LIMIT: u32 = 1672;
|
||||
|
@ -7,7 +7,9 @@
|
||||
// See https://github.com/rust-lang/rust/pull/95604
|
||||
// See https://github.com/rust-lang/rust/issues/47384
|
||||
|
||||
//FIXME(Oneirical): ignore flags: only linux and cross compile
|
||||
//@ only-linux
|
||||
// Reason: differences in object file formats on OSX and Windows
|
||||
// causes errors in the llvm_objdump step
|
||||
|
||||
use run_make_support::{dynamic_lib_name, llvm_objdump, llvm_readobj, rustc};
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
# check that #[cfg_attr(..., ignore)] does the right thing.
|
||||
$(RUSTC) --test test-ignore-cfg.rs --cfg ignorecfg
|
||||
$(call RUN,test-ignore-cfg) | $(CGREP) 'shouldnotignore ... ok' 'shouldignore ... ignored'
|
||||
$(call RUN,test-ignore-cfg --quiet) | $(CGREP) -e "^i\.$$"
|
||||
$(call RUN,test-ignore-cfg --quiet) | $(CGREP) -v 'should'
|
25
tests/run-make/test-harness/rmake.rs
Normal file
25
tests/run-make/test-harness/rmake.rs
Normal file
@ -0,0 +1,25 @@
|
||||
// The way test suites run can be modified using configuration flags,
|
||||
// ignoring certain tests while running others. This test contains two
|
||||
// functions, one which must run and the other which must not. The standard
|
||||
// output is checked to verify that the ignore configuration is doing its job,
|
||||
// and that output is successfully minimized with the --quiet flag.
|
||||
// See https://github.com/rust-lang/rust/commit/f7ebe23ae185991b0fee05b32fbb3e29b89a41bf
|
||||
|
||||
//@ ignore-cross-compile
|
||||
// Reason: the compiled binary is executed
|
||||
|
||||
use run_make_support::{run, run_with_args, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().arg("--test").input("test-ignore-cfg.rs").cfg("ignorecfg").run();
|
||||
// check that #[cfg_attr(..., ignore)] does the right thing.
|
||||
run("test-ignore-cfg")
|
||||
.assert_stdout_contains("shouldnotignore ... ok")
|
||||
.assert_stdout_contains("shouldignore ... ignored");
|
||||
assert_eq!(
|
||||
// One of the lines is exactly "i."
|
||||
run_with_args("test-ignore-cfg", &["--quiet"]).stdout_utf8().lines().find(|&x| x == "i."),
|
||||
Some("i.")
|
||||
);
|
||||
run_with_args("test-ignore-cfg", &["--quiet"]).assert_stdout_not_contains("should");
|
||||
}
|
Loading…
Reference in New Issue
Block a user