add tests for cargo miri and run them on travis
This commit is contained in:
parent
2cca377bd4
commit
17090b8524
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
/target
|
||||
target
|
||||
/doc
|
||||
tex/*/out
|
||||
*.dot
|
||||
|
@ -11,7 +11,12 @@ before_script:
|
||||
script:
|
||||
- |
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo build &&
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo test
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo test &&
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo install &&
|
||||
cd cargo-miri-test &&
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo miri &&
|
||||
env RUST_SYSROOT=$HOME/rust travis-cargo miri test &&
|
||||
cd ..
|
||||
notifications:
|
||||
email:
|
||||
on_success: never
|
||||
|
4
cargo-miri-test/Cargo.lock
generated
Normal file
4
cargo-miri-test/Cargo.lock
generated
Normal file
@ -0,0 +1,4 @@
|
||||
[root]
|
||||
name = "cargo-miri-test"
|
||||
version = "0.1.0"
|
||||
|
6
cargo-miri-test/Cargo.toml
Normal file
6
cargo-miri-test/Cargo.toml
Normal file
@ -0,0 +1,6 @@
|
||||
[package]
|
||||
name = "cargo-miri-test"
|
||||
version = "0.1.0"
|
||||
authors = ["Oliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>"]
|
||||
|
||||
[dependencies]
|
3
cargo-miri-test/src/main.rs
Normal file
3
cargo-miri-test/src/main.rs
Normal file
@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
assert_eq!(5, 5);
|
||||
}
|
4
cargo-miri-test/tests/foo.rs
Normal file
4
cargo-miri-test/tests/foo.rs
Normal file
@ -0,0 +1,4 @@
|
||||
#[test]
|
||||
fn bar() {
|
||||
assert_eq!(4, 4);
|
||||
}
|
@ -84,19 +84,16 @@ fn main() {
|
||||
let package = metadata.packages.remove(package_index);
|
||||
for target in package.targets {
|
||||
let args = std::env::args().skip(skip);
|
||||
if test && target.kind.get(0).map_or(false, |kind| kind == "test") {
|
||||
let kind = target.kind.get(0).expect("badly formatted cargo metadata: target::kind is an empty array");
|
||||
if test && kind == "test" {
|
||||
if let Err(code) = process(vec!["--test".to_string(), target.name].into_iter().chain(args),
|
||||
&dep_path) {
|
||||
std::process::exit(code);
|
||||
}
|
||||
} else if !test {
|
||||
if target.kind.get(0).map_or(false, |kind| kind == "bin") {
|
||||
if let Err(code) = process(vec!["--bin".to_string(), target.name].into_iter().chain(args),
|
||||
&dep_path) {
|
||||
std::process::exit(code);
|
||||
}
|
||||
} else {
|
||||
panic!("badly formatted cargo metadata: target::kind is an empty array");
|
||||
} else if !test && kind == "bin" {
|
||||
if let Err(code) = process(vec!["--bin".to_string(), target.name].into_iter().chain(args),
|
||||
&dep_path) {
|
||||
std::process::exit(code);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user