Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite separate-link, separate-link-fail and allocator-shim-circular-deps run-make tests to ui or rmake #126607

Merged
merged 3 commits into from
Jun 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@ -202,8 +201,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");
}
Loading