mirror of https://github.com/rust-lang/rust.git
Rollup merge of #127985 - Oneirical:testibule-of-hell, r=Kobzol
Migrate `test-benches`, `c-unwind-abi-catch-panic` and `compiler-lookup-paths-2` `run-make` tests to rmake 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
5b915ab022
|
@ -2,10 +2,8 @@ run-make/branch-protection-check-IBT/Makefile
|
|||
run-make/c-dynamic-dylib/Makefile
|
||||
run-make/c-dynamic-rlib/Makefile
|
||||
run-make/c-unwind-abi-catch-lib-panic/Makefile
|
||||
run-make/c-unwind-abi-catch-panic/Makefile
|
||||
run-make/cat-and-grep-sanity-check/Makefile
|
||||
run-make/cdylib-dylib-linkage/Makefile
|
||||
run-make/compiler-lookup-paths-2/Makefile
|
||||
run-make/compiler-rt-works-on-mingw/Makefile
|
||||
run-make/cross-lang-lto-clang/Makefile
|
||||
run-make/cross-lang-lto-pgo-smoketest/Makefile
|
||||
|
@ -90,7 +88,6 @@ run-make/staticlib-dylib-linkage/Makefile
|
|||
run-make/symbol-mangling-hashed/Makefile
|
||||
run-make/symbol-visibility/Makefile
|
||||
run-make/sysroot-crates-are-unstable/Makefile
|
||||
run-make/test-benches/Makefile
|
||||
run-make/thumb-none-cortex-m/Makefile
|
||||
run-make/thumb-none-qemu/Makefile
|
||||
run-make/translation/Makefile
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
# Exercise unwinding a panic. This catches a panic across an FFI boundary and downcasts it into an integer. The Rust code that panics is in the same directory.
|
||||
# See https://github.com/rust-lang/rust/commit/baf227ea0c1e07fc54395a51e4b3881d701180cb
|
||||
|
||||
# ignore-cross-compile
|
||||
# needs-unwind
|
||||
include ../tools.mk
|
||||
|
||||
all: $(call NATIVE_STATICLIB,add)
|
||||
$(RUSTC) main.rs
|
||||
$(call RUN,main) || exit 1
|
|
@ -0,0 +1,18 @@
|
|||
// A test for calling `C-unwind` functions across foreign function boundaries (FFI).
|
||||
// This test triggers a panic when calling a foreign function that calls *back* into Rust.
|
||||
// This catches a panic across an FFI boundary and downcasts it into an integer.
|
||||
// The Rust code that panics is in the same directory, unlike `c-unwind-abi-catch-lib-panic`.
|
||||
// See https://github.com/rust-lang/rust/pull/76570
|
||||
|
||||
//@ ignore-cross-compile
|
||||
// Reason: the compiled binary is executed
|
||||
//@ needs-unwind
|
||||
// Reason: this test exercises panic unwinding
|
||||
|
||||
use run_make_support::{build_native_static_lib, run, rustc};
|
||||
|
||||
fn main() {
|
||||
build_native_static_lib("add");
|
||||
rustc().input("main.rs").run();
|
||||
run("main");
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
# This test checks that extern crate declarations in Cargo without a corresponding declaration in the manifest of a dependency are NOT allowed.
|
||||
# See https://github.com/rust-lang/rust/pull/21113
|
||||
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
mkdir -p $(TMPDIR)/a $(TMPDIR)/b
|
||||
$(RUSTC) a.rs && mv $(TMPDIR)/liba.rlib $(TMPDIR)/a
|
||||
$(RUSTC) b.rs -L $(TMPDIR)/a && mv $(TMPDIR)/libb.rlib $(TMPDIR)/b
|
||||
$(RUSTC) c.rs -L crate=$(TMPDIR)/b -L dependency=$(TMPDIR)/a \
|
||||
&& exit 1 || exit 0
|
|
@ -0,0 +1,20 @@
|
|||
// This test checks that extern crate declarations in Cargo without a corresponding declaration
|
||||
// in the manifest of a dependency are NOT allowed. The last rustc call does it anyways, which
|
||||
// should result in a compilation failure.
|
||||
// See https://github.com/rust-lang/rust/pull/21113
|
||||
|
||||
use run_make_support::{path, rfs, rust_lib_name, rustc};
|
||||
|
||||
fn main() {
|
||||
rfs::create_dir("a");
|
||||
rfs::create_dir("b");
|
||||
rustc().input("a.rs").run();
|
||||
rfs::rename(rust_lib_name("a"), path("a").join(rust_lib_name("a")));
|
||||
rustc().input("b.rs").library_search_path("a").run();
|
||||
rfs::rename(rust_lib_name("b"), path("b").join(rust_lib_name("b")));
|
||||
rustc()
|
||||
.input("c.rs")
|
||||
.library_search_path("crate=b")
|
||||
.library_search_path("dependency=a")
|
||||
.run_fail();
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
include ../tools.mk
|
||||
|
||||
# ignore-cross-compile
|
||||
# needs-unwind #[bench] and -Zpanic-abort-tests can't be combined
|
||||
|
||||
all:
|
||||
# Smoke-test that `#[bench]` isn't entirely broken.
|
||||
$(RUSTC) --test smokebench.rs -O
|
||||
$(call RUN,smokebench --bench)
|
||||
$(call RUN,smokebench --bench noiter)
|
||||
$(call RUN,smokebench --bench yesiter)
|
||||
$(call RUN,smokebench)
|
|
@ -0,0 +1,22 @@
|
|||
// #[bench] is a Rust feature to run benchmarks on performance-critical
|
||||
// code, which previously experienced a runtime panic bug in #103794.
|
||||
// In order to ensure future breakages of this feature are detected, this
|
||||
// smoke test was created, using the benchmarking feature with various
|
||||
// runtime flags.
|
||||
// See https://github.com/rust-lang/rust/issues/103794
|
||||
|
||||
//@ ignore-cross-compile
|
||||
// Reason: the compiled binary is executed
|
||||
//@ needs-unwind
|
||||
// Reason: #[bench] and -Zpanic-abort-tests can't be combined
|
||||
|
||||
use run_make_support::{run, run_with_args, rustc};
|
||||
|
||||
fn main() {
|
||||
// Smoke-test that #[bench] isn't entirely broken.
|
||||
rustc().arg("--test").input("smokebench.rs").opt().run();
|
||||
run_with_args("smokebench", &["--bench"]);
|
||||
run_with_args("smokebench", &["--bench", "noiter"]);
|
||||
run_with_args("smokebench", &["--bench", "yesiter"]);
|
||||
run("smokebench");
|
||||
}
|
Loading…
Reference in New Issue