From 45313a6ca038995bc3a0cc952fac94102d00f60c Mon Sep 17 00:00:00 2001 From: Oneirical Date: Thu, 27 Jun 2024 11:44:47 -0400 Subject: [PATCH] rewrite test-harness to rmake --- .../tidy/src/allowed_run_make_makefiles.txt | 2 -- src/tools/tidy/src/ui_tests.rs | 2 +- .../include-all-symbols-linking/rmake.rs | 4 ++- tests/run-make/test-harness/Makefile | 9 ------- tests/run-make/test-harness/rmake.rs | 25 +++++++++++++++++++ tests/ui/{windows => }/msvc-opt-minsize.rs | 0 .../{windows => windows-subsystem}/console.rs | 0 .../windows-subsystem-invalid.rs | 0 .../windows-subsystem-invalid.stderr | 0 .../{windows => windows-subsystem}/windows.rs | 0 10 files changed, 29 insertions(+), 13 deletions(-) delete mode 100644 tests/run-make/test-harness/Makefile create mode 100644 tests/run-make/test-harness/rmake.rs rename tests/ui/{windows => }/msvc-opt-minsize.rs (100%) rename tests/ui/{windows => windows-subsystem}/console.rs (100%) rename tests/ui/{windows => windows-subsystem}/windows-subsystem-invalid.rs (100%) rename tests/ui/{windows => windows-subsystem}/windows-subsystem-invalid.stderr (100%) rename tests/ui/{windows => windows-subsystem}/windows.rs (100%) diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt index 6ef68509f10..2da4e476e90 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -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 diff --git a/src/tools/tidy/src/ui_tests.rs b/src/tools/tidy/src/ui_tests.rs index 95857502108..5e6992038e3 100644 --- a/src/tools/tidy/src/ui_tests.rs +++ b/src/tools/tidy/src/ui_tests.rs @@ -13,7 +13,7 @@ // 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; diff --git a/tests/run-make/include-all-symbols-linking/rmake.rs b/tests/run-make/include-all-symbols-linking/rmake.rs index a443fc0a5c4..77fd71ab20d 100644 --- a/tests/run-make/include-all-symbols-linking/rmake.rs +++ b/tests/run-make/include-all-symbols-linking/rmake.rs @@ -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}; diff --git a/tests/run-make/test-harness/Makefile b/tests/run-make/test-harness/Makefile deleted file mode 100644 index ee8c9294f91..00000000000 --- a/tests/run-make/test-harness/Makefile +++ /dev/null @@ -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' diff --git a/tests/run-make/test-harness/rmake.rs b/tests/run-make/test-harness/rmake.rs new file mode 100644 index 00000000000..30b3d00f4d1 --- /dev/null +++ b/tests/run-make/test-harness/rmake.rs @@ -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"); +} diff --git a/tests/ui/windows/msvc-opt-minsize.rs b/tests/ui/msvc-opt-minsize.rs similarity index 100% rename from tests/ui/windows/msvc-opt-minsize.rs rename to tests/ui/msvc-opt-minsize.rs diff --git a/tests/ui/windows/console.rs b/tests/ui/windows-subsystem/console.rs similarity index 100% rename from tests/ui/windows/console.rs rename to tests/ui/windows-subsystem/console.rs diff --git a/tests/ui/windows/windows-subsystem-invalid.rs b/tests/ui/windows-subsystem/windows-subsystem-invalid.rs similarity index 100% rename from tests/ui/windows/windows-subsystem-invalid.rs rename to tests/ui/windows-subsystem/windows-subsystem-invalid.rs diff --git a/tests/ui/windows/windows-subsystem-invalid.stderr b/tests/ui/windows-subsystem/windows-subsystem-invalid.stderr similarity index 100% rename from tests/ui/windows/windows-subsystem-invalid.stderr rename to tests/ui/windows-subsystem/windows-subsystem-invalid.stderr diff --git a/tests/ui/windows/windows.rs b/tests/ui/windows-subsystem/windows.rs similarity index 100% rename from tests/ui/windows/windows.rs rename to tests/ui/windows-subsystem/windows.rs