From f0b8da4430971ce1a34848852849b8b4e3f20778 Mon Sep 17 00:00:00 2001 From: Oneirical Date: Fri, 17 May 2024 13:29:43 -0400 Subject: [PATCH 1/5] rewrite no-intermediate-extras --- .../tidy/src/allowed_run_make_makefiles.txt | 1 - .../run-make/no-intermediate-extras/Makefile | 8 ------- .../run-make/no-intermediate-extras/rmake.rs | 21 +++++++++++++++++++ 3 files changed, 21 insertions(+), 9 deletions(-) delete mode 100644 tests/run-make/no-intermediate-extras/Makefile create mode 100644 tests/run-make/no-intermediate-extras/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 1a3d6f8d81360..4f0397357aebd 100644 --- a/src/tools/tidy/src/allowed_run_make_makefiles.txt +++ b/src/tools/tidy/src/allowed_run_make_makefiles.txt @@ -179,7 +179,6 @@ run-make/no-alloc-shim/Makefile run-make/no-builtins-attribute/Makefile run-make/no-builtins-lto/Makefile run-make/no-duplicate-libs/Makefile -run-make/no-intermediate-extras/Makefile run-make/obey-crate-type-flag/Makefile run-make/optimization-remarks-dir-pgo/Makefile run-make/optimization-remarks-dir/Makefile diff --git a/tests/run-make/no-intermediate-extras/Makefile b/tests/run-make/no-intermediate-extras/Makefile deleted file mode 100644 index 83b5cedcf2a65..0000000000000 --- a/tests/run-make/no-intermediate-extras/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# ignore-cross-compile -# Regression test for issue #10973 - -include ../tools.mk - -all: - $(RUSTC) --crate-type=rlib --test foo.rs - rm $(TMPDIR)/foo.bc && exit 1 || exit 0 diff --git a/tests/run-make/no-intermediate-extras/rmake.rs b/tests/run-make/no-intermediate-extras/rmake.rs new file mode 100644 index 0000000000000..4ca95a1538dfa --- /dev/null +++ b/tests/run-make/no-intermediate-extras/rmake.rs @@ -0,0 +1,21 @@ +// When using the --test flag with an rlib, this used to generate +// an unwanted .bc file, which should not exist. This test checks +// that the bug causing the generation of this file has not returned. +// See https://github.com/rust-lang/rust/issues/10973 + +//@ ignore-cross-compile + +use run_make_support::{rustc, tmp_dir}; + +fn main() { + rustc().crate_type("rlib").arg("--test").input("foo.rs").run(); + match fs::remove_file(tmp_dir().join("foo.bc")) { + Ok(_) => { + println!("An unwanted .bc file was created by run-make/no-intermediate-extras."); + std::process::exit(0); + }, + Err(e) => { + std::process::exit(1); + } + } +} From abdaed2fa9b0927b1b26183fd7f8ee23ef92e4c9 Mon Sep 17 00:00:00 2001 From: Oneirical Date: Fri, 17 May 2024 14:06:38 -0400 Subject: [PATCH 2/5] tidy fix --- tests/run-make/no-intermediate-extras/rmake.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/run-make/no-intermediate-extras/rmake.rs b/tests/run-make/no-intermediate-extras/rmake.rs index 4ca95a1538dfa..dffe423296a2a 100644 --- a/tests/run-make/no-intermediate-extras/rmake.rs +++ b/tests/run-make/no-intermediate-extras/rmake.rs @@ -8,12 +8,12 @@ use run_make_support::{rustc, tmp_dir}; fn main() { - rustc().crate_type("rlib").arg("--test").input("foo.rs").run(); + rustc().crate_type("rlib").arg("--test").input("foo.rs").run(); match fs::remove_file(tmp_dir().join("foo.bc")) { Ok(_) => { println!("An unwanted .bc file was created by run-make/no-intermediate-extras."); std::process::exit(0); - }, + } Err(e) => { std::process::exit(1); } From 9d0b75f75e760e3fd9c31933439b55c38a8fb00d Mon Sep 17 00:00:00 2001 From: Julien <96022417+Oneirical@users.noreply.github.com> Date: Fri, 17 May 2024 14:55:14 -0400 Subject: [PATCH 3/5] missing import --- tests/run-make/no-intermediate-extras/rmake.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/run-make/no-intermediate-extras/rmake.rs b/tests/run-make/no-intermediate-extras/rmake.rs index dffe423296a2a..615a217cd1392 100644 --- a/tests/run-make/no-intermediate-extras/rmake.rs +++ b/tests/run-make/no-intermediate-extras/rmake.rs @@ -6,6 +6,7 @@ //@ ignore-cross-compile use run_make_support::{rustc, tmp_dir}; +use std::fs; fn main() { rustc().crate_type("rlib").arg("--test").input("foo.rs").run(); From 8c43e54ad96b7cf2d6b57d0857325165f8ac5114 Mon Sep 17 00:00:00 2001 From: Oneirical Date: Fri, 17 May 2024 15:42:33 -0400 Subject: [PATCH 4/5] fix: swap the error codes --- tests/run-make/no-intermediate-extras/rmake.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/run-make/no-intermediate-extras/rmake.rs b/tests/run-make/no-intermediate-extras/rmake.rs index 615a217cd1392..bc82b18c4cfa3 100644 --- a/tests/run-make/no-intermediate-extras/rmake.rs +++ b/tests/run-make/no-intermediate-extras/rmake.rs @@ -13,10 +13,10 @@ fn main() { match fs::remove_file(tmp_dir().join("foo.bc")) { Ok(_) => { println!("An unwanted .bc file was created by run-make/no-intermediate-extras."); - std::process::exit(0); + std::process::exit(1); } Err(e) => { - std::process::exit(1); + std::process::exit(0); } } } From 95c47d3396c324b32ffaedc2681a370107aeb6be Mon Sep 17 00:00:00 2001 From: Oneirical Date: Mon, 20 May 2024 21:30:48 -0400 Subject: [PATCH 5/5] simplify --- tests/run-make/no-intermediate-extras/rmake.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/tests/run-make/no-intermediate-extras/rmake.rs b/tests/run-make/no-intermediate-extras/rmake.rs index bc82b18c4cfa3..19479e3bd5b5c 100644 --- a/tests/run-make/no-intermediate-extras/rmake.rs +++ b/tests/run-make/no-intermediate-extras/rmake.rs @@ -10,13 +10,8 @@ use std::fs; fn main() { rustc().crate_type("rlib").arg("--test").input("foo.rs").run(); - match fs::remove_file(tmp_dir().join("foo.bc")) { - Ok(_) => { - println!("An unwanted .bc file was created by run-make/no-intermediate-extras."); - std::process::exit(1); - } - Err(e) => { - std::process::exit(0); - } - } + assert!( + fs::remove_file(tmp_dir().join("foo.bc")).is_err(), + "An unwanted .bc file was created by run-make/no-intermediate-extras." + ); }