rewrite mixing-formats test
This commit is contained in:
parent
5db8552b20
commit
836c08ed21
@ -1,75 +0,0 @@
|
||||
# ignore-cross-compile
|
||||
include ../tools.mk
|
||||
|
||||
# Testing various mixings of rlibs and dylibs. Makes sure that it's possible to
|
||||
# link an rlib to a dylib. The dependency tree among the file looks like:
|
||||
#
|
||||
# foo
|
||||
# / \
|
||||
# bar1 bar2
|
||||
# / \ /
|
||||
# baz baz2
|
||||
#
|
||||
# This is generally testing the permutations of the foo/bar1/bar2 layer against
|
||||
# the baz/baz2 layer
|
||||
|
||||
all:
|
||||
# Building just baz
|
||||
$(RUSTC) --crate-type=rlib foo.rs
|
||||
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=bin baz.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=rlib bar1.rs
|
||||
$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=bin baz.rs
|
||||
rm $(TMPDIR)/*
|
||||
# Building baz2
|
||||
$(RUSTC) --crate-type=rlib foo.rs
|
||||
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib baz2.rs && exit 1 || exit 0
|
||||
$(RUSTC) --crate-type=bin baz2.rs && exit 1 || exit 0
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=rlib foo.rs
|
||||
$(RUSTC) --crate-type=rlib bar1.rs
|
||||
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=rlib foo.rs
|
||||
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=rlib bar2.rs
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=rlib foo.rs
|
||||
$(RUSTC) --crate-type=rlib bar1.rs
|
||||
$(RUSTC) --crate-type=rlib bar2.rs
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=rlib bar1.rs
|
||||
$(RUSTC) --crate-type=rlib bar2.rs
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=rlib bar2.rs
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=rlib bar1.rs
|
||||
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
||||
rm $(TMPDIR)/*
|
||||
$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
|
||||
$(RUSTC) --crate-type=dylib,rlib baz2.rs
|
||||
$(RUSTC) --crate-type=bin baz2.rs
|
87
tests/run-make/mixing-formats/rmake.rs
Normal file
87
tests/run-make/mixing-formats/rmake.rs
Normal file
@ -0,0 +1,87 @@
|
||||
// Testing various mixings of rlibs and dylibs. Makes sure that it's possible to
|
||||
// link an rlib to a dylib. The dependency tree among the file looks like:
|
||||
//
|
||||
// foo
|
||||
// / \
|
||||
// bar1 bar2
|
||||
// / \ /
|
||||
// baz baz2
|
||||
//
|
||||
// This is generally testing the permutations of the foo/bar1/bar2 layer against
|
||||
// the baz/baz2 layer
|
||||
|
||||
//@ ignore-cross-compile
|
||||
|
||||
use run_make_support::{rustc, tmp_dir};
|
||||
use std::fs;
|
||||
|
||||
fn main() {
|
||||
// Building just baz
|
||||
rustc().crate_type("rlib").input("foo.rs").run();
|
||||
rustc().crate_type("dylib").input("bar1.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("bin").input("baz.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("dylib").input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("rlib").input("bar1.rs").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("bin").input("baz.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
// Building baz2
|
||||
rustc().crate_type("rlib").input("foo.rs").run();
|
||||
rustc().crate_type("dylib").input("bar1.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib").input("bar2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib").input("baz2.rs").run_fail_assert_exit_code(1);
|
||||
rustc().crate_type("bin").input("baz2.rs").run_fail_assert_exit_code(1);
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("rlib").input("foo.rs").run();
|
||||
rustc().crate_type("rlib").input("bar1.rs").run();
|
||||
rustc().crate_type("dylib").input("bar2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run;
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("rlib").input("foo.rs").run();
|
||||
rustc().crate_type("dylib").input("bar1.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("rlib").input("bar2.rs").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("rlib").input("foo.rs").run();
|
||||
rustc().crate_type("rlib").input("bar1.rs").run();
|
||||
rustc().crate_type("rlib").input("bar2.rs").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("dylib").input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("rlib").input("bar1.rs").run();
|
||||
rustc().crate_type("rlib").input("bar2.rs").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("dylib").input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib").input("bar1.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("rlib").input("bar2.rs").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("dylib").input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("rlib").input("bar1.rs").run();
|
||||
rustc().crate_type("dylib").input("bar2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
fs::remove_dir_all(tmp_dir()).unwrap();
|
||||
fs::create_dir(tmp_dir()).unwrap();
|
||||
rustc().crate_type("dylib").input("foo.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib").input("bar1.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib").input("bar2.rs").arg("-Cprefer-dynamic").run();
|
||||
rustc().crate_type("dylib,rlib").input("baz2.rs").run();
|
||||
rustc().crate_type("bin").input("baz2.rs").run();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user