Skip to content

Commit

Permalink
Auto merge of rust-lang#126607 - Oneirical:the-testern-world, r=jieyouxu
Browse files Browse the repository at this point in the history
Rewrite `separate-link`, `separate-link-fail` and `allocator-shim-circular-deps` `run-make` tests to `ui` or `rmake`

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
  • Loading branch information
bors committed Jun 18, 2024
2 parents 8fcd4dd + 78998f3 commit 4e63822
Show file tree
Hide file tree
Showing 8 changed files with 46 additions and 29 deletions.
3 changes: 0 additions & 3 deletions src/tools/tidy/src/allowed_run_make_makefiles.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
run-make/allocator-shim-circular-deps/Makefile
run-make/archive-duplicate-names/Makefile
run-make/atomic-lock-free/Makefile
run-make/branch-protection-check-IBT/Makefile
Expand Down Expand Up @@ -185,8 +184,6 @@ run-make/rustdoc-io-error/Makefile
run-make/sanitizer-cdylib-link/Makefile
run-make/sanitizer-dylib-link/Makefile
run-make/sanitizer-staticlib-link/Makefile
run-make/separate-link-fail/Makefile
run-make/separate-link/Makefile
run-make/sepcomp-cci-copies/Makefile
run-make/sepcomp-inlining/Makefile
run-make/sepcomp-separate/Makefile
Expand Down
12 changes: 0 additions & 12 deletions tests/run-make/allocator-shim-circular-deps/Makefile

This file was deleted.

16 changes: 16 additions & 0 deletions tests/run-make/allocator-shim-circular-deps/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// This test is designed to intentionally introduce a circular dependency scenario to check
// that a specific compiler bug doesn't make a resurgence.
// The bug in question arose when at least one crate
// required a global allocator, and that crate was placed after
// the one defining it in the linker order.
// The generated symbols.o should not result in any linker errors.
// See https://github.com/rust-lang/rust/issues/112715

//@ ignore-cross-compile

use run_make_support::{rust_lib_name, rustc};

fn main() {
rustc().input("my_lib.rs").run();
rustc().input("main.rs").arg("--test").extern_("my_lib", rust_lib_name("my_lib")).run();
}
7 changes: 0 additions & 7 deletions tests/run-make/separate-link-fail/Makefile

This file was deleted.

1 change: 1 addition & 0 deletions tests/run-make/separate-link-fail/foo.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
fn main() {}
15 changes: 15 additions & 0 deletions tests/run-make/separate-link-fail/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// rustc usually wants Rust code as its input. The flag `link-only` is one
// exception, where a .rlink file is instead requested. The compiler should
// fail when the user is wrongly passing the original Rust code
// instead of the generated .rlink file when this flag is on.
// https://github.com/rust-lang/rust/issues/95297

use run_make_support::rustc;

fn main() {
rustc()
.arg("-Zlink-only")
.input("foo.rs")
.run_fail()
.assert_stderr_contains("The input does not look like a .rlink file");
}
7 changes: 0 additions & 7 deletions tests/run-make/separate-link/Makefile

This file was deleted.

14 changes: 14 additions & 0 deletions tests/run-make/separate-link/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// The compiler flags no-link (and by extension, link-only) used to be broken
// due to changes in encoding/decoding. This was patched, and this test checks
// that these flags are not broken again, resulting in successful compilation.
// See https://github.com/rust-lang/rust/issues/77857

//@ ignore-cross-compile

use run_make_support::{run, rustc};

fn main() {
rustc().stdin(b"fn main(){}").arg("-Zno-link").arg("-").run();
rustc().arg("-Zlink-only").input("rust_out.rlink").run();
run("rust_out");
}

0 comments on commit 4e63822

Please sign in to comment.