mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-16 05:56:56 +00:00
rewrite and rename issue-83045 to rmake
This commit is contained in:
parent
05eac57ef6
commit
f768db6ba6
39
tests/run-make/ice-dep-cannot-find-dep/rmake.rs
Normal file
39
tests/run-make/ice-dep-cannot-find-dep/rmake.rs
Normal file
@ -0,0 +1,39 @@
|
||||
// This test case creates a situation where the crate loader would run
|
||||
// into an ICE (internal compiler error) when confronted with an invalid setup where it cannot
|
||||
// find the dependency of a direct dependency.
|
||||
//
|
||||
// The test case makes sure that the compiler produces the expected
|
||||
// error message but does not ICE immediately after.
|
||||
//
|
||||
// See https://github.com/rust-lang/rust/issues/83045
|
||||
|
||||
//@ only-x86_64
|
||||
//@ only-linux
|
||||
// Reason: This is a platform-independent issue, no need to waste time testing
|
||||
// everywhere.
|
||||
|
||||
// NOTE: We use `bare_rustc` below so that the compiler can't find liba.rlib
|
||||
// If we used `rustc` the additional '-L rmake_out' option would allow rustc to
|
||||
// actually find the crate.
|
||||
|
||||
use run_make_support::{bare_rustc, fs_wrapper, rust_lib_name, rustc};
|
||||
|
||||
fn main() {
|
||||
rustc().crate_name("a").crate_type("rlib").input("a.rs").arg("--verbose").run();
|
||||
rustc()
|
||||
.crate_name("b")
|
||||
.crate_type("rlib")
|
||||
.extern_("a", rust_lib_name("a"))
|
||||
.input("b.rs")
|
||||
.arg("--verbose")
|
||||
.run();
|
||||
fs_wrapper::create_dir("wrong_directory");
|
||||
bare_rustc()
|
||||
.extern_("b", rust_lib_name("b"))
|
||||
.crate_type("rlib")
|
||||
.edition("2018")
|
||||
.input("c.rs")
|
||||
.run_fail()
|
||||
.assert_stderr_contains("E0463")
|
||||
.assert_stderr_not_contains("internal compiler error");
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
include ../tools.mk
|
||||
|
||||
# This test case creates a situation where the crate loader would run
|
||||
# into an ICE when confronted with an invalid setup where it cannot
|
||||
# find the dependency of a direct dependency.
|
||||
#
|
||||
# The test case makes sure that the compiler produces the expected
|
||||
# error message but does not ICE immediately after.
|
||||
#
|
||||
# See https://github.com/rust-lang/rust/issues/83045
|
||||
|
||||
# This is a platform-independent issue, no need to waste time testing
|
||||
# everywhere.
|
||||
# only-x86_64
|
||||
# only-linux
|
||||
|
||||
# NOTE: We use BARE_RUSTC below so that the compiler can't find liba.rlib
|
||||
# If we used RUSTC the additional '-L TMPDIR' option would allow rustc to
|
||||
# actually find the crate.
|
||||
#
|
||||
# We check that we get the expected error message
|
||||
# But that we do not get an ICE
|
||||
|
||||
all:
|
||||
$(RUSTC) --crate-name=a --crate-type=rlib a.rs --verbose
|
||||
$(RUSTC) --crate-name=b --crate-type=rlib --extern a=$(TMPDIR)/liba.rlib b.rs --verbose
|
||||
$(BARE_RUSTC) --out-dir $(TMPDIR) \
|
||||
--extern b=$(TMPDIR)/libb.rlib \
|
||||
--crate-type=rlib \
|
||||
--edition=2018 \
|
||||
c.rs 2>&1 | tee $(TMPDIR)/output.txt || exit 0
|
||||
$(CGREP) E0463 < $(TMPDIR)/output.txt
|
||||
$(CGREP) -v "internal compiler error" < $(TMPDIR)/output.txt
|
Loading…
Reference in New Issue
Block a user