Rollup merge of #125638 - Oneirical:lets-find-some-tests, r=jieyouxu
Rewrite `lto-smoke`, `simple-rlib` and `mixing-deps` `run-make` tests in `rmake.rs` format Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).
This commit is contained in:
commit
7e93a632a8
@ -144,7 +144,6 @@ run-make/lto-linkage-used-attr/Makefile
|
||||
run-make/lto-no-link-whole-rlib/Makefile
|
||||
run-make/lto-readonly-lib/Makefile
|
||||
run-make/lto-smoke-c/Makefile
|
||||
run-make/lto-smoke/Makefile
|
||||
run-make/macos-deployment-target/Makefile
|
||||
run-make/macos-fat-archive/Makefile
|
||||
run-make/manual-crate-name/Makefile
|
||||
@ -156,7 +155,6 @@ run-make/min-global-align/Makefile
|
||||
run-make/mingw-export-call-convention/Makefile
|
||||
run-make/mismatching-target-triples/Makefile
|
||||
run-make/missing-crate-dependency/Makefile
|
||||
run-make/mixing-deps/Makefile
|
||||
run-make/mixing-formats/Makefile
|
||||
run-make/mixing-libs/Makefile
|
||||
run-make/msvc-opt-minsize/Makefile
|
||||
@ -238,7 +236,6 @@ run-make/short-ice/Makefile
|
||||
run-make/silly-file-names/Makefile
|
||||
run-make/simd-ffi/Makefile
|
||||
run-make/simple-dylib/Makefile
|
||||
run-make/simple-rlib/Makefile
|
||||
run-make/split-debuginfo/Makefile
|
||||
run-make/stable-symbol-names/Makefile
|
||||
run-make/static-dylib-by-default/Makefile
|
||||
|
@ -1,31 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all: noparam bool_true bool_false thin fat
|
||||
|
||||
noparam:
|
||||
$(RUSTC) lib.rs
|
||||
$(RUSTC) main.rs -C lto
|
||||
$(call RUN,main)
|
||||
|
||||
bool_true:
|
||||
$(RUSTC) lib.rs
|
||||
$(RUSTC) main.rs -C lto=yes
|
||||
$(call RUN,main)
|
||||
|
||||
|
||||
bool_false:
|
||||
$(RUSTC) lib.rs
|
||||
$(RUSTC) main.rs -C lto=off
|
||||
$(call RUN,main)
|
||||
|
||||
thin:
|
||||
$(RUSTC) lib.rs
|
||||
$(RUSTC) main.rs -C lto=thin
|
||||
$(call RUN,main)
|
||||
|
||||
fat:
|
||||
$(RUSTC) lib.rs
|
||||
$(RUSTC) main.rs -C lto=fat
|
||||
$(call RUN,main)
|
||||
|
16
tests/run-make/lto-smoke/rmake.rs
Normal file
16
tests/run-make/lto-smoke/rmake.rs
Normal file
@ -0,0 +1,16 @@
|
||||
// A simple smoke test to check that link time optimization
|
||||
// (LTO) is accepted by the compiler, and that
|
||||
// passing its various flags still results in successful compilation.
|
||||
// See https://github.com/rust-lang/rust/issues/10741
|
||||
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::rustc;
|
||||
|
||||
fn main() {
|
||||
let lto_flags = ["-Clto", "-Clto=yes", "-Clto=off", "-Clto=thin", "-Clto=fat"];
|
||||
for flag in lto_flags {
|
||||
rustc().input("lib.rs").run();
|
||||
rustc().input("main.rs").arg(flag).run();
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
$(RUSTC) both.rs -C prefer-dynamic
|
||||
$(RUSTC) dylib.rs -C prefer-dynamic
|
||||
$(RUSTC) prog.rs
|
||||
$(call RUN,prog)
|
13
tests/run-make/mixing-deps/rmake.rs
Normal file
13
tests/run-make/mixing-deps/rmake.rs
Normal file
@ -0,0 +1,13 @@
|
||||
// This test invokes the main function in prog.rs, which has dependencies
|
||||
// in both an rlib and a dylib. This test checks that these different library
|
||||
// types can be successfully mixed.
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::{run, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().input("both.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().input("dylib.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().input("prog.rs").run();
|
||||
run("prog");
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
all:
|
||||
$(RUSTC) bar.rs --crate-type=rlib
|
||||
$(RUSTC) foo.rs
|
||||
$(call RUN,foo)
|
@ -1 +0,0 @@
|
||||
pub fn bar() {}
|
@ -1,5 +0,0 @@
|
||||
extern crate bar;
|
||||
|
||||
fn main() {
|
||||
bar::bar();
|
||||
}
|
2
tests/ui/imports/auxiliary/simple-rlib.rs
Normal file
2
tests/ui/imports/auxiliary/simple-rlib.rs
Normal file
@ -0,0 +1,2 @@
|
||||
#![crate_type = "rlib"]
|
||||
pub fn bar() {}
|
12
tests/ui/imports/simple-rlib-import.rs
Normal file
12
tests/ui/imports/simple-rlib-import.rs
Normal file
@ -0,0 +1,12 @@
|
||||
// A simple test, where foo.rs has a dependency
|
||||
// on the rlib (a static Rust-specific library format) bar.rs. If the test passes,
|
||||
// rlibs can be built and linked into another file successfully..
|
||||
|
||||
//@ aux-crate:bar=simple-rlib.rs
|
||||
//@ run-pass
|
||||
|
||||
extern crate bar;
|
||||
|
||||
fn main() {
|
||||
bar::bar();
|
||||
}
|
Loading…
Reference in New Issue
Block a user