Rewrite and rename issue-26006 to rmake
This commit is contained in:
parent
9dc08e30bd
commit
fc4404c230
@ -38,7 +38,6 @@ run-make/interdependent-c-libraries/Makefile
|
|||||||
run-make/issue-107094/Makefile
|
run-make/issue-107094/Makefile
|
||||||
run-make/issue-14698/Makefile
|
run-make/issue-14698/Makefile
|
||||||
run-make/issue-15460/Makefile
|
run-make/issue-15460/Makefile
|
||||||
run-make/issue-26006/Makefile
|
|
||||||
run-make/issue-28595/Makefile
|
run-make/issue-28595/Makefile
|
||||||
run-make/issue-33329/Makefile
|
run-make/issue-33329/Makefile
|
||||||
run-make/issue-35164/Makefile
|
run-make/issue-35164/Makefile
|
||||||
|
5
tests/run-make/invalid-symlink-search-path/in/bar/lib.rs
Normal file
5
tests/run-make/invalid-symlink-search-path/in/bar/lib.rs
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
extern crate foo;
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let _ = foo::hello_world();
|
||||||
|
}
|
3
tests/run-make/invalid-symlink-search-path/in/foo/lib.rs
Normal file
3
tests/run-make/invalid-symlink-search-path/in/foo/lib.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
pub fn hello_world() -> i32 {
|
||||||
|
42
|
||||||
|
}
|
33
tests/run-make/invalid-symlink-search-path/rmake.rs
Normal file
33
tests/run-make/invalid-symlink-search-path/rmake.rs
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
// In this test, the symlink created is invalid (valid relative to the root, but not
|
||||||
|
// relatively to where it is located), and used to cause an internal
|
||||||
|
// compiler error (ICE) when passed as a library search path. This was fixed in #26044,
|
||||||
|
// and this test checks that the invalid symlink is instead simply ignored.
|
||||||
|
// See https://github.com/rust-lang/rust/issues/26006
|
||||||
|
|
||||||
|
//@ needs-symlink
|
||||||
|
//Reason: symlink requires elevated permission in Windows
|
||||||
|
|
||||||
|
use run_make_support::{rfs, rustc};
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// We create two libs: `bar` which depends on `foo`. We need to compile `foo` first.
|
||||||
|
rfs::create_dir("out");
|
||||||
|
rfs::create_dir("out/foo");
|
||||||
|
rustc()
|
||||||
|
.input("in/foo/lib.rs")
|
||||||
|
.crate_name("foo")
|
||||||
|
.crate_type("lib")
|
||||||
|
.metadata("foo")
|
||||||
|
.output("out/foo/libfoo.rlib")
|
||||||
|
.run();
|
||||||
|
rfs::create_dir("out/bar");
|
||||||
|
rfs::create_dir("out/bar/deps");
|
||||||
|
rfs::create_symlink("out/foo/libfoo.rlib", "out/bar/deps/libfoo.rlib");
|
||||||
|
// Check that the invalid symlink does not cause an ICE
|
||||||
|
rustc()
|
||||||
|
.input("in/bar/lib.rs")
|
||||||
|
.library_search_path("dependency=out/bar/deps")
|
||||||
|
.run_fail()
|
||||||
|
.assert_exit_code(1)
|
||||||
|
.assert_stderr_not_contains("internal compiler error");
|
||||||
|
}
|
@ -1,17 +0,0 @@
|
|||||||
# ignore-cross-compile
|
|
||||||
include ../tools.mk
|
|
||||||
|
|
||||||
# ignore-windows
|
|
||||||
|
|
||||||
OUT := $(TMPDIR)/out
|
|
||||||
|
|
||||||
all: time
|
|
||||||
|
|
||||||
time: libc
|
|
||||||
mkdir -p $(OUT)/time $(OUT)/time/deps
|
|
||||||
ln -sf $(OUT)/libc/liblibc.rlib $(OUT)/time/deps/
|
|
||||||
$(RUSTC) in/time/lib.rs -Ldependency=$(OUT)/time/deps/
|
|
||||||
|
|
||||||
libc:
|
|
||||||
mkdir -p $(OUT)/libc
|
|
||||||
$(RUSTC) in/libc/lib.rs --crate-name=libc -Cmetadata=foo -o $(OUT)/libc/liblibc.rlib
|
|
@ -1,3 +0,0 @@
|
|||||||
#![crate_type = "rlib"]
|
|
||||||
|
|
||||||
pub fn something() {}
|
|
@ -1,4 +0,0 @@
|
|||||||
#![feature(rustc_private)]
|
|
||||||
extern crate libc;
|
|
||||||
|
|
||||||
fn main() {}
|
|
@ -3,9 +3,10 @@
|
|||||||
// After this was fixed in #22135, this test checks that this bug does not make a resurgence.
|
// After this was fixed in #22135, this test checks that this bug does not make a resurgence.
|
||||||
// See https://github.com/rust-lang/rust/issues/22131
|
// See https://github.com/rust-lang/rust/issues/22131
|
||||||
|
|
||||||
//FIXME(Oneirical): try test-various
|
//@ ignore-cross-compile
|
||||||
|
// Reason: rustdoc fails to find the "foo" crate
|
||||||
|
|
||||||
use run_make_support::{rustc, rustdoc};
|
use run_make_support::{cwd, rustc, rustdoc};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
rustc().cfg(r#"feature="bar""#).crate_type("lib").input("foo.rs").run();
|
rustc().cfg(r#"feature="bar""#).crate_type("lib").input("foo.rs").run();
|
||||||
@ -13,6 +14,7 @@ fn main() {
|
|||||||
.arg("--test")
|
.arg("--test")
|
||||||
.arg("--cfg")
|
.arg("--cfg")
|
||||||
.arg(r#"feature="bar""#)
|
.arg(r#"feature="bar""#)
|
||||||
|
.library_search_path(cwd())
|
||||||
.input("foo.rs")
|
.input("foo.rs")
|
||||||
.run()
|
.run()
|
||||||
.assert_stdout_contains("foo.rs - foo (line 1) ... ok");
|
.assert_stdout_contains("foo.rs - foo (line 1) ... ok");
|
||||||
|
Loading…
Reference in New Issue
Block a user