mirror of https://github.com/rust-lang/rust.git
rewrite rlib-chain to rmake
This commit is contained in:
parent
371845b630
commit
86bd3498b2
|
@ -135,7 +135,6 @@ run-make/remap-path-prefix-dwarf/Makefile
|
|||
run-make/reproducible-build-2/Makefile
|
||||
run-make/reproducible-build/Makefile
|
||||
run-make/return-non-c-like-enum-from-c/Makefile
|
||||
run-make/rlib-chain/Makefile
|
||||
run-make/rlib-format-packed-bundled-libs-2/Makefile
|
||||
run-make/rlib-format-packed-bundled-libs-3/Makefile
|
||||
run-make/rlib-format-packed-bundled-libs/Makefile
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
// In this test, m4 depends on m3, which depends on m2, which depends on m1.
|
||||
// Even though dependencies are chained like this and there is no direct mention
|
||||
// of m1 or m2 in m4.rs, compilation and execution should still succeed. Naturally,
|
||||
// removing those dependencies should cause execution to fail.
|
||||
// of m1 or m2 in m4.rs, compilation and execution should still succeed. Unlike the
|
||||
// rlib-chain test, dynamic libraries contain upstream dependencies, and breaking
|
||||
// the chain by removing the dylibs causes execution to fail.
|
||||
// See https://github.com/rust-lang/rust/issues/10434
|
||||
|
||||
//@ ignore-cross-compile
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
$(RUSTC) m1.rs
|
||||
$(RUSTC) m2.rs
|
||||
$(RUSTC) m3.rs
|
||||
$(RUSTC) m4.rs
|
||||
$(call RUN,m4)
|
||||
rm $(TMPDIR)/*lib
|
||||
$(call RUN,m4)
|
|
@ -0,0 +1,23 @@
|
|||
// In this test, m4 depends on m3, which depends on m2, which depends on m1.
|
||||
// Even though dependencies are chained like this and there is no direct mention
|
||||
// of m1 or m2 in m4.rs, compilation and execution should still succeed. Unlike
|
||||
// the dylib-chain test, rlibs do not contain upstream dependencies, and removing
|
||||
// the libraries still allows m4 to successfully execute.
|
||||
// See https://github.com/rust-lang/rust/issues/10434
|
||||
|
||||
//@ ignore-cross-compile
|
||||
// Reason: the compiled binary is executed
|
||||
|
||||
use run_make_support::{fs_wrapper, run, rust_lib_name, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().input("m1.rs").run();
|
||||
rustc().input("m2.rs").run();
|
||||
rustc().input("m3.rs").run();
|
||||
rustc().input("m4.rs").run();
|
||||
run("m4");
|
||||
fs_wrapper::remove_file(rust_lib_name("m1"));
|
||||
fs_wrapper::remove_file(rust_lib_name("m2"));
|
||||
fs_wrapper::remove_file(rust_lib_name("m3"));
|
||||
run("m4");
|
||||
}
|
Loading…
Reference in New Issue