From 2192a916d4193c2a602e1ab6c9e236f389a962b5 Mon Sep 17 00:00:00 2001 From: Oneirical Date: Fri, 19 Jul 2024 15:00:10 -0400 Subject: [PATCH] rewrite compiler-lookup-paths-2 to rmake --- .../tidy/src/allowed_run_make_makefiles.txt | 1 - .../run-make/compiler-lookup-paths-2/Makefile | 11 ---------- .../run-make/compiler-lookup-paths-2/rmake.rs | 20 +++++++++++++++++++ tests/run-make/test-benches/rmake.rs | 1 + 4 files changed, 21 insertions(+), 12 deletions(-) delete mode 100644 tests/run-make/compiler-lookup-paths-2/Makefile create mode 100644 tests/run-make/compiler-lookup-paths-2/rmake.rs diff --git a/src/tools/tidy/src/allowed_run_make_makefiles.txt b/src/tools/tidy/src/allowed_run_make_makefiles.txt index ed1ae071f07..23ce7f242f7 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -6,7 +6,6 @@ run-make/c-static-rlib/Makefile run-make/c-unwind-abi-catch-lib-panic/Makefile run-make/cat-and-grep-sanity-check/Makefile run-make/cdylib-dylib-linkage/Makefile -run-make/compiler-lookup-paths-2/Makefile run-make/compiler-rt-works-on-mingw/Makefile run-make/crate-hash-rustc-version/Makefile run-make/cross-lang-lto-clang/Makefile diff --git a/tests/run-make/compiler-lookup-paths-2/Makefile b/tests/run-make/compiler-lookup-paths-2/Makefile deleted file mode 100644 index ecc0577384a..00000000000 --- a/tests/run-make/compiler-lookup-paths-2/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# This test checks that extern crate declarations in Cargo without a corresponding declaration in the manifest of a dependency are NOT allowed. -# See https://github.com/rust-lang/rust/pull/21113 - -include ../tools.mk - -all: - mkdir -p $(TMPDIR)/a $(TMPDIR)/b - $(RUSTC) a.rs && mv $(TMPDIR)/liba.rlib $(TMPDIR)/a - $(RUSTC) b.rs -L $(TMPDIR)/a && mv $(TMPDIR)/libb.rlib $(TMPDIR)/b - $(RUSTC) c.rs -L crate=$(TMPDIR)/b -L dependency=$(TMPDIR)/a \ - && exit 1 || exit 0 diff --git a/tests/run-make/compiler-lookup-paths-2/rmake.rs b/tests/run-make/compiler-lookup-paths-2/rmake.rs new file mode 100644 index 00000000000..99efb157b53 --- /dev/null +++ b/tests/run-make/compiler-lookup-paths-2/rmake.rs @@ -0,0 +1,20 @@ +// This test checks that extern crate declarations in Cargo without a corresponding declaration +// in the manifest of a dependency are NOT allowed. The last rustc call does it anyways, which +// should result in a compilation failure. +// See https://github.com/rust-lang/rust/pull/21113 + +use run_make_support::{path, rfs, rust_lib_name, rustc}; + +fn main() { + rfs::create_dir("a"); + rfs::create_dir("b"); + rustc().input("a.rs").run(); + rfs::rename(rust_lib_name("a"), path("a").join(rust_lib_name("a"))); + rustc().input("b.rs").library_search_path("a").run(); + rfs::rename(rust_lib_name("b"), path("b").join(rust_lib_name("b"))); + rustc() + .input("c.rs") + .library_search_path("crate=b") + .library_search_path("dependency=a") + .run_fail(); +} diff --git a/tests/run-make/test-benches/rmake.rs b/tests/run-make/test-benches/rmake.rs index acf9b04becb..1458fb8c990 100644 --- a/tests/run-make/test-benches/rmake.rs +++ b/tests/run-make/test-benches/rmake.rs @@ -13,6 +13,7 @@ use run_make_support::{run, run_with_args, rustc}; fn main() { + // Smoke-test that #[bench] isn't entirely broken. rustc().arg("--test").input("smokebench.rs").opt().run(); run_with_args("smokebench", &["--bench"]); run_with_args("smokebench", &["--bench", "noiter"]);