mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 23:04:33 +00:00
rewrite suspicious-library in rmake
This commit is contained in:
parent
d553d5ba2d
commit
59e2074c79
@ -798,6 +798,7 @@ const KNOWN_DIRECTIVE_NAMES: &[&str] = &[
|
||||
"ignore-none",
|
||||
"ignore-nto",
|
||||
"ignore-nvptx64",
|
||||
"ignore-nvptx64-nvidia-cuda",
|
||||
"ignore-openbsd",
|
||||
"ignore-pass",
|
||||
"ignore-remote",
|
||||
|
@ -246,7 +246,6 @@ run-make/static-pie/Makefile
|
||||
run-make/staticlib-blank-lib/Makefile
|
||||
run-make/staticlib-dylib-linkage/Makefile
|
||||
run-make/std-core-cycle/Makefile
|
||||
run-make/suspicious-library/Makefile
|
||||
run-make/symbol-mangling-hashed/Makefile
|
||||
run-make/symbol-visibility/Makefile
|
||||
run-make/symbols-include-type-name/Makefile
|
||||
|
@ -7,26 +7,21 @@
|
||||
// was hashed by rustc in addition to the span length, and the fix still
|
||||
// works.
|
||||
|
||||
// FIXME: Ignore flags temporarily disabled for the test.
|
||||
// ignore-none
|
||||
// ignore-nvptx64-nvidia-cuda
|
||||
//@ ignore-none
|
||||
// reason: no-std is not supported
|
||||
|
||||
use run_make_support::{rustc, target, tmp_dir};
|
||||
//@ ignore-nvptx64-nvidia-cuda
|
||||
// FIXME: can't find crate for `std`
|
||||
|
||||
use run_make_support::{rustc, tmp_dir};
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
fs::create_dir(tmp_dir().join("src"));
|
||||
fs::create_dir(tmp_dir().join("incr"));
|
||||
fs::copy("a.rs", tmp_dir().join("main.rs"));
|
||||
rustc()
|
||||
.incremental(tmp_dir().join("incr"))
|
||||
.input(tmp_dir().join("src/main.rs"))
|
||||
.target(target())
|
||||
.run();
|
||||
fs::copy("b.rs", tmp_dir().join("main.rs"));
|
||||
rustc()
|
||||
.incremental(tmp_dir().join("incr"))
|
||||
.input(tmp_dir().join("src/main.rs"))
|
||||
.target(target())
|
||||
.run();
|
||||
// FIXME(Oneirical): Use run_make_support::fs_wrapper here.
|
||||
fs::create_dir(tmp_dir().join("src")).unwrap();
|
||||
fs::create_dir(tmp_dir().join("incr")).unwrap();
|
||||
fs::copy("a.rs", tmp_dir().join("src/main.rs")).unwrap();
|
||||
rustc().incremental(tmp_dir().join("incr")).input(tmp_dir().join("src/main.rs")).run();
|
||||
fs::copy("b.rs", tmp_dir().join("src/main.rs")).unwrap();
|
||||
rustc().incremental(tmp_dir().join("incr")).input(tmp_dir().join("src/main.rs")).run();
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ use std::fs;
|
||||
fn main() {
|
||||
rustc().extra_filename("-hash").input("foo.rs").run();
|
||||
rustc().input("bar.rs").run();
|
||||
fs::rename(tmp_dir().join("libfoo-hash.rlib"), tmp_dir().join("libfoo-another-hash.rlib"));
|
||||
fs::rename(tmp_dir().join("libfoo-hash.rlib"), tmp_dir().join("libfoo-another-hash.rlib"))
|
||||
.unwrap();
|
||||
rustc().input("baz.rs").run();
|
||||
}
|
||||
|
@ -1,8 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
$(RUSTC) foo.rs -C prefer-dynamic
|
||||
touch $(call DYLIB,foo-something-special)
|
||||
touch $(call DYLIB,foo-something-special2)
|
||||
$(RUSTC) bar.rs
|
14
tests/run-make/suspicious-library/rmake.rs
Normal file
14
tests/run-make/suspicious-library/rmake.rs
Normal file
@ -0,0 +1,14 @@
|
||||
// This test creates some fake dynamic libraries with nothing inside,
|
||||
// and checks if rustc avoids them and successfully compiles as a result.
|
||||
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::{dynamic_lib, rustc};
|
||||
use std::fs::File;
|
||||
|
||||
fn main() {
|
||||
rustc().input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
File::create(dynamic_lib("foo-something-special")).unwrap();
|
||||
File::create(dynamic_lib("foo-something-special2")).unwrap();
|
||||
rustc().input("bar.rs").run();
|
||||
}
|
Loading…
Reference in New Issue
Block a user