diff --git a/tests/bad-config.rs b/tests/bad-config.rs
index 06e58100559..831f5ced43c 100644
--- a/tests/bad-config.rs
+++ b/tests/bad-config.rs
@@ -7,7 +7,7 @@ use hamcrest::assert_that;
#[test]
fn bad1() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -18,8 +18,9 @@ fn bad1() {
.file(".cargo/config", r#"
[target]
nonexistent-target = "foo"
- "#);
- assert_that(foo.cargo_process("build").arg("-v")
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v")
.arg("--target=nonexistent-target"),
execs().with_status(101).with_stderr("\
[ERROR] expected table for configuration key `target.nonexistent-target`, \
@@ -29,7 +30,7 @@ but found string in [..]config
#[test]
fn bad2() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -40,8 +41,9 @@ fn bad2() {
.file(".cargo/config", r#"
[http]
proxy = 3.0
- "#);
- assert_that(foo.cargo_process("publish").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("publish").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] Couldn't load Cargo configuration
@@ -61,7 +63,7 @@ Caused by:
#[test]
fn bad3() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -72,10 +74,11 @@ fn bad3() {
.file(".cargo/config", r#"
[http]
proxy = true
- "#);
+ "#)
+ .build();
Package::new("foo", "1.0.0").publish();
- assert_that(foo.cargo_process("publish").arg("-v"),
+ assert_that(p.cargo("publish").arg("-v"),
execs().with_status(101).with_stderr("\
error: failed to update registry [..]
@@ -87,12 +90,13 @@ expected a string, but found a boolean for `http.proxy` in [..]config
#[test]
fn bad4() {
- let foo = project("foo")
+ let p = project("foo")
.file(".cargo/config", r#"
[cargo-new]
name = false
- "#);
- assert_that(foo.cargo_process("new").arg("-v").arg("foo"),
+ "#)
+ .build();
+ assert_that(p.cargo("new").arg("-v").arg("foo"),
execs().with_status(101).with_stderr("\
[ERROR] Failed to create project `foo` at `[..]`
@@ -104,16 +108,16 @@ expected a string, but found a boolean for `cargo-new.name` in [..]config
#[test]
fn bad5() {
- let foo = project("foo")
+ let p = project("foo")
.file(".cargo/config", r#"
foo = ""
"#)
.file("foo/.cargo/config", r#"
foo = 2
- "#);
- foo.build();
- assert_that(foo.cargo("new")
- .arg("-v").arg("foo").cwd(&foo.root().join("foo")),
+ "#)
+ .build();
+ assert_that(p.cargo("new")
+ .arg("-v").arg("foo").cwd(&p.root().join("foo")),
execs().with_status(101).with_stderr("\
[ERROR] Failed to create project `foo` at `[..]`
@@ -135,19 +139,20 @@ Caused by:
#[test]
fn bad_cargo_config_jobs() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
- "#)
- .file("src/lib.rs", "")
- .file(".cargo/config", r#"
- [build]
- jobs = -1
- "#);
- assert_that(foo.cargo_process("build").arg("-v"),
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
+ "#)
+ .file("src/lib.rs", "")
+ .file(".cargo/config", r#"
+ [build]
+ jobs = -1
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] build.jobs must be positive, but found -1 in [..]
"));
@@ -155,56 +160,59 @@ fn bad_cargo_config_jobs() {
#[test]
fn default_cargo_config_jobs() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
- "#)
- .file("src/lib.rs", "")
- .file(".cargo/config", r#"
- [build]
- jobs = 1
- "#);
- assert_that(foo.cargo_process("build").arg("-v"),
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
+ "#)
+ .file("src/lib.rs", "")
+ .file(".cargo/config", r#"
+ [build]
+ jobs = 1
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
#[test]
fn good_cargo_config_jobs() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
- "#)
- .file("src/lib.rs", "")
- .file(".cargo/config", r#"
- [build]
- jobs = 4
- "#);
- assert_that(foo.cargo_process("build").arg("-v"),
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
+ "#)
+ .file("src/lib.rs", "")
+ .file(".cargo/config", r#"
+ [build]
+ jobs = 4
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
#[test]
fn invalid_global_config() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
- [dependencies]
- foo = "0.1.0"
- "#)
- .file(".cargo/config", "4")
- .file("src/lib.rs", "");
+ [dependencies]
+ foo = "0.1.0"
+ "#)
+ .file(".cargo/config", "4")
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] Couldn't load Cargo configuration
@@ -221,17 +229,18 @@ Caused by:
#[test]
fn bad_cargo_lock() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
- "#)
- .file("Cargo.lock", "[[package]]\nfoo = 92")
- .file("src/lib.rs", "");
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
+ "#)
+ .file("Cargo.lock", "[[package]]\nfoo = 92")
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse lock file at: [..]Cargo.lock
@@ -272,8 +281,8 @@ fn duplicate_packages_in_cargo_lock() {
name = "foo"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").arg("--verbose"),
execs().with_status(101).with_stderr("\
@@ -311,8 +320,8 @@ fn bad_source_in_cargo_lock() {
name = "foo"
version = "0.1.0"
source = "You shall not parse"
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").arg("--verbose"),
execs().with_status(101).with_stderr("\
@@ -340,8 +349,8 @@ fn bad_dependency_in_lockfile() {
dependencies = [
"bar 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").arg("--verbose"),
execs().with_status(101).with_stderr("\
@@ -355,19 +364,20 @@ Caused by:
#[test]
fn bad_git_dependency() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
- [dependencies]
- foo = { git = "file:.." }
- "#)
- .file("src/lib.rs", "");
+ [dependencies]
+ foo = { git = "file:.." }
+ "#)
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[UPDATING] git repository `file:///`
[ERROR] failed to load source for a dependency on `foo`
@@ -385,19 +395,20 @@ Caused by:
#[test]
fn bad_crate_type() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
- [lib]
- crate-type = ["bad_type", "rlib"]
- "#)
- .file("src/lib.rs", "");
+ [lib]
+ crate-type = ["bad_type", "rlib"]
+ "#)
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr_contains("\
error: failed to run `rustc` to learn about target-specific information
"));
@@ -405,21 +416,22 @@ error: failed to run `rustc` to learn about target-specific information
#[test]
fn malformed_override() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
- [target.x86_64-apple-darwin.freetype]
- native = {
- foo: "bar"
- }
- "#)
- .file("src/lib.rs", "");
+ [target.x86_64-apple-darwin.freetype]
+ native = {
+ foo: "bar"
+ }
+ "#)
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -433,25 +445,26 @@ Caused by:
#[test]
fn duplicate_binary_names() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "qqq"
- version = "0.1.0"
- authors = ["A "]
-
- [[bin]]
- name = "e"
- path = "a.rs"
-
- [[bin]]
- name = "e"
- path = "b.rs"
- "#)
- .file("a.rs", r#"fn main() -> () {}"#)
- .file("b.rs", r#"fn main() -> () {}"#);
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "qqq"
+ version = "0.1.0"
+ authors = ["A "]
+
+ [[bin]]
+ name = "e"
+ path = "a.rs"
- assert_that(foo.cargo_process("build"),
+ [[bin]]
+ name = "e"
+ path = "b.rs"
+ "#)
+ .file("a.rs", r#"fn main() -> () {}"#)
+ .file("b.rs", r#"fn main() -> () {}"#)
+ .build();
+
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -462,25 +475,26 @@ Caused by:
#[test]
fn duplicate_example_names() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "qqq"
- version = "0.1.0"
- authors = ["A "]
-
- [[example]]
- name = "ex"
- path = "examples/ex.rs"
-
- [[example]]
- name = "ex"
- path = "examples/ex2.rs"
- "#)
- .file("examples/ex.rs", r#"fn main () -> () {}"#)
- .file("examples/ex2.rs", r#"fn main () -> () {}"#);
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "qqq"
+ version = "0.1.0"
+ authors = ["A "]
- assert_that(foo.cargo_process("build").arg("--example").arg("ex"),
+ [[example]]
+ name = "ex"
+ path = "examples/ex.rs"
+
+ [[example]]
+ name = "ex"
+ path = "examples/ex2.rs"
+ "#)
+ .file("examples/ex.rs", r#"fn main () -> () {}"#)
+ .file("examples/ex2.rs", r#"fn main () -> () {}"#)
+ .build();
+
+ assert_that(p.cargo("build").arg("--example").arg("ex"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -491,25 +505,26 @@ Caused by:
#[test]
fn duplicate_bench_names() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "qqq"
- version = "0.1.0"
- authors = ["A "]
-
- [[bench]]
- name = "ex"
- path = "benches/ex.rs"
-
- [[bench]]
- name = "ex"
- path = "benches/ex2.rs"
- "#)
- .file("benches/ex.rs", r#"fn main () {}"#)
- .file("benches/ex2.rs", r#"fn main () {}"#);
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "qqq"
+ version = "0.1.0"
+ authors = ["A "]
+
+ [[bench]]
+ name = "ex"
+ path = "benches/ex.rs"
+
+ [[bench]]
+ name = "ex"
+ path = "benches/ex2.rs"
+ "#)
+ .file("benches/ex.rs", r#"fn main () {}"#)
+ .file("benches/ex2.rs", r#"fn main () {}"#)
+ .build();
- assert_that(foo.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -520,40 +535,41 @@ Caused by:
#[test]
fn duplicate_deps() {
- let foo = project("foo")
- .file("shim-bar/Cargo.toml", r#"
- [package]
- name = "bar"
- version = "0.0.1"
- authors = []
- "#)
- .file("shim-bar/src/lib.rs", r#"
- pub fn a() {}
- "#)
- .file("linux-bar/Cargo.toml", r#"
- [package]
- name = "bar"
- version = "0.0.1"
- authors = []
- "#)
- .file("linux-bar/src/lib.rs", r#"
- pub fn a() {}
- "#)
- .file("Cargo.toml", r#"
- [package]
- name = "qqq"
- version = "0.0.1"
- authors = []
+ let p = project("foo")
+ .file("shim-bar/Cargo.toml", r#"
+ [package]
+ name = "bar"
+ version = "0.0.1"
+ authors = []
+ "#)
+ .file("shim-bar/src/lib.rs", r#"
+ pub fn a() {}
+ "#)
+ .file("linux-bar/Cargo.toml", r#"
+ [package]
+ name = "bar"
+ version = "0.0.1"
+ authors = []
+ "#)
+ .file("linux-bar/src/lib.rs", r#"
+ pub fn a() {}
+ "#)
+ .file("Cargo.toml", r#"
+ [package]
+ name = "qqq"
+ version = "0.0.1"
+ authors = []
- [dependencies]
- bar = { path = "shim-bar" }
+ [dependencies]
+ bar = { path = "shim-bar" }
- [target.x86_64-unknown-linux-gnu.dependencies]
- bar = { path = "linux-bar" }
- "#)
- .file("src/main.rs", r#"fn main () {}"#);
+ [target.x86_64-unknown-linux-gnu.dependencies]
+ bar = { path = "linux-bar" }
+ "#)
+ .file("src/main.rs", r#"fn main () {}"#)
+ .build();
- assert_that(foo.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -565,40 +581,41 @@ have a single canonical source path irrespective of build target.
#[test]
fn duplicate_deps_diff_sources() {
- let foo = project("foo")
- .file("shim-bar/Cargo.toml", r#"
- [package]
- name = "bar"
- version = "0.0.1"
- authors = []
- "#)
- .file("shim-bar/src/lib.rs", r#"
- pub fn a() {}
- "#)
- .file("linux-bar/Cargo.toml", r#"
- [package]
- name = "bar"
- version = "0.0.1"
- authors = []
- "#)
- .file("linux-bar/src/lib.rs", r#"
- pub fn a() {}
- "#)
- .file("Cargo.toml", r#"
- [package]
- name = "qqq"
- version = "0.0.1"
- authors = []
+ let p = project("foo")
+ .file("shim-bar/Cargo.toml", r#"
+ [package]
+ name = "bar"
+ version = "0.0.1"
+ authors = []
+ "#)
+ .file("shim-bar/src/lib.rs", r#"
+ pub fn a() {}
+ "#)
+ .file("linux-bar/Cargo.toml", r#"
+ [package]
+ name = "bar"
+ version = "0.0.1"
+ authors = []
+ "#)
+ .file("linux-bar/src/lib.rs", r#"
+ pub fn a() {}
+ "#)
+ .file("Cargo.toml", r#"
+ [package]
+ name = "qqq"
+ version = "0.0.1"
+ authors = []
- [target.i686-unknown-linux-gnu.dependencies]
- bar = { path = "shim-bar" }
+ [target.i686-unknown-linux-gnu.dependencies]
+ bar = { path = "shim-bar" }
- [target.x86_64-unknown-linux-gnu.dependencies]
- bar = { path = "linux-bar" }
- "#)
- .file("src/main.rs", r#"fn main () {}"#);
+ [target.x86_64-unknown-linux-gnu.dependencies]
+ bar = { path = "linux-bar" }
+ "#)
+ .file("src/main.rs", r#"fn main () {}"#)
+ .build();
- assert_that(foo.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -620,17 +637,17 @@ fn unused_keys() {
[target.foo]
bar = "3"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
warning: unused manifest key: target.foo.bar
[COMPILING] foo v0.1.0 (file:///[..])
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
"));
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -641,8 +658,9 @@ warning: unused manifest key: target.foo.bar
"#)
.file("src/lib.rs", r#"
pub fn foo() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
warning: unused manifest key: project.bulid
@@ -650,8 +668,7 @@ warning: unused manifest key: project.bulid
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
"));
- let mut p = project("bar");
- p = p
+ let p = project("bar")
.file("Cargo.toml", r#"
[project]
@@ -664,8 +681,9 @@ warning: unused manifest key: project.bulid
"#)
.file("src/lib.rs", r#"
pub fn foo() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
warning: unused manifest key: lib.build
@@ -678,20 +696,21 @@ warning: unused manifest key: lib.build
#[test]
fn empty_dependencies() {
let p = project("empty_deps")
- .file("Cargo.toml", r#"
- [package]
- name = "empty_deps"
- version = "0.0.0"
- authors = []
+ .file("Cargo.toml", r#"
+ [package]
+ name = "empty_deps"
+ version = "0.0.0"
+ authors = []
- [dependencies]
- foo = {}
- "#)
- .file("src/main.rs", "fn main() {}");
+ [dependencies]
+ foo = {}
+ "#)
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "0.0.1").publish();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr_contains("\
warning: dependency (foo) specified without providing a local path, Git repository, or version \
to use. This will be considered an error in future versions
@@ -701,18 +720,19 @@ to use. This will be considered an error in future versions
#[test]
fn invalid_toml_historically_allowed_is_warned() {
let p = project("empty_deps")
- .file("Cargo.toml", r#"
- [package]
- name = "empty_deps"
- version = "0.0.0"
- authors = []
- "#)
- .file(".cargo/config", r#"
- [foo] bar = 2
- "#)
- .file("src/main.rs", "fn main() {}");
+ .file("Cargo.toml", r#"
+ [package]
+ name = "empty_deps"
+ version = "0.0.0"
+ authors = []
+ "#)
+ .file(".cargo/config", r#"
+ [foo] bar = 2
+ "#)
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
warning: TOML file found which contains invalid syntax and will soon not parse
at `[..]config`.
@@ -728,21 +748,22 @@ in the future.
#[test]
fn ambiguous_git_reference() {
- let foo = project("foo")
- .file("Cargo.toml", r#"
- [package]
- name = "foo"
- version = "0.0.0"
- authors = []
+ let p = project("foo")
+ .file("Cargo.toml", r#"
+ [package]
+ name = "foo"
+ version = "0.0.0"
+ authors = []
- [dependencies.bar]
- git = "https://127.0.0.1"
- branch = "master"
- tag = "some-tag"
- "#)
- .file("src/lib.rs", "");
+ [dependencies.bar]
+ git = "https://127.0.0.1"
+ branch = "master"
+ tag = "some-tag"
+ "#)
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_stderr_contains("\
[WARNING] dependency (bar) specification is ambiguous. \
Only one of `branch`, `tag` or `rev` is allowed. \
@@ -762,9 +783,10 @@ fn bad_source_config1() {
.file("src/lib.rs", "")
.file(".cargo/config", r#"
[source.foo]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: no source URL specified for `source.foo`, need [..]
"));
@@ -787,9 +809,10 @@ fn bad_source_config2() {
[source.crates-io]
registry = 'http://example.com'
replace-with = 'bar'
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to load source for a dependency on `bar`
@@ -819,9 +842,10 @@ fn bad_source_config3() {
[source.crates-io]
registry = 'http://example.com'
replace-with = 'crates-io'
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to load source for a dependency on `bar`
@@ -854,9 +878,10 @@ fn bad_source_config4() {
[source.bar]
registry = 'http://example.com'
replace-with = 'crates-io'
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to load source for a dependency on `bar`
@@ -889,9 +914,10 @@ fn bad_source_config5() {
[source.bar]
registry = 'not a url'
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: configuration key `source.bar.registry` specified an invalid URL (in [..])
@@ -913,9 +939,10 @@ fn both_git_and_path_specified() {
git = "https://127.0.0.1"
path = "bar"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(foo.cargo("build").arg("-v"),
execs().with_stderr_contains("\
[WARNING] dependency (bar) specification is ambiguous. \
Only one of `git` or `path` is allowed. \
@@ -940,9 +967,10 @@ fn bad_source_config6() {
[source.crates-io]
registry = 'http://example.com'
replace-with = ['not', 'a', 'string']
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: expected a string, but found a array for `source.crates-io.replace-with` in [..]
"));
@@ -961,9 +989,10 @@ fn ignored_git_revision() {
path = "bar"
branch = "spam"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(foo.cargo("build").arg("-v"),
execs().with_stderr_contains("\
[WARNING] key `branch` is ignored for dependency (bar). \
This will be considered an error in future versions"));
@@ -986,11 +1015,12 @@ fn bad_source_config7() {
[source.foo]
registry = 'http://example.com'
local-registry = 'file:///another/file'
- "#);
+ "#)
+ .build();
Package::new("bar", "0.1.0").publish();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: more than one source URL specified for `source.foo`
"));
@@ -1008,9 +1038,10 @@ fn bad_dependency() {
[dependencies]
bar = 3
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
@@ -1031,9 +1062,10 @@ fn bad_debuginfo() {
[profile.dev]
debug = 'a'
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
@@ -1052,9 +1084,10 @@ fn bad_opt_level() {
authors = []
build = 3
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
diff --git a/tests/bad-manifest-path.rs b/tests/bad-manifest-path.rs
index 90ba83bfce8..2dc0d5b266f 100644
--- a/tests/bad-manifest-path.rs
+++ b/tests/bad-manifest-path.rs
@@ -7,9 +7,10 @@ use hamcrest::{assert_that};
fn assert_not_a_cargo_toml(command: &str, manifest_path_argument: &str) {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process(command)
+ assert_that(p.cargo(command)
.arg("--manifest-path").arg(manifest_path_argument)
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -19,11 +20,11 @@ fn assert_not_a_cargo_toml(command: &str, manifest_path_argument: &str) {
fn assert_cargo_toml_doesnt_exist(command: &str, manifest_path_argument: &str) {
- let p = project("foo");
+ let p = project("foo").build();
let expected_path = manifest_path_argument
.split('/').collect::>().join("[..]");
- assert_that(p.cargo_process(command)
+ assert_that(p.cargo(command)
.arg("--manifest-path").arg(manifest_path_argument)
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -317,9 +318,10 @@ fn update_dir_to_nonexistent_cargo_toml() {
fn verify_project_dir_containing_cargo_toml() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg("foo")
.cwd(p.root().parent().unwrap()),
execs().with_status(1)
@@ -332,9 +334,10 @@ fn verify_project_dir_containing_cargo_toml() {
fn verify_project_dir_plus_file() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg("foo/bar")
.cwd(p.root().parent().unwrap()),
execs().with_status(1)
@@ -347,9 +350,10 @@ fn verify_project_dir_plus_file() {
fn verify_project_dir_plus_path() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg("foo/bar/baz")
.cwd(p.root().parent().unwrap()),
execs().with_status(1)
@@ -360,8 +364,8 @@ fn verify_project_dir_plus_path() {
#[test]
fn verify_project_dir_to_nonexistent_cargo_toml() {
- let p = project("foo");
- assert_that(p.cargo_process("verify-project")
+ let p = project("foo").build();
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg("foo/bar/baz/Cargo.toml")
.cwd(p.root().parent().unwrap()),
execs().with_status(1)
diff --git a/tests/bench.rs b/tests/bench.rs
index a2a2f21a637..30cebde2143 100644
--- a/tests/bench.rs
+++ b/tests/bench.rs
@@ -32,9 +32,10 @@ fn cargo_bench_simple() {
#[bench]
fn bench_hello(_b: &mut test::Bencher) {
assert_eq!(hello(), "hello")
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build"), execs());
+ assert_that(p.cargo("build"), execs());
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -52,7 +53,7 @@ fn cargo_bench_simple() {
fn bench_bench_implicit() {
if !is_nightly() { return }
- let prj = project("foo")
+ let p = project("foo")
.file("Cargo.toml" , r#"
[package]
name = "foo"
@@ -72,15 +73,16 @@ fn bench_bench_implicit() {
.file("benches/mybench.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run2(_ben: &mut test::Bencher) { }"#);
+ #[bench] fn run2(_ben: &mut test::Bencher) { }"#)
+ .build();
- assert_that(prj.cargo_process("bench").arg("--benches"),
+ assert_that(p.cargo("bench").arg("--benches"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] release [optimized] target(s) in [..]
[RUNNING] target[/]release[/]deps[/]mybench-[..][EXE]
-", dir = prj.url()))
+", dir = p.url()))
.with_stdout_contains("test run2 ... bench: [..]"));
}
@@ -88,7 +90,7 @@ fn bench_bench_implicit() {
fn bench_bin_implicit() {
if !is_nightly() { return }
- let prj = project("foo")
+ let p = project("foo")
.file("Cargo.toml" , r#"
[package]
name = "foo"
@@ -108,15 +110,16 @@ fn bench_bin_implicit() {
.file("benches/mybench.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run2(_ben: &mut test::Bencher) { }"#);
+ #[bench] fn run2(_ben: &mut test::Bencher) { }"#)
+ .build();
- assert_that(prj.cargo_process("bench").arg("--bins"),
+ assert_that(p.cargo("bench").arg("--bins"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] release [optimized] target(s) in [..]
[RUNNING] target[/]release[/]deps[/]foo-[..][EXE]
-", dir = prj.url()))
+", dir = p.url()))
.with_stdout_contains("test run1 ... bench: [..]"));
}
@@ -124,7 +127,7 @@ fn bench_bin_implicit() {
fn bench_tarname() {
if !is_nightly() { return }
- let prj = project("foo")
+ let p = project("foo")
.file("Cargo.toml" , r#"
[package]
name = "foo"
@@ -138,15 +141,16 @@ fn bench_tarname() {
.file("benches/bin2.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run2(_ben: &mut test::Bencher) { }"#);
+ #[bench] fn run2(_ben: &mut test::Bencher) { }"#)
+ .build();
- assert_that(prj.cargo_process("bench").arg("--bench").arg("bin2"),
+ assert_that(p.cargo("bench").arg("--bench").arg("bin2"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] release [optimized] target(s) in [..]
[RUNNING] target[/]release[/]deps[/]bin2-[..][EXE]
-", dir = prj.url()))
+", dir = p.url()))
.with_stdout_contains("test run2 ... bench: [..]"));
}
@@ -154,7 +158,7 @@ fn bench_tarname() {
fn bench_multiple_targets() {
if !is_nightly() { return }
- let prj = project("foo")
+ let p = project("foo")
.file("Cargo.toml" , r#"
[package]
name = "foo"
@@ -172,9 +176,10 @@ fn bench_multiple_targets() {
.file("benches/bin3.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run3(_ben: &mut test::Bencher) { }"#);
+ #[bench] fn run3(_ben: &mut test::Bencher) { }"#)
+ .build();
- assert_that(prj.cargo_process("bench")
+ assert_that(p.cargo("bench")
.arg("--bench").arg("bin1")
.arg("--bench").arg("bin2"),
execs()
@@ -196,9 +201,10 @@ fn cargo_bench_verbose() {
extern crate test;
fn main() {}
#[bench] fn bench_hello(_b: &mut test::Bencher) {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench").arg("-v").arg("hello"),
+ assert_that(p.cargo("bench").arg("-v").arg("hello"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.5.0 ({url})
[RUNNING] `rustc [..] src[/]main.rs [..]`
@@ -239,9 +245,10 @@ fn many_similar_names() {
extern crate foo;
extern crate test;
#[bench] fn bench_bench(_b: &mut test::Bencher) { foo::foo() }
- "#);
+ "#)
+ .build();
- let output = p.cargo_process("bench").exec_with_output().unwrap();
+ let output = p.cargo("bench").exec_with_output().unwrap();
let output = str::from_utf8(&output.stdout).unwrap();
assert!(output.contains("test bin_bench"), "bin_bench missing\n{}", output);
assert!(output.contains("test lib_bench"), "lib_bench missing\n{}", output);
@@ -269,9 +276,10 @@ fn cargo_bench_failing_test() {
#[bench]
fn bench_hello(_b: &mut test::Bencher) {
assert_eq!(hello(), "nope")
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build"), execs());
+ assert_that(p.cargo("build"), execs());
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -332,9 +340,10 @@ fn bench_with_lib_dep() {
#[bench]
fn bin_bench(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] release [optimized] target(s) in [..]
@@ -368,8 +377,9 @@ fn bench_with_deep_lib_dep() {
fn bar_bench(_b: &mut test::Bencher) {
foo::foo();
}
- ");
- let p2 = project("foo")
+ ")
+ .build();
+ let _p2 = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -385,10 +395,10 @@ fn bench_with_deep_lib_dep() {
#[bench]
fn foo_bench(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- p2.build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ([..])
@@ -430,9 +440,10 @@ fn external_bench_explicit() {
#[bench]
fn external_bench(_b: &mut test::Bencher) {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] release [optimized] target(s) in [..]
@@ -471,9 +482,10 @@ fn external_bench_implicit() {
#[bench]
fn external_bench(_b: &mut test::Bencher) {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] release [optimized] target(s) in [..]
@@ -497,8 +509,9 @@ fn dont_run_examples() {
.file("src/lib.rs", r"")
.file("examples/dont-run-me-i-will-fail.rs", r#"
fn main() { panic!("Examples should not be run by 'cargo test'"); }
- "#);
- assert_that(p.cargo_process("bench"),
+ "#)
+ .build();
+ assert_that(p.cargo("bench"),
execs().with_status(0));
}
@@ -520,9 +533,10 @@ fn pass_through_command_line() {
#[bench] fn foo(_b: &mut test::Bencher) {}
#[bench] fn bar(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench").arg("bar"),
+ assert_that(p.cargo("bench").arg("bar"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -553,9 +567,10 @@ fn cargo_bench_twice() {
#[bench]
fn dummy_bench(b: &mut test::Bencher) { }
- "#);
+ "#)
+ .build();
- p.cargo_process("build");
+ p.cargo("build");
for _ in 0..2 {
assert_that(p.cargo("bench"),
@@ -594,9 +609,10 @@ fn lib_bin_same_name() {
#[bench]
fn bin_bench(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] release [optimized] target(s) in [..]
@@ -636,9 +652,10 @@ fn lib_with_standard_name() {
#[bench]
fn bench(_b: &mut test::Bencher) { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -679,9 +696,10 @@ fn lib_with_standard_name2() {
#[bench]
fn bench(_b: &mut test::Bencher) { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -739,9 +757,10 @@ fn bench_dylib() {
"#)
.file("bar/src/lib.rs", "
pub fn baz() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench").arg("-v"),
+ assert_that(p.cargo("bench").arg("-v"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
@@ -786,9 +805,10 @@ fn bench_twice_with_build_cmd() {
extern crate test;
#[bench]
fn foo(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -857,9 +877,10 @@ fn bench_with_examples() {
println!("example1");
testbench::f1();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench").arg("-v"),
+ assert_that(p.cargo("bench").arg("-v"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] testbench v6.6.6 ({url})
@@ -898,9 +919,10 @@ fn test_a_bench() {
.file("benches/b.rs", r#"
#[test]
fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.1.0 ([..])
@@ -930,9 +952,10 @@ fn test_bench_no_run() {
#[bench]
fn bench_baz(_: &mut Bencher) {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench").arg("--no-run"),
+ assert_that(p.cargo("bench").arg("--no-run"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.1.0 ([..])
@@ -966,9 +989,10 @@ fn test_bench_no_fail_fast() {
#[bench]
fn bench_nope(_b: &mut test::Bencher) {
assert_eq!("nope", hello())
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("bench").arg("--no-fail-fast"),
+ assert_that(p.cargo("bench").arg("--no-fail-fast"),
execs().with_status(101)
.with_stderr_contains("\
[RUNNING] target[/]release[/]deps[/]foo-[..][EXE]")
@@ -996,9 +1020,10 @@ fn test_bench_multiple_packages() {
[dependencies.baz]
path = "../baz"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- let bar = project("bar")
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[project]
name = "bar"
@@ -1018,10 +1043,10 @@ fn test_bench_multiple_packages() {
#[bench]
fn bench_bar(_b: &mut Bencher) {}
- "#);
- bar.build();
+ "#)
+ .build();
- let baz = project("baz")
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[project]
name = "baz"
@@ -1041,11 +1066,11 @@ fn test_bench_multiple_packages() {
#[bench]
fn bench_baz(_b: &mut Bencher) {}
- "#);
- baz.build();
+ "#)
+ .build();
- assert_that(p.cargo_process("bench").arg("-p").arg("bar").arg("-p").arg("baz"),
+ assert_that(p.cargo("bench").arg("-p").arg("bar").arg("-p").arg("baz"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] target[/]release[/]deps[/]bbaz-[..][EXE]")
@@ -1098,9 +1123,10 @@ fn bench_all_workspace() {
#[bench]
fn bench_bar(_: &mut Bencher) -> () { () }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench")
+ assert_that(p.cargo("bench")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("\
@@ -1152,9 +1178,10 @@ fn bench_all_exclude() {
pub fn baz() {
break_the_build();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench")
+ assert_that(p.cargo("bench")
.arg("--all")
.arg("--exclude")
.arg("baz"),
@@ -1206,10 +1233,11 @@ fn bench_all_virtual_manifest() {
#[bench]
fn bench_bar(_: &mut Bencher) -> () { () }
- "#);
+ "#)
+ .build();
// The order in which foo and bar are built is not guaranteed
- assert_that(p.cargo_process("bench")
+ assert_that(p.cargo("bench")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("\
@@ -1245,9 +1273,10 @@ fn legacy_bench_name() {
#[bench]
fn bench_foo(_: &mut Bencher) -> () { () }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("bench"), execs().with_status(0).with_stderr_contains("\
+ assert_that(p.cargo("bench"), execs().with_status(0).with_stderr_contains("\
[WARNING] path `[..]src[/]bench.rs` was erroneously implicitly accepted for benchmark `bench`,
please set bench.path in Cargo.toml"));
}
@@ -1290,11 +1319,12 @@ fn bench_virtual_manifest_all_implied() {
use test::Bencher;
#[bench]
fn bench_bar(_: &mut Bencher) -> () { () }
- "#);
+ "#)
+ .build();
// The order in which foo and bar are built is not guaranteed
- assert_that(p.cargo_process("bench"),
+ assert_that(p.cargo("bench"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] target[/]release[/]deps[/]bar-[..][EXE]")
diff --git a/tests/build-auth.rs b/tests/build-auth.rs
index ef1484820db..064fce4fdbd 100644
--- a/tests/build-auth.rs
+++ b/tests/build-auth.rs
@@ -77,9 +77,10 @@ fn http_auth_offered() {
println!("username=foo");
println!("password=bar");
}
- "#);
+ "#)
+ .build();
- assert_that(script.cargo_process("build").arg("-v"),
+ assert_that(script.cargo("build").arg("-v"),
execs().with_status(0));
let script = script.bin("script");
@@ -102,9 +103,10 @@ fn http_auth_offered() {
.file(".cargo/config","\
[net]
retry = 0
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr(&format!("\
[UPDATING] git repository `http://{addr}/foo/bar`
[ERROR] failed to load source for a dependency on `bar`
@@ -152,9 +154,10 @@ fn https_something_happens() {
.file(".cargo/config","\
[net]
retry = 0
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr_contains(&format!("\
[UPDATING] git repository `https://{addr}/foo/bar`
", addr = addr))
@@ -195,9 +198,10 @@ fn ssh_something_happens() {
[dependencies.bar]
git = "ssh://127.0.0.1:{}/foo/bar"
"#, addr.port()))
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr_contains(&format!("\
[UPDATING] git repository `ssh://{addr}/foo/bar`
", addr = addr))
diff --git a/tests/build-lib.rs b/tests/build-lib.rs
index 7b9af2a484f..682b7c7e8ea 100644
--- a/tests/build-lib.rs
+++ b/tests/build-lib.rs
@@ -1,10 +1,10 @@
extern crate cargotest;
extern crate hamcrest;
-use cargotest::support::{basic_bin_manifest, execs, project, ProjectBuilder};
+use cargotest::support::{basic_bin_manifest, execs, project, Project};
use hamcrest::{assert_that};
-fn verbose_output_for_lib(p: &ProjectBuilder) -> String {
+fn verbose_output_for_lib(p: &Project) -> String {
format!("\
[COMPILING] {name} v{version} ({url})
[RUNNING] `rustc --crate-name {name} src[/]lib.rs --crate-type lib \
@@ -31,9 +31,10 @@ fn build_lib_only() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--lib").arg("-v"),
+ assert_that(p.cargo("build").arg("--lib").arg("-v"),
execs()
.with_status(0)
.with_stderr(verbose_output_for_lib(&p)));
@@ -46,9 +47,10 @@ fn build_with_no_lib() {
.file("Cargo.toml", &basic_bin_manifest("foo"))
.file("src/main.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--lib"),
+ assert_that(p.cargo("build").arg("--lib"),
execs().with_status(101)
.with_stderr("[ERROR] no library targets found"));
}
@@ -77,9 +79,10 @@ fn build_with_relative_cargo_home_path() {
name = "test-dependency"
version = "0.0.1"
authors = ["wycats@example.com"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").env("CARGO_HOME", "./cargo_home/"),
+ assert_that(p.cargo("build").env("CARGO_HOME", "./cargo_home/"),
execs()
.with_status(0));
}
diff --git a/tests/build-script-env.rs b/tests/build-script-env.rs
index 1230de34bfe..610301cfb9e 100644
--- a/tests/build-script-env.rs
+++ b/tests/build-script-env.rs
@@ -23,8 +23,8 @@ fn rerun_if_env_changes() {
fn main() {
println!("cargo:rerun-if-env-changed=FOO");
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0)
@@ -75,8 +75,8 @@ fn rerun_if_env_or_file_changes() {
println!("cargo:rerun-if-changed=foo");
}
"#)
- .file("foo", "");
- p.build();
+ .file("foo", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0)
diff --git a/tests/build-script.rs b/tests/build-script.rs
index 4e7a5816f69..0748b44ca2f 100644
--- a/tests/build-script.rs
+++ b/tests/build-script.rs
@@ -28,8 +28,9 @@ fn custom_build_script_failed() {
fn main() {
std::process::exit(101);
}
- "#);
- assert_that(p.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr(&format!("\
[COMPILING] foo v0.5.0 ({url})
@@ -111,10 +112,9 @@ fn custom_build_env_vars() {
"#,
p.root().join("target").join("debug").join("build").display());
- let p = p.file("bar/build.rs", &file_content);
+ let p = p.file("bar/build.rs", &file_content).build();
-
- assert_that(p.cargo_process("build").arg("--features").arg("bar_feat"),
+ assert_that(p.cargo("build").arg("--features").arg("bar_feat"),
execs().with_status(0));
}
@@ -136,9 +136,10 @@ fn custom_build_script_wrong_rustc_flags() {
fn main() {
println!("cargo:rustc-flags=-aaa -bbb");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr_contains(&format!("\
[ERROR] Only `-l` and `-L` flags are allowed in build script of `foo v0.5.0 ({})`: \
@@ -177,10 +178,11 @@ fn custom_build_script_rustc_flags() {
fn main() {
println!("cargo:rustc-flags=-l nonexistinglib -L /dummy/path1 -L /dummy/path2");
}
- "#);
+ "#)
+ .build();
// TODO: TEST FAILS BECAUSE OF WRONG STDOUT (but otherwise, the build works)
- assert_that(p.cargo_process("build").arg("--verbose"),
+ assert_that(p.cargo("build").arg("--verbose"),
execs().with_status(101)
.with_stderr(&format!("\
[COMPILING] bar v0.5.0 ({url})
@@ -208,9 +210,10 @@ fn links_no_build_cmd() {
authors = []
links = "a"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] package `foo v0.5.0 (file://[..])` specifies that it links to `a` but does \
@@ -243,9 +246,10 @@ fn links_duplicates() {
build = "build.rs"
"#)
.file("a-sys/src/lib.rs", "")
- .file("a-sys/build.rs", "");
+ .file("a-sys/build.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] Multiple packages link to native library `a`. A native library can be \
@@ -296,9 +300,10 @@ fn links_duplicates_deep_dependency() {
build = "build.rs"
"#)
.file("a/a-sys/src/lib.rs", "")
- .file("a/a-sys/build.rs", "");
+ .file("a/a-sys/build.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] Multiple packages link to native library `a`. A native library can be \
@@ -353,9 +358,10 @@ fn overrides_and_links() {
build = "build.rs"
"#)
.file("a/src/lib.rs", "")
- .file("a/build.rs", "not valid rust code");
+ .file("a/build.rs", "not valid rust code")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[..]
@@ -387,9 +393,10 @@ fn unused_overrides() {
rustc-flags = "-L foo -L bar"
foo = "bar"
bar = "baz"
- "#, target));
+ "#, target))
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -432,9 +439,10 @@ fn links_passes_env_vars() {
println!("cargo:foo=bar");
println!("cargo:bar=baz");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -451,9 +459,10 @@ fn only_rerun_build_script() {
.file("src/lib.rs", "")
.file("build.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
p.root().move_into_the_past();
@@ -489,8 +498,8 @@ fn rebuild_continues_to_pass_env_vars() {
println!("cargo:bar=baz");
std::thread::sleep(Duration::from_millis(500));
}
- "#);
- a.build();
+ "#)
+ .build();
a.root().move_into_the_past();
let p = project("foo")
@@ -511,9 +520,10 @@ fn rebuild_continues_to_pass_env_vars() {
assert_eq!(env::var("DEP_FOO_FOO").unwrap(), "bar");
assert_eq!(env::var("DEP_FOO_BAR").unwrap(), "baz");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
p.root().move_into_the_past();
@@ -537,10 +547,11 @@ fn testing_and_such() {
.file("src/lib.rs", "")
.file("build.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
println!("build");
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
p.root().move_into_the_past();
@@ -625,9 +636,10 @@ fn propagation_of_l_flags() {
.file(".cargo/config", &format!(r#"
[target.{}.foo]
rustc-flags = "-L foo"
- "#, target));
+ "#, target))
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("-j1"),
+ assert_that(p.cargo("build").arg("-v").arg("-j1"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustc --crate-name a [..] -L bar[..]-L foo[..]`
@@ -679,9 +691,10 @@ fn propagation_of_l_flags_new() {
.file(".cargo/config", &format!(r#"
[target.{}.foo]
rustc-link-search = ["foo"]
- "#, target));
+ "#, target))
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("-j1"),
+ assert_that(p.cargo("build").arg("-v").arg("-j1"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustc --crate-name a [..] -L bar[..]-L foo[..]`
@@ -714,9 +727,10 @@ fn build_deps_simple() {
version = "0.5.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[COMPILING] a v0.5.0 (file://[..])
@@ -754,9 +768,10 @@ fn build_deps_not_for_normal() {
version = "0.5.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--target").arg(&target),
+ assert_that(p.cargo("build").arg("-v").arg("--target").arg(&target),
execs().with_status(101)
.with_stderr_contains("\
[..]can't find crate for `aaaaa`[..]
@@ -806,9 +821,10 @@ fn build_cmd_with_a_build_cmd() {
version = "0.5.0"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[COMPILING] b v0.5.0 (file://[..])
@@ -856,10 +872,11 @@ fn out_dir_is_preserved() {
let out = env::var("OUT_DIR").unwrap();
File::create(Path::new(&out).join("foo")).unwrap();
}
- "#);
+ "#)
+ .build();
// Make the file
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
p.root().move_into_the_past();
@@ -902,8 +919,9 @@ fn output_separate_lines() {
println!("cargo:rustc-flags=-L foo");
println!("cargo:rustc-flags=-l static=foo");
}
- "#);
- assert_that(p.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr_contains("\
[COMPILING] foo v0.5.0 (file://[..])
@@ -930,8 +948,9 @@ fn output_separate_lines_new() {
println!("cargo:rustc-link-search=foo");
println!("cargo:rustc-link-lib=static=foo");
}
- "#);
- assert_that(p.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr_contains("\
[COMPILING] foo v0.5.0 (file://[..])
@@ -975,8 +994,8 @@ fn code_generation() {
}
").unwrap();
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("run"),
execs().with_status(0)
@@ -1005,9 +1024,10 @@ fn release_with_build_script() {
.file("src/lib.rs", "")
.file("build.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0));
}
@@ -1021,8 +1041,9 @@ fn build_script_only() {
authors = []
build = "build.rs"
"#)
- .file("build.rs", r#"fn main() {}"#);
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("build.rs", r#"fn main() {}"#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -1068,8 +1089,9 @@ fn shared_dep_with_a_build_script() {
[dependencies.a]
path = "../a"
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -1111,8 +1133,9 @@ fn transitive_dep_host() {
[dependencies.a]
path = "../a"
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -1148,8 +1171,9 @@ fn test_a_lib_with_a_build_command() {
fn foo() -> i32 { 1 }
").unwrap();
}
- "#);
- assert_that(p.cargo_process("test"),
+ "#)
+ .build();
+ assert_that(p.cargo("test"),
execs().with_status(0));
}
@@ -1174,20 +1198,21 @@ fn test_dev_dep_build_script() {
build = "build.rs"
"#)
.file("a/build.rs", "fn main() {}")
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("test"), execs().with_status(0));
+ assert_that(p.cargo("test"), execs().with_status(0));
}
#[test]
fn build_script_with_dynamic_native_dependency() {
- let workspace = project("ws")
+ let _workspace = project("ws")
.file("Cargo.toml", r#"
[workspace]
members = ["builder", "foo"]
- "#);
- workspace.build();
+ "#)
+ .build();
let build = project("ws/builder")
.file("Cargo.toml", r#"
@@ -1204,8 +1229,8 @@ fn build_script_with_dynamic_native_dependency() {
.file("src/lib.rs", r#"
#[no_mangle]
pub extern fn foo() {}
- "#);
- build.build();
+ "#)
+ .build();
let foo = project("ws/foo")
.file("Cargo.toml", r#"
@@ -1247,8 +1272,8 @@ fn build_script_with_dynamic_native_dependency() {
extern { fn foo(); }
unsafe { foo() }
}
- "#);
- foo.build();
+ "#)
+ .build();
assert_that(build.cargo("build").arg("-v")
.env("RUST_LOG", "cargo::ops::cargo_rustc"),
@@ -1278,8 +1303,9 @@ fn profile_and_opt_level_set_correctly() {
assert_eq!(env::var("PROFILE").unwrap(), "release");
assert_eq!(env::var("DEBUG").unwrap(), "false");
}
- "#);
- assert_that(build.cargo_process("bench"),
+ "#)
+ .build();
+ assert_that(build.cargo("bench"),
execs().with_status(0));
}
@@ -1300,8 +1326,9 @@ fn build_script_with_lto() {
.file("build.rs", r#"
fn main() {
}
- "#);
- assert_that(build.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(build.cargo("build"),
execs().with_status(0));
}
@@ -1335,9 +1362,10 @@ fn test_duplicate_deps() {
version = "0.1.0"
authors = []
"#)
- .file("bar/src/lib.rs", "pub fn do_nothing() {}");
+ .file("bar/src/lib.rs", "pub fn do_nothing() {}")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
}
#[test]
@@ -1358,8 +1386,9 @@ fn cfg_feedback() {
fn main() {
println!("cargo:rustc-cfg=foo");
}
- "#);
- assert_that(build.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(build.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -1384,9 +1413,10 @@ fn cfg_override() {
.file(".cargo/config", &format!(r#"
[target.{}.a]
rustc-cfg = ["foo"]
- "#, target));
+ "#, target))
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -1428,8 +1458,9 @@ fn cfg_test() {
#[cfg(foo)]
#[test]
fn test_bar() {}
- "#);
- assert_that(p.cargo_process("test").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("test").arg("-v"),
execs().with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[RUNNING] [..] build.rs [..]
@@ -1484,8 +1515,9 @@ fn cfg_doc() {
.file("bar/src/lib.rs", r#"
#[cfg(bar)]
pub fn bar() {}
- "#);
- assert_that(p.cargo_process("doc"),
+ "#)
+ .build();
+ assert_that(p.cargo("doc"),
execs().with_status(0));
assert_that(&p.root().join("target/doc"), existing_dir());
assert_that(&p.root().join("target/doc/foo/fn.foo.html"), existing_file());
@@ -1531,8 +1563,9 @@ fn cfg_override_test() {
#[cfg(foo)]
#[test]
fn test_bar() {}
- "#);
- assert_that(p.cargo_process("test").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("test").arg("-v"),
execs().with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[RUNNING] `[..]`
@@ -1585,8 +1618,9 @@ fn cfg_override_doc() {
.file("bar/src/lib.rs", r#"
#[cfg(bar)]
pub fn bar() {}
- "#) ;
- assert_that(p.cargo_process("doc"),
+ "#)
+ .build();
+ assert_that(p.cargo("doc"),
execs().with_status(0));
assert_that(&p.root().join("target/doc"), existing_dir());
assert_that(&p.root().join("target/doc/foo/fn.foo.html"), existing_file());
@@ -1613,8 +1647,9 @@ fn env_build() {
fn main() {
println!("cargo:rustc-env=FOO=foo");
}
- "#);
- assert_that(p.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(p.cargo("run").arg("-v"),
execs().with_status(0).with_stdout("foo\n"));
@@ -1645,8 +1680,9 @@ fn env_test() {
fn test_foo() {
assert_eq!("foo", foo::FOO);
}
- "#);
- assert_that(p.cargo_process("test").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("test").arg("-v"),
execs().with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[RUNNING] [..] build.rs [..]
@@ -1681,8 +1717,9 @@ fn env_doc() {
fn main() {
println!("cargo:rustc-env=FOO=foo");
}
- "#);
- assert_that(p.cargo_process("doc").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("doc").arg("-v"),
execs().with_status(0));
}
@@ -1721,9 +1758,10 @@ fn flags_go_into_tests() {
fn main() {
println!("cargo:rustc-link-search=test");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v").arg("--test=foo"),
+ assert_that(p.cargo("test").arg("-v").arg("--test=foo"),
execs().with_status(0)
.with_stderr("\
[COMPILING] a v0.5.0 ([..]
@@ -1796,9 +1834,10 @@ fn diamond_passes_args_only_once() {
println!("cargo:rustc-link-search=native=test");
}
"#)
- .file("c/src/lib.rs", "");
+ .file("c/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] c v0.5.0 ([..]
[RUNNING] `rustc [..]`
@@ -1832,9 +1871,10 @@ fn adding_an_override_invalidates() {
fn main() {
println!("cargo:rustc-link-search=native=foo");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.5.0 ([..]
[RUNNING] `rustc [..]`
@@ -1873,9 +1913,10 @@ fn changing_an_override_invalidates() {
[target.{}.foo]
rustc-link-search = [\"native=foo\"]
", target))
- .file("build.rs", "");
+ .file("build.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.5.0 ([..]
[RUNNING] `rustc [..] -L native=foo`
@@ -1916,9 +1957,10 @@ fn fresh_builds_possible_with_link_libs() {
rustc-link-search = [\"./b\"]
rustc-flags = \"-l z -L ./\"
", target))
- .file("build.rs", "");
+ .file("build.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.5.0 ([..]
[RUNNING] `rustc [..]`
@@ -1957,9 +1999,10 @@ fn fresh_builds_possible_with_multiple_metadata_overrides() {
d = \"\"
e = \"\"
", target))
- .file("build.rs", "");
+ .file("build.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.5.0 ([..]
[RUNNING] `rustc [..]`
@@ -1992,8 +2035,8 @@ fn rebuild_only_on_explicit_paths() {
println!("cargo:rerun-if-changed=foo");
println!("cargo:rerun-if-changed=bar");
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
@@ -2089,9 +2132,10 @@ fn doctest_recieves_build_link_args() {
fn main() {
println!("cargo:rustc-link-search=native=bar");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustdoc --test [..] --crate-name foo [..]-L native=bar[..]`
@@ -2130,9 +2174,10 @@ fn please_respect_the_dag() {
fn main() {
println!("cargo:rustc-link-search=native=bar");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustc [..] -L native=foo -L native=bar[..]`
@@ -2167,9 +2212,10 @@ fn non_utf8_output() {
.file("src/main.rs", r#"
#[cfg(foo)]
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -2198,9 +2244,10 @@ fn custom_target_dir() {
build = "build.rs"
"#)
.file("a/build.rs", "fn main() {}")
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -2238,9 +2285,10 @@ fn panic_abort_with_build_scripts() {
version = "0.5.0"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0));
}
@@ -2260,9 +2308,10 @@ fn warnings_emitted() {
println!("cargo:warning=foo");
println!("cargo:warning=bar");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.5.0 ([..])
@@ -2304,9 +2353,10 @@ fn warnings_hidden_for_upstream() {
[dependencies]
bar = "*"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[UPDATING] registry `[..]`
@@ -2350,9 +2400,10 @@ fn warnings_printed_on_vv() {
[dependencies]
bar = "*"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-vv"),
+ assert_that(p.cargo("build").arg("-vv"),
execs().with_status(0)
.with_stderr("\
[UPDATING] registry `[..]`
@@ -2387,9 +2438,10 @@ fn output_shows_on_vv() {
std::io::stderr().write_all(b"stderr\n").unwrap();
std::io::stdout().write_all(b"stdout\n").unwrap();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-vv"),
+ assert_that(p.cargo("build").arg("-vv"),
execs().with_status(0)
.with_stdout("\
stdout
@@ -2426,9 +2478,10 @@ fn links_with_dots() {
.file(".cargo/config", &format!(r#"
[target.{}.'a.b']
rustc-link-search = ["foo"]
- "#, target));
+ "#, target))
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustc --crate-name foo [..] [..] -L foo[..]`
@@ -2437,7 +2490,7 @@ fn links_with_dots() {
#[test]
fn rustc_and_rustdoc_set_correctly() {
- let build = project("builder")
+ let p = project("builder")
.file("Cargo.toml", r#"
[package]
name = "builder"
@@ -2453,14 +2506,15 @@ fn rustc_and_rustdoc_set_correctly() {
assert_eq!(env::var("RUSTC").unwrap(), "rustc");
assert_eq!(env::var("RUSTDOC").unwrap(), "rustdoc");
}
- "#);
- assert_that(build.cargo_process("bench"),
+ "#)
+ .build();
+ assert_that(p.cargo("bench"),
execs().with_status(0));
}
#[test]
fn cfg_env_vars_available() {
- let build = project("builder")
+ let p = project("builder")
.file("Cargo.toml", r#"
[package]
name = "builder"
@@ -2480,14 +2534,15 @@ fn cfg_env_vars_available() {
assert_eq!(fam, "windows");
}
}
- "#);
- assert_that(build.cargo_process("bench"),
+ "#)
+ .build();
+ assert_that(p.cargo("bench"),
execs().with_status(0));
}
#[test]
fn switch_features_rerun() {
- let build = project("builder")
+ let p = project("builder")
.file("Cargo.toml", r#"
[package]
name = "builder"
@@ -2520,14 +2575,14 @@ fn switch_features_rerun() {
f.write_all(b"bar").unwrap();
}
}
- "#);
- build.build();
+ "#)
+ .build();
- assert_that(build.cargo("run").arg("-v").arg("--features=foo"),
+ assert_that(p.cargo("run").arg("-v").arg("--features=foo"),
execs().with_status(0).with_stdout("foo\n"));
- assert_that(build.cargo("run").arg("-v"),
+ assert_that(p.cargo("run").arg("-v"),
execs().with_status(0).with_stdout("bar\n"));
- assert_that(build.cargo("run").arg("-v").arg("--features=foo"),
+ assert_that(p.cargo("run").arg("-v").arg("--features=foo"),
execs().with_status(0).with_stdout("foo\n"));
}
@@ -2551,8 +2606,8 @@ fn assume_build_script_when_build_rs_present() {
fn main() {
println!("cargo:rustc-cfg=foo");
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("run").arg("-v"),
execs().with_status(0));
@@ -2579,8 +2634,8 @@ fn if_build_set_to_false_dont_treat_build_rs_as_build_script() {
fn main() {
println!("cargo:rustc-cfg=foo");
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("run").arg("-v"),
execs().with_status(0));
@@ -2667,9 +2722,10 @@ fn deterministic_rustc_dependency_flags() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr_contains("\
[RUNNING] `rustc --crate-name foo [..] -L native=test1 -L native=test2 \
diff --git a/tests/build.rs b/tests/build.rs
index d41c97abc41..bf5918acd38 100644
--- a/tests/build.rs
+++ b/tests/build.rs
@@ -22,9 +22,10 @@ use tempdir::TempDir;
fn cargo_compile_simple() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -35,8 +36,8 @@ fn cargo_compile_simple() {
fn cargo_fail_with_no_stderr() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &String::from("refusal"));
- let p = p.build();
+ .file("src/foo.rs", &String::from("refusal"))
+ .build();
assert_that(p.cargo("build").arg("--message-format=json"), execs().with_status(101)
.with_stderr_does_not_contain("--- stderr"));
}
@@ -51,8 +52,8 @@ fn cargo_compile_incremental() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
- p.build();
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
assert_that(
p.cargo("build").arg("-v").env("CARGO_INCREMENTAL", "1"),
@@ -71,9 +72,10 @@ fn cargo_compile_incremental() {
fn cargo_compile_manifest_path() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--manifest-path").arg("foo/Cargo.toml")
.cwd(p.root().parent().unwrap()),
execs().with_status(0));
@@ -83,9 +85,10 @@ fn cargo_compile_manifest_path() {
#[test]
fn cargo_compile_with_invalid_manifest() {
let p = project("foo")
- .file("Cargo.toml", "");
+ .file("Cargo.toml", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -102,9 +105,10 @@ fn cargo_compile_with_invalid_manifest2() {
.file("Cargo.toml", r"
[project]
foo = bar
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -127,9 +131,10 @@ fn cargo_compile_with_invalid_manifest3() {
version = "0.0.1"
authors = []
"#)
- .file("src/Cargo.toml", "a = bar");
+ .file("src/Cargo.toml", "a = bar")
+ .build();
- assert_that(p.cargo_process("build").arg("--manifest-path")
+ assert_that(p.cargo("build").arg("--manifest-path")
.arg("src/Cargo.toml"),
execs()
.with_status(101)
@@ -163,9 +168,10 @@ fn cargo_compile_duplicate_build_targets() {
.file("src/main.rs", r#"
#![allow(warnings)]
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(0)
.with_stderr("\
@@ -183,9 +189,10 @@ fn cargo_compile_with_invalid_version() {
name = "foo"
authors = []
version = "1.0"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -205,9 +212,10 @@ fn cargo_compile_with_invalid_package_name() {
name = ""
authors = []
version = "0.0.0"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -229,9 +237,10 @@ fn cargo_compile_with_invalid_bin_target_name() {
[[bin]]
name = ""
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -253,9 +262,10 @@ fn cargo_compile_with_forbidden_bin_target_name() {
[[bin]]
name = "build"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -277,9 +287,10 @@ fn cargo_compile_with_invalid_lib_target_name() {
[lib]
name = ""
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr("\
@@ -293,9 +304,9 @@ Caused by:
#[test]
fn cargo_compile_without_manifest() {
let tmpdir = TempDir::new("cargo").unwrap();
- let p = ProjectBuilder::new("foo", tmpdir.path().to_path_buf());
+ let p = ProjectBuilder::new("foo", tmpdir.path().to_path_buf()).build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] could not find `Cargo.toml` in `[..]` or any parent directory
@@ -306,9 +317,10 @@ fn cargo_compile_without_manifest() {
fn cargo_compile_with_invalid_code() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", "invalid rust code!");
+ .file("src/foo.rs", "invalid rust code!")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_status(101)
.with_stderr_contains("\
@@ -332,25 +344,27 @@ fn cargo_compile_with_invalid_code_in_deps() {
[dependencies.baz]
path = "../baz"
"#)
- .file("src/main.rs", "invalid rust code!");
- let bar = project("bar")
+ .file("src/main.rs", "invalid rust code!")
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", &basic_bin_manifest("bar"))
- .file("src/lib.rs", "invalid rust code!");
- let baz = project("baz")
+ .file("src/lib.rs", "invalid rust code!")
+ .build();
+ let _baz = project("baz")
.file("Cargo.toml", &basic_bin_manifest("baz"))
- .file("src/lib.rs", "invalid rust code!");
- bar.build();
- baz.build();
- assert_that(p.cargo_process("build"), execs().with_status(101));
+ .file("src/lib.rs", "invalid rust code!")
+ .build();
+ assert_that(p.cargo("build"), execs().with_status(101));
}
#[test]
fn cargo_compile_with_warnings_in_the_root_package() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", "fn main() {} fn dead() {}");
+ .file("src/foo.rs", "fn main() {} fn dead() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr_contains("\
[..]function is never used: `dead`[..]
"));
@@ -358,9 +372,7 @@ fn cargo_compile_with_warnings_in_the_root_package() {
#[test]
fn cargo_compile_with_warnings_in_a_dep_package() {
- let mut p = project("foo");
-
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -394,9 +406,10 @@ fn cargo_compile_with_warnings_in_a_dep_package() {
}
fn dead() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr_contains("\
[..]function is never used: `dead`[..]
"));
@@ -454,9 +467,10 @@ fn cargo_compile_with_nested_deps_inferred() {
pub fn gimme() -> String {
"test passed".to_string()
}
- "#);
+ "#)
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -515,9 +529,10 @@ fn cargo_compile_with_nested_deps_correct_bin() {
pub fn gimme() -> String {
"test passed".to_string()
}
- "#);
+ "#)
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -581,9 +596,10 @@ fn cargo_compile_with_nested_deps_shorthand() {
pub fn gimme() -> String {
"test passed".to_string()
}
- "#);
+ "#)
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -653,9 +669,10 @@ fn cargo_compile_with_nested_deps_longhand() {
pub fn gimme() -> String {
"test passed".to_string()
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"), execs());
+ assert_that(p.cargo("build"), execs());
assert_that(&p.bin("foo"), existing_file());
assert_that(&p.bin("libbar.rlib"), is_not(existing_file()));
@@ -687,9 +704,10 @@ fn cargo_compile_with_dep_name_mismatch() {
"#)
.file("src/bin/foo.rs", &main_file(r#""i am foo""#, &["bar"]))
.file("bar/Cargo.toml", &basic_bin_manifest("bar"))
- .file("bar/src/bar.rs", &main_file(r#""i am bar""#, &[]));
+ .file("bar/src/bar.rs", &main_file(r#""i am bar""#, &[]))
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr(&format!(
r#"[ERROR] no matching package named `notquitebar` found (required by `foo`)
location searched: {proj_dir}/bar
@@ -713,8 +731,8 @@ fn cargo_compile_with_filename() {
"#)
.file("examples/a.rs", r#"
fn main() { println!("example"); }
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").arg("--bin").arg("bin.rs"),
execs().with_status(101).with_stderr("\
@@ -756,9 +774,10 @@ fn compile_path_dep_then_change_version() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
File::create(&p.root().join("bar/Cargo.toml")).unwrap().write_all(br#"
[package]
@@ -788,9 +807,10 @@ fn ignores_carriage_return_in_lockfile() {
.file("src/main.rs", r#"
mod a; fn main() {}
"#)
- .file("src/a.rs", "");
+ .file("src/a.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
let lockfile = p.root().join("Cargo.lock");
@@ -827,8 +847,8 @@ fn cargo_default_env_metadata_env_var() {
name = "bar"
crate_type = ["dylib"]
"#)
- .file("bar/src/lib.rs", "// hello");
- p.build();
+ .file("bar/src/lib.rs", "// hello")
+ .build();
// No metadata on libbar since it's a dylib path dependency
assert_that(p.cargo("build").arg("-v"),
@@ -932,10 +952,11 @@ fn crate_env_vars() {
env!("CARGO_PKG_VERSION_PRE"),
env!("CARGO_MANIFEST_DIR"))
}
- "#);
+ "#)
+ .build();
println!("build");
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
println!("bin");
assert_that(process(&p.bin("foo")),
@@ -972,10 +993,11 @@ fn crate_authors_env_vars() {
pub fn authors() -> String {
format!("{}", env!("CARGO_PKG_AUTHORS"))
}
- "#);
+ "#)
+ .build();
println!("build");
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
println!("bin");
assert_that(process(&p.bin("foo")),
@@ -1001,9 +1023,8 @@ fn setenv_for_removing_empty_component(mut p: ProcessBuilder) -> ProcessBuilder
// Regression test for #4277
#[test]
fn crate_library_path_env_var() {
- let mut p = project("foo");
-
- p = p.file("Cargo.toml", r#"
+ let p = project("foo")
+ .file("Cargo.toml", r#"
[project]
name = "foo"
version = "0.0.1"
@@ -1015,9 +1036,10 @@ fn crate_library_path_env_var() {
let paths = std::env::split_paths(&search_path).collect::>();
assert!(!paths.contains(&"".into()));
}}
- "##, dylib_path_envvar()));
+ "##, dylib_path_envvar()))
+ .build();
- assert_that(setenv_for_removing_empty_component(p.cargo_process("run")),
+ assert_that(setenv_for_removing_empty_component(p.cargo("run")),
execs().with_status(0));
}
@@ -1035,17 +1057,17 @@ fn build_with_fake_libc_not_loading() {
fn main() {}
"#)
.file("src/lib.rs", r#" "#)
- .file("libc.so.6", r#""#);
+ .file("libc.so.6", r#""#)
+ .build();
- assert_that(setenv_for_removing_empty_component(p.cargo_process("build")),
+ assert_that(setenv_for_removing_empty_component(p.cargo("build")),
execs().with_status(0));
}
// this is testing that src/.rs still works (for now)
#[test]
fn many_crate_types_old_style_lib_location() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -1060,8 +1082,9 @@ fn many_crate_types_old_style_lib_location() {
"#)
.file("src/foo.rs", r#"
pub fn foo() {}
- "#);
- assert_that(p.cargo_process("build"), execs().with_status(0).with_stderr_contains("\
+ "#)
+ .build();
+ assert_that(p.cargo("build"), execs().with_status(0).with_stderr_contains("\
[WARNING] path `[..]src[/]foo.rs` was erroneously implicitly accepted for library `foo`,
please rename the file to `src/lib.rs` or set lib.path in Cargo.toml"));
@@ -1073,8 +1096,7 @@ please rename the file to `src/lib.rs` or set lib.path in Cargo.toml"));
#[test]
fn many_crate_types_correct() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -1089,8 +1111,9 @@ fn many_crate_types_correct() {
"#)
.file("src/lib.rs", r#"
pub fn foo() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(&p.root().join("target/debug/libfoo.rlib"), existing_file());
@@ -1101,8 +1124,7 @@ fn many_crate_types_correct() {
#[test]
fn self_dependency() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -1118,8 +1140,9 @@ fn self_dependency() {
name = "test"
path = "src/test.rs"
"#)
- .file("src/test.rs", "fn main() {}");
- assert_that(p.cargo_process("build"),
+ .file("src/test.rs", "fn main() {}")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] cyclic package dependency: package `test v0.0.0 ([..])` depends on itself
@@ -1134,9 +1157,10 @@ fn ignore_broken_symlinks() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
.file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
- .symlink("Notafile", "bar");
+ .symlink("Notafile", "bar")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -1145,16 +1169,16 @@ fn ignore_broken_symlinks() {
#[test]
fn missing_lib_and_bin() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "test"
version = "0.0.0"
authors = []
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]Cargo.toml`
@@ -1171,8 +1195,7 @@ fn lto_build() {
return
}
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -1183,8 +1206,9 @@ fn lto_build() {
[profile.release]
lto = true
"#)
- .file("src/main.rs", "fn main() {}");
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ .file("src/main.rs", "fn main() {}")
+ .build();
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]main.rs --crate-type bin \
@@ -1203,8 +1227,7 @@ url = p.url(),
#[test]
fn verbose_build() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -1212,8 +1235,9 @@ fn verbose_build() {
version = "0.0.0"
authors = []
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -1230,8 +1254,7 @@ url = p.url(),
#[test]
fn verbose_release_build() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -1239,8 +1262,9 @@ fn verbose_release_build() {
version = "0.0.0"
authors = []
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -1258,8 +1282,7 @@ url = p.url(),
#[test]
fn verbose_release_build_deps() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -1282,8 +1305,9 @@ fn verbose_release_build_deps() {
name = "foo"
crate_type = ["dylib", "rlib"]
"#)
- .file("foo/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ .file("foo/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({url}/foo)
[RUNNING] `rustc --crate-name foo foo[/]src[/]lib.rs \
@@ -1313,8 +1337,8 @@ fn verbose_release_build_deps() {
#[test]
fn explicit_examples() {
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "world"
version = "1.0.0"
@@ -1344,9 +1368,10 @@ fn explicit_examples() {
.file("examples/ex-goodbye.rs", r#"
extern crate world;
fn main() { println!("{}, {}!", world::get_goodbye(), world::get_world()); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v"), execs().with_status(0));
+ assert_that(p.cargo("test").arg("-v"), execs().with_status(0));
assert_that(process(&p.bin("examples/hello")),
execs().with_status(0).with_stdout("Hello, World!\n"));
assert_that(process(&p.bin("examples/goodbye")),
@@ -1355,8 +1380,8 @@ fn explicit_examples() {
#[test]
fn non_existing_example() {
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "world"
version = "1.0.0"
@@ -1370,9 +1395,10 @@ fn non_existing_example() {
name = "hello"
"#)
.file("src/lib.rs", "")
- .file("examples/ehlo.rs", "");
+ .file("examples/ehlo.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-v"), execs().with_status(101).with_stderr("\
+ assert_that(p.cargo("test").arg("-v"), execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
Caused by:
@@ -1381,8 +1407,8 @@ Caused by:
#[test]
fn non_existing_binary() {
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "world"
version = "1.0.0"
@@ -1392,9 +1418,10 @@ fn non_existing_binary() {
name = "hello"
"#)
.file("src/lib.rs", "")
- .file("src/bin/ehlo.rs", "");
+ .file("src/bin/ehlo.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(101).with_stderr("\
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
Caused by:
@@ -1403,8 +1430,8 @@ Caused by:
#[test]
fn legacy_binary_paths_warinigs() {
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "1.0.0"
@@ -1414,14 +1441,15 @@ fn legacy_binary_paths_warinigs() {
name = "bar"
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
[WARNING] path `[..]src[/]main.rs` was erroneously implicitly accepted for binary `bar`,
please set bin.path in Cargo.toml"));
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "1.0.0"
@@ -1431,14 +1459,15 @@ please set bin.path in Cargo.toml"));
name = "bar"
"#)
.file("src/lib.rs", "")
- .file("src/bin/main.rs", "fn main() {}");
+ .file("src/bin/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
[WARNING] path `[..]src[/]bin[/]main.rs` was erroneously implicitly accepted for binary `bar`,
please set bin.path in Cargo.toml"));
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "1.0.0"
@@ -1447,17 +1476,18 @@ please set bin.path in Cargo.toml"));
[[bin]]
name = "bar"
"#)
- .file("src/bar.rs", "fn main() {}");
+ .file("src/bar.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0).with_stderr_contains("\
[WARNING] path `[..]src[/]bar.rs` was erroneously implicitly accepted for binary `bar`,
please set bin.path in Cargo.toml"));
}
#[test]
fn implicit_examples() {
- let mut p = project("world");
- p = p.file("Cargo.toml", r#"
+ let p = project("world")
+ .file("Cargo.toml", r#"
[package]
name = "world"
version = "1.0.0"
@@ -1479,9 +1509,10 @@ fn implicit_examples() {
fn main() {
println!("{}, {}!", world::get_goodbye(), world::get_world());
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"), execs().with_status(0));
+ assert_that(p.cargo("test"), execs().with_status(0));
assert_that(process(&p.bin("examples/hello")),
execs().with_status(0).with_stdout("Hello, World!\n"));
assert_that(process(&p.bin("examples/goodbye")),
@@ -1500,9 +1531,10 @@ fn standard_build_no_ndebug() {
println!("fast")
}
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(process(&p.bin("foo")),
execs().with_status(0).with_stdout("slow\n"));
}
@@ -1519,9 +1551,10 @@ fn release_build_ndebug() {
println!("fast")
}
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--release"),
+ assert_that(p.cargo("build").arg("--release"),
execs().with_status(0));
assert_that(process(&p.release_bin("foo")),
execs().with_status(0).with_stdout("fast\n"));
@@ -1538,9 +1571,10 @@ fn inferred_main_bin() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(process(&p.bin("foo")), execs().with_status(0));
}
@@ -1566,8 +1600,8 @@ fn deletion_causes_failure() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
- p.build();
+ .file("bar/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"), execs().with_status(0));
p.change_file("Cargo.toml", r#"
@@ -1591,9 +1625,10 @@ fn bad_cargo_toml_in_target_dir() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("target/Cargo.toml", "bad-toml");
+ .file("target/Cargo.toml", "bad-toml")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(process(&p.bin("foo")), execs().with_status(0));
}
@@ -1612,9 +1647,10 @@ fn lib_with_standard_name() {
.file("src/main.rs", "
extern crate syntax;
fn main() { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -1636,10 +1672,11 @@ fn simple_staticlib() {
name = "foo"
crate-type = ["staticlib"]
"#)
- .file("src/lib.rs", "pub fn foo() {}");
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
// env var is a test for #1381
- assert_that(p.cargo_process("build").env("RUST_LOG", "nekoneko=trace"),
+ assert_that(p.cargo("build").env("RUST_LOG", "nekoneko=trace"),
execs().with_status(0));
}
@@ -1662,9 +1699,10 @@ fn staticlib_rlib_and_bin() {
fn main() {
foo::foo();
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
}
#[test]
@@ -1679,8 +1717,9 @@ fn opt_out_of_bin() {
version = "0.0.1"
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "bad syntax");
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ .file("src/main.rs", "bad syntax")
+ .build();
+ assert_that(p.cargo("build"), execs().with_status(0));
}
#[test]
@@ -1696,8 +1735,9 @@ fn single_lib() {
name = "foo"
path = "src/bar.rs"
"#)
- .file("src/bar.rs", "");
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ .file("src/bar.rs", "")
+ .build();
+ assert_that(p.cargo("build"), execs().with_status(0));
}
#[test]
@@ -1712,8 +1752,8 @@ fn freshness_ignores_excluded() {
exclude = ["src/b*.rs"]
"#)
.file("build.rs", "fn main() {}")
- .file("src/lib.rs", "pub fn bar() -> i32 { 1 }");
- foo.build();
+ .file("src/lib.rs", "pub fn bar() -> i32 { 1 }")
+ .build();
foo.root().move_into_the_past();
assert_that(foo.cargo("build"),
@@ -1761,8 +1801,8 @@ fn rebuild_preserves_out_dir() {
}
}
"#)
- .file("src/lib.rs", "pub fn bar() -> i32 { 1 }");
- foo.build();
+ .file("src/lib.rs", "pub fn bar() -> i32 { 1 }")
+ .build();
foo.root().move_into_the_past();
assert_that(foo.cargo("build").env("FIRST", "1"),
@@ -1800,8 +1840,9 @@ fn dep_no_libs() {
version = "0.0.0"
authors = []
"#)
- .file("bar/src/main.rs", "");
- assert_that(foo.cargo_process("build"),
+ .file("bar/src/main.rs", "")
+ .build();
+ assert_that(foo.cargo("build"),
execs().with_status(0));
}
@@ -1818,8 +1859,9 @@ fn recompile_space_in_name() {
name = "foo"
path = "src/my lib.rs"
"#)
- .file("src/my lib.rs", "");
- assert_that(foo.cargo_process("build"), execs().with_status(0));
+ .file("src/my lib.rs", "")
+ .build();
+ assert_that(foo.cargo("build"), execs().with_status(0));
foo.root().move_into_the_past();
assert_that(foo.cargo("build"),
execs().with_status(0).with_stdout(""));
@@ -1836,8 +1878,8 @@ fn ignore_bad_directories() {
version = "0.0.0"
authors = []
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let dir = foo.root().join("tmp");
fs::create_dir(&dir).unwrap();
let stat = fs::metadata(&dir).unwrap();
@@ -1862,8 +1904,9 @@ fn bad_cargo_config() {
.file("src/lib.rs", "")
.file(".cargo/config", r#"
this is not valid toml
- "#);
- assert_that(foo.cargo_process("build").arg("-v"),
+ "#)
+ .build();
+ assert_that(foo.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] Couldn't load Cargo configuration
@@ -1929,9 +1972,10 @@ fn cargo_platform_specific_dependency() {
version = "0.5.0"
authors = ["wycats@example.com"]
"#)
- .file("dev/src/lib.rs", "pub fn dev() {}");
+ .file("dev/src/lib.rs", "pub fn dev() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -1967,9 +2011,10 @@ fn bad_platform_specific_dependency() {
pub fn gimme() -> String {
format!("")
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101));
}
@@ -1998,9 +2043,10 @@ fn cargo_platform_specific_dependency_wrong_platform() {
"#)
.file("bar/src/lib.rs", r#"
invalid rust file, should not be compiled
- "#);
+ "#)
+ .build();
- p.cargo_process("build").exec_with_output().unwrap();
+ p.cargo("build").exec_with_output().unwrap();
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -2026,9 +2072,10 @@ fn example_as_lib() {
crate-type = ["lib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "lib"), existing_file());
}
@@ -2046,9 +2093,10 @@ fn example_as_rlib() {
crate-type = ["rlib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "rlib"), existing_file());
}
@@ -2066,9 +2114,10 @@ fn example_as_dylib() {
crate-type = ["dylib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "dylib"), existing_file());
}
@@ -2090,9 +2139,10 @@ fn example_as_proc_macro() {
crate-type = ["proc-macro"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "#![feature(proc_macro)]");
+ .file("examples/ex.rs", "#![feature(proc_macro)]")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "proc-macro"), existing_file());
}
@@ -2106,9 +2156,10 @@ fn example_bin_same_name() {
authors = []
"#)
.file("src/main.rs", "fn main() {}")
- .file("examples/foo.rs", "fn main() {}");
+ .file("examples/foo.rs", "fn main() {}")
+ .build();
- p.cargo_process("test").arg("--no-run").arg("-v")
+ p.cargo("test").arg("--no-run").arg("-v")
.exec_with_output()
.unwrap();
@@ -2134,9 +2185,10 @@ fn compile_then_delete() {
version = "0.0.1"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("run").arg("-v"), execs().with_status(0));
+ assert_that(p.cargo("run").arg("-v"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
if cfg!(windows) {
// On windows unlinking immediately after running often fails, so sleep
@@ -2176,9 +2228,10 @@ fn transitive_dependencies_not_available() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr_contains("\
[..] can't find crate for `bbbbb`[..]
@@ -2207,9 +2260,10 @@ fn cyclic_deps_rejected() {
[dependencies.foo]
path = ".."
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr("\
[ERROR] cyclic package dependency: package `a v0.0.1 ([..])` depends on itself
@@ -2229,9 +2283,10 @@ fn predictable_filenames() {
name = "foo"
crate-type = ["dylib", "rlib"]
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(&p.root().join("target/debug/libfoo.rlib"), existing_file());
let dylib_name = format!("{}foo{}", env::consts::DLL_PREFIX,
@@ -2250,9 +2305,10 @@ fn dashes_to_underscores() {
authors = []
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "extern crate foo_bar; fn main() {}");
+ .file("src/main.rs", "extern crate foo_bar; fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(&p.bin("foo-bar"), existing_file());
}
@@ -2270,9 +2326,10 @@ fn dashes_in_crate_name_bad() {
name = "foo-bar"
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "extern crate foo_bar; fn main() {}");
+ .file("src/main.rs", "extern crate foo_bar; fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101));
}
@@ -2285,8 +2342,8 @@ fn rustc_env_var() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build")
.env("RUSTC", "rustc-that-does-not-exist").arg("-v"),
@@ -2313,8 +2370,8 @@ fn filtering() {
.file("src/bin/a.rs", "fn main() {}")
.file("src/bin/b.rs", "fn main() {}")
.file("examples/a.rs", "fn main() {}")
- .file("examples/b.rs", "fn main() {}");
- p.build();
+ .file("examples/b.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--lib"),
execs().with_status(0));
@@ -2341,8 +2398,8 @@ fn filtering_implicit_bins() {
.file("src/bin/a.rs", "fn main() {}")
.file("src/bin/b.rs", "fn main() {}")
.file("examples/a.rs", "fn main() {}")
- .file("examples/b.rs", "fn main() {}");
- p.build();
+ .file("examples/b.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--bins"),
execs().with_status(0));
@@ -2365,8 +2422,8 @@ fn filtering_implicit_examples() {
.file("src/bin/a.rs", "fn main() {}")
.file("src/bin/b.rs", "fn main() {}")
.file("examples/a.rs", "fn main() {}")
- .file("examples/b.rs", "fn main() {}");
- p.build();
+ .file("examples/b.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--examples"),
execs().with_status(0));
@@ -2386,8 +2443,8 @@ fn ignore_dotfile() {
authors = []
"#)
.file("src/bin/.a.rs", "")
- .file("src/bin/a.rs", "fn main() {}");
- p.build();
+ .file("src/bin/a.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -2404,8 +2461,8 @@ fn ignore_dotdirs() {
"#)
.file("src/bin/a.rs", "fn main() {}")
.file(".git/Cargo.toml", "")
- .file(".pc/dummy-fix.patch/Cargo.toml", "");
- p.build();
+ .file(".pc/dummy-fix.patch/Cargo.toml", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -2420,8 +2477,8 @@ fn dotdir_root() {
version = "0.0.1"
authors = []
"#)
- .file("src/bin/a.rs", "fn main() {}");
- p.build();
+ .file("src/bin/a.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -2436,8 +2493,8 @@ fn custom_target_dir() {
version = "0.0.1"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
let exe_name = format!("foo{}", env::consts::EXE_SUFFIX);
@@ -2481,8 +2538,8 @@ fn rustc_no_trans() {
version = "0.0.1"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("rustc").arg("-v").arg("--").arg("-Zno-trans"),
execs().with_status(0));
@@ -2527,9 +2584,10 @@ fn build_multiple_packages() {
name = "d2"
doctest = false
"#)
- .file("d2/src/main.rs", "fn main() { println!(\"d2\"); }");
+ .file("d2/src/main.rs", "fn main() { println!(\"d2\"); }")
+ .build();
- assert_that(p.cargo_process("build").arg("-p").arg("d1").arg("-p").arg("d2")
+ assert_that(p.cargo("build").arg("-p").arg("d1").arg("-p").arg("d2")
.arg("-p").arg("foo"),
execs().with_status(0));
@@ -2576,8 +2634,8 @@ fn invalid_spec() {
name = "d1"
"#)
.file("d1/src/lib.rs", "")
- .file("d1/src/main.rs", "fn main() { println!(\"d1\"); }");
- p.build();
+ .file("d1/src/main.rs", "fn main() { println!(\"d1\"); }")
+ .build();
assert_that(p.cargo("build").arg("-p").arg("notAValidDep"),
execs().with_status(101).with_stderr("\
@@ -2599,8 +2657,9 @@ fn manifest_with_bom_is_ok() {
version = \"0.0.1\"
authors = []
")
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -2616,8 +2675,9 @@ fn panic_abort_compiles_with_panic_abort() {
[profile.dev]
panic = 'abort'
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr_contains("[..] -C panic=abort [..]"));
}
@@ -2632,8 +2692,8 @@ fn explicit_color_config_is_propagated_to_rustc() {
version = "0.0.0"
authors = []
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").arg("-v").arg("--color").arg("always"),
execs().with_status(0).with_stderr_contains(
"[..]rustc [..] src[/]lib.rs --color always[..]"));
@@ -2669,8 +2729,8 @@ fn compiler_json_error_format() {
version = "0.5.0"
authors = ["wycats@example.com"]
"#)
- .file("bar/src/lib.rs", r#"fn dead() {}"#);
- p.build();
+ .file("bar/src/lib.rs", r#"fn dead() {}"#)
+ .build();
assert_that(p.cargo("build").arg("-v")
.arg("--message-format").arg("json"),
@@ -2795,9 +2855,10 @@ fn compiler_json_error_format() {
fn wrong_message_format_option() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--message-format").arg("XML"),
+ assert_that(p.cargo("build").arg("--message-format").arg("XML"),
execs().with_status(1)
.with_stderr_contains(
r#"[ERROR] Could not match 'xml' with any of the allowed variants: ["Human", "Json"]"#));
@@ -2807,9 +2868,10 @@ r#"[ERROR] Could not match 'xml' with any of the allowed variants: ["Human", "Js
fn message_format_json_forward_stderr() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/main.rs", "fn main() { let unused = 0; }");
+ .file("src/main.rs", "fn main() { let unused = 0; }")
+ .build();
- assert_that(p.cargo_process("rustc").arg("--bin").arg("foo")
+ assert_that(p.cargo("rustc").arg("--bin").arg("foo")
.arg("--message-format").arg("JSON"),
execs().with_status(0)
.with_json(r#"
@@ -2865,8 +2927,9 @@ fn no_warn_about_package_metadata() {
[package.metadata.another]
bar = 3
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("[..] foo v0.0.1 ([..])\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]\n"));
@@ -2876,9 +2939,10 @@ fn no_warn_about_package_metadata() {
fn cargo_build_empty_target() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--target").arg(""),
+ assert_that(p.cargo("build").arg("--target").arg(""),
execs().with_status(101)
.with_stderr_contains("[..] target was empty"));
}
@@ -2906,9 +2970,10 @@ fn build_all_workspace() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all"),
execs().with_status(0)
.with_stderr("[..] Compiling bar v0.1.0 ([..])\n\
@@ -2947,9 +3012,10 @@ fn build_all_exclude() {
pub fn baz() {
break_the_build();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all")
.arg("--exclude")
.arg("baz"),
@@ -2986,9 +3052,10 @@ fn build_all_workspace_implicit_examples() {
.file("bar/src/bin/e.rs", "fn main() {}")
.file("bar/src/bin/f.rs", "fn main() {}")
.file("bar/examples/g.rs", "fn main() {}")
- .file("bar/examples/h.rs", "fn main() {}");
+ .file("bar/examples/h.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all").arg("--examples"),
execs().with_status(0)
.with_stderr("[..] Compiling bar v0.1.0 ([..])\n\
@@ -3026,10 +3093,11 @@ fn build_all_virtual_manifest() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// The order in which foo and bar are built is not guaranteed
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("[..] Compiling bar v0.1.0 ([..])")
@@ -3061,10 +3129,11 @@ fn build_virtual_manifest_all_implied() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// The order in which foo and bar are built is not guaranteed
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr_contains("[..] Compiling bar v0.1.0 ([..])")
.with_stderr_contains("[..] Compiling foo v0.1.0 ([..])")
@@ -3095,9 +3164,10 @@ fn build_virtual_manifest_one_project() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("-p").arg("foo"),
execs().with_status(0)
.with_stderr_does_not_contain("bar")
@@ -3132,10 +3202,11 @@ fn build_all_virtual_manifest_implicit_examples() {
.file("bar/src/bin/e.rs", "fn main() {}")
.file("bar/src/bin/f.rs", "fn main() {}")
.file("bar/examples/g.rs", "fn main() {}")
- .file("bar/examples/h.rs", "fn main() {}");
+ .file("bar/examples/h.rs", "fn main() {}")
+ .build();
// The order in which foo and bar are built is not guaranteed
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all").arg("--examples"),
execs().with_status(0)
.with_stderr_contains("[..] Compiling bar v0.1.0 ([..])")
@@ -3170,11 +3241,12 @@ fn build_all_member_dependency_same_name() {
"#)
.file("a/src/lib.rs", r#"
pub fn a() {}
- "#);
+ "#)
+ .build();
Package::new("a", "0.1.0").publish();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all"),
execs().with_status(0)
.with_stderr("[..] Updating registry `[..]`\n\
@@ -3206,9 +3278,10 @@ fn run_proper_binary() {
.file("src/bin/other.rs", r#"
fn main() {
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bin").arg("other"),
+ assert_that(p.cargo("run").arg("--bin").arg("other"),
execs().with_status(0));
}
@@ -3227,9 +3300,10 @@ fn run_proper_binary_main_rs() {
.file("src/bin/main.rs", r#"
fn main() {
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bin").arg("foo"),
+ assert_that(p.cargo("run").arg("--bin").arg("foo"),
execs().with_status(0));
}
@@ -3254,9 +3328,10 @@ fn run_proper_alias_binary_from_src() {
fn main() {
println!("bar");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all"),
execs().with_status(0)
);
@@ -3283,9 +3358,10 @@ fn run_proper_alias_binary_main_rs() {
fn main() {
println!("main");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build")
+ assert_that(p.cargo("build")
.arg("--all"),
execs().with_status(0)
);
@@ -3314,9 +3390,10 @@ fn run_proper_binary_main_rs_as_foo() {
.file("src/main.rs", r#"
fn main() {
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bin").arg("foo"),
+ assert_that(p.cargo("run").arg("--bin").arg("foo"),
execs().with_status(0));
}
@@ -3327,9 +3404,10 @@ fn rustc_wrapper() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("build").arg("-v").env("RUSTC_WRAPPER", "/usr/bin/env"),
+ assert_that(p.cargo("build").arg("-v").env("RUSTC_WRAPPER", "/usr/bin/env"),
execs().with_stderr_contains(
"[RUNNING] `/usr/bin/env rustc --crate-name foo [..]")
.with_status(0));
@@ -3347,9 +3425,10 @@ fn cdylib_not_lifted() {
[lib]
crate-type = ["cdylib"]
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
let files = if cfg!(windows) {
vec!["foo.dll.lib", "foo.dll.exp", "foo.dll"]
@@ -3378,9 +3457,10 @@ fn cdylib_final_outputs() {
[lib]
crate-type = ["cdylib"]
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
let files = if cfg!(windows) {
vec!["foo_bar.dll.lib", "foo_bar.dll"]
@@ -3412,8 +3492,8 @@ fn wasm32_final_outputs() {
authors = []
version = "0.1.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
// We can't cross-compile the project to wasm target unless we have emscripten installed.
// So here we will not run `cargo build`, but just create cargo_rustc::Context and ask it
@@ -3527,9 +3607,10 @@ fn deterministic_cfg_flags() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.1.0 [..]
@@ -3559,9 +3640,10 @@ fn explicit_bins_without_paths() {
"#)
.file("src/lib.rs", "")
.file("src/main.rs", "fn main() {}")
- .file("src/bin/bar.rs", "fn main() {}");
+ .file("src/bin/bar.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
}
#[test]
@@ -3577,9 +3659,10 @@ fn no_bin_in_src_with_lib() {
name = "foo"
"#)
.file("src/lib.rs", "")
- .file("src/foo.rs", "fn main() {}");
+ .file("src/foo.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr_contains("\
[ERROR] failed to parse manifest at `[..]`
@@ -3602,9 +3685,10 @@ fn dirs_in_bin_dir_with_main_rs() {
.file("src/bin/bar.rs", "fn main() {}")
.file("src/bin/bar2.rs", "fn main() {}")
.file("src/bin/bar3/main.rs", "fn main() {}")
- .file("src/bin/bar4/main.rs", "fn main() {}");
+ .file("src/bin/bar4/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(&p.bin("bar"), existing_file());
assert_that(&p.bin("bar2"), existing_file());
@@ -3624,9 +3708,10 @@ fn dir_and_file_with_same_name_in_bin() {
"#)
.file("src/main.rs", "fn main() {}")
.file("src/bin/foo.rs", "fn main() {}")
- .file("src/bin/foo/main.rs", "fn main() {}");
+ .file("src/bin/foo/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr_contains("\
[..]found duplicate binary name foo, but all binary targets must have a unique name[..]
@@ -3646,9 +3731,10 @@ fn inferred_path_in_src_bin_foo() {
name = "bar"
# Note, no `path` key!
"#)
- .file("src/bin/bar/main.rs", "fn main() {}");
+ .file("src/bin/bar/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("bar"), existing_file());
}
@@ -3663,9 +3749,10 @@ fn inferred_examples() {
"#)
.file("src/lib.rs", "fn main() {}")
.file("examples/bar.rs", "fn main() {}")
- .file("examples/baz/main.rs", "fn main() {}");
+ .file("examples/baz/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("test"), execs().with_status(0));
+ assert_that(p.cargo("test"), execs().with_status(0));
assert_that(&p.bin("examples/bar"), existing_file());
assert_that(&p.bin("examples/baz"), existing_file());
}
@@ -3681,10 +3768,11 @@ fn inferred_tests() {
"#)
.file("src/lib.rs", "fn main() {}")
.file("tests/bar.rs", "fn main() {}")
- .file("tests/baz/main.rs", "fn main() {}");
+ .file("tests/baz/main.rs", "fn main() {}")
+ .build();
assert_that(
- p.cargo_process("test").arg("--test=bar").arg("--test=baz"),
+ p.cargo("test").arg("--test=bar").arg("--test=baz"),
execs().with_status(0));
}
@@ -3698,10 +3786,11 @@ fn inferred_benchmark() {
authors = []
"#)
.file("src/lib.rs", "fn main() {}")
- .file("benches/bar.rs", "fn main() {}");
+ .file("benches/bar.rs", "fn main() {}")
+ .build();
assert_that(
- p.cargo_process("bench").arg("--bench=bar"),
+ p.cargo("bench").arg("--bench=bar"),
execs().with_status(0));
}
@@ -3716,10 +3805,11 @@ fn inferred_benchmark_from_directory() {
authors = []
"#)
.file("src/lib.rs", "fn main() {}")
- .file("benches/bar/main.rs", "fn main() {}");
+ .file("benches/bar/main.rs", "fn main() {}")
+ .build();
assert_that(
- p.cargo_process("bench").arg("--bench=bar"),
+ p.cargo("bench").arg("--bench=bar"),
execs().with_status(0));
}
@@ -3729,9 +3819,10 @@ fn same_metadata_different_directory() {
// same metadata hash.
let p = project("foo1")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
let output = t!(String::from_utf8(
- t!(p.cargo_process("build").arg("-v").exec_with_output())
+ t!(p.cargo("build").arg("-v").exec_with_output())
.stderr,
));
let metadata = output
@@ -3741,10 +3832,11 @@ fn same_metadata_different_directory() {
let p = project("foo2")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
assert_that(
- p.cargo_process("build").arg("-v"),
+ p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr_contains(
format!("[..]{}[..]", metadata),
),
@@ -3774,8 +3866,8 @@ fn building_a_dependent_crate_witout_bin_should_fail() {
[dependencies]
testless = "0.1.0"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(101).with_stderr_contains(
diff --git a/tests/cargo-features.rs b/tests/cargo-features.rs
index 55387fa7bc9..0434b776e10 100644
--- a/tests/cargo-features.rs
+++ b/tests/cargo-features.rs
@@ -15,8 +15,9 @@ fn feature_required() {
authors = []
im-a-teapot = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build")
.masquerade_as_nightly_cargo(),
execs().with_status(101)
.with_stderr("\
@@ -59,8 +60,9 @@ fn unknown_feature() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
error: failed to parse manifest at `[..]`
@@ -81,8 +83,9 @@ fn stable_feature_warns() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
warning: the cargo feature `test-dummy-stable` is now stable and is no longer \
@@ -104,8 +107,9 @@ fn nightly_feature_requires_nightly() {
authors = []
im-a-teapot = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build")
.masquerade_as_nightly_cargo(),
execs().with_status(0)
.with_stderr("\
@@ -146,8 +150,9 @@ fn nightly_feature_requires_nightly_in_dep() {
authors = []
im-a-teapot = true
"#)
- .file("a/src/lib.rs", "");
- assert_that(p.cargo_process("build")
+ .file("a/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build")
.masquerade_as_nightly_cargo(),
execs().with_status(0)
.with_stderr("\
@@ -185,8 +190,9 @@ fn cant_publish() {
authors = []
im-a-teapot = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build")
.masquerade_as_nightly_cargo(),
execs().with_status(0)
.with_stderr("\
@@ -217,8 +223,9 @@ fn z_flags_rejected() {
authors = []
im-a-teapot = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build")
.arg("-Zprint-im-a-teapot"),
execs().with_status(101)
.with_stderr("\
@@ -255,8 +262,9 @@ fn publish_rejected() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("package")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("package")
.masquerade_as_nightly_cargo(),
execs().with_status(101)
.with_stderr("\
diff --git a/tests/cargo.rs b/tests/cargo.rs
index 6f488a98059..55de7b9c7d6 100644
--- a/tests/cargo.rs
+++ b/tests/cargo.rs
@@ -10,7 +10,7 @@ use std::str;
use cargotest::cargo_process;
use cargotest::support::paths::{self, CargoPathExt};
-use cargotest::support::{execs, project, ProjectBuilder, basic_bin_manifest};
+use cargotest::support::{execs, project, Project, basic_bin_manifest};
use hamcrest::{assert_that, existing_file};
#[cfg_attr(windows,allow(dead_code))]
@@ -20,8 +20,8 @@ enum FakeKind<'a> {
}
/// Add an empty file with executable flags (and platform-dependent suffix).
-/// TODO: move this to `ProjectBuilder` if other cases using this emerge.
-fn fake_file(proj: ProjectBuilder, dir: &Path, name: &str, kind: &FakeKind) -> ProjectBuilder {
+/// TODO: move this to `Project` if other cases using this emerge.
+fn fake_file(proj: Project, dir: &Path, name: &str, kind: &FakeKind) -> Project {
let path = proj.root().join(dir).join(&format!("{}{}", name,
env::consts::EXE_SUFFIX));
path.parent().unwrap().mkdir_p();
@@ -63,7 +63,7 @@ fn path() -> Vec {
#[test]
fn list_command_looks_at_path() {
- let proj = project("list-non-overlapping");
+ let proj = project("list-non-overlapping").build();
let proj = fake_file(proj, Path::new("path-test"), "cargo-1", &FakeKind::Executable);
let mut pr = cargo_process();
@@ -83,7 +83,7 @@ fn list_command_looks_at_path() {
fn list_command_resolves_symlinks() {
use cargotest::support::cargo_exe;
- let proj = project("list-non-overlapping");
+ let proj = project("list-non-overlapping").build();
let proj = fake_file(proj, Path::new("path-test"), "cargo-2",
&FakeKind::Symlink{target:&cargo_exe()});
let mut pr = cargo_process();
@@ -175,11 +175,12 @@ fn cargo_subcommand_env() {
let p = project("cargo-envtest")
.file("Cargo.toml", &basic_bin_manifest("cargo-envtest"))
- .file("src/main.rs", &src);
+ .file("src/main.rs", &src)
+ .build();
let target_dir = p.target_debug_dir();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("cargo-envtest"), existing_file());
let mut pr = cargo_process();
diff --git a/tests/cargo_alias_config.rs b/tests/cargo_alias_config.rs
index abc34b7e984..0f1a9583486 100644
--- a/tests/cargo_alias_config.rs
+++ b/tests/cargo_alias_config.rs
@@ -13,9 +13,10 @@ fn alias_incorrect_config_type() {
.file(".cargo/config",r#"
[alias]
b-cargo-test = 5
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("b-cargo-test").arg("-v"),
+ assert_that(p.cargo("b-cargo-test").arg("-v"),
execs().with_status(101).
with_stderr_contains("[ERROR] invalid configuration \
for key `alias.b-cargo-test`
@@ -33,9 +34,10 @@ fn alias_default_config_overrides_config() {
.file(".cargo/config",r#"
[alias]
b = "not_build"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("b").arg("-v"),
+ assert_that(p.cargo("b").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]"));
}
@@ -50,9 +52,10 @@ fn alias_config() {
.file(".cargo/config",r#"
[alias]
b-cargo-test = "build"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("b-cargo-test").arg("-v"),
+ assert_that(p.cargo("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]
[RUNNING] `rustc --crate-name foo [..]"));
@@ -68,9 +71,10 @@ fn alias_list_test() {
.file(".cargo/config",r#"
[alias]
b-cargo-test = ["build", "--release"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("b-cargo-test").arg("-v"),
+ assert_that(p.cargo("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]").
with_stderr_contains("[RUNNING] `rustc --crate-name [..]")
@@ -87,9 +91,10 @@ fn alias_with_flags_config() {
.file(".cargo/config",r#"
[alias]
b-cargo-test = "build --release"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("b-cargo-test").arg("-v"),
+ assert_that(p.cargo("b-cargo-test").arg("-v"),
execs().with_status(0).
with_stderr_contains("[COMPILING] foo v0.5.0 [..]").
with_stderr_contains("[RUNNING] `rustc --crate-name foo [..]")
@@ -106,9 +111,10 @@ fn cant_shadow_builtin() {
.file(".cargo/config",r#"
[alias]
build = "fetch"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.5.0 ([..])
diff --git a/tests/cargotest/support/cross_compile.rs b/tests/cargotest/support/cross_compile.rs
index 95d6ea3e6c1..fc274cb4280 100644
--- a/tests/cargotest/support/cross_compile.rs
+++ b/tests/cargotest/support/cross_compile.rs
@@ -32,9 +32,10 @@ pub fn disabled() -> bool {
CHECK.call_once(|| {
let p = project("cross_test")
.file("Cargo.toml", &basic_bin_manifest("cross_test"))
- .file("src/cross_test.rs", &main_file(r#""testing!""#, &[]));
+ .file("src/cross_test.rs", &main_file(r#""testing!""#, &[]))
+ .build();
- let result = p.cargo_process("build")
+ let result = p.cargo("build")
.arg("--target").arg(&cross_target)
.exec_with_output();
@@ -127,4 +128,4 @@ pub fn host() -> String {
_ => unreachable!(),
};
format!("{}-{}", arch, platform)
-}
\ No newline at end of file
+}
diff --git a/tests/cargotest/support/git.rs b/tests/cargotest/support/git.rs
index 393157a62b1..439457c232e 100644
--- a/tests/cargotest/support/git.rs
+++ b/tests/cargotest/support/git.rs
@@ -6,13 +6,16 @@ use url::Url;
use git2;
use cargo::util::ProcessError;
-use support::{ProjectBuilder, project, path2url};
+use support::{ProjectBuilder, Project, project, path2url};
+#[must_use]
pub struct RepoBuilder {
repo: git2::Repository,
files: Vec,
}
+pub struct Repository(git2::Repository);
+
pub fn repo(p: &Path) -> RepoBuilder { RepoBuilder::init(p) }
impl RepoBuilder {
@@ -40,34 +43,40 @@ impl RepoBuilder {
self
}
- pub fn build(&self) {
- let mut index = t!(self.repo.index());
- for file in self.files.iter() {
- t!(index.add_path(file));
+ pub fn build(self) -> Repository {
+ {
+ let mut index = t!(self.repo.index());
+ for file in self.files.iter() {
+ t!(index.add_path(file));
+ }
+ t!(index.write());
+ let id = t!(index.write_tree());
+ let tree = t!(self.repo.find_tree(id));
+ let sig = t!(self.repo.signature());
+ t!(self.repo.commit(Some("HEAD"), &sig, &sig,
+ "Initial commit", &tree, &[]));
}
- t!(index.write());
- let id = t!(index.write_tree());
- let tree = t!(self.repo.find_tree(id));
- let sig = t!(self.repo.signature());
- t!(self.repo.commit(Some("HEAD"), &sig, &sig,
- "Initial commit", &tree, &[]));
+ let RepoBuilder{ repo, .. } = self;
+ Repository(repo)
}
+}
+impl Repository {
pub fn root(&self) -> &Path {
- self.repo.workdir().unwrap()
+ self.0.workdir().unwrap()
}
pub fn url(&self) -> Url {
- path2url(self.repo.workdir().unwrap().to_path_buf())
+ path2url(self.0.workdir().unwrap().to_path_buf())
}
}
-pub fn new(name: &str, callback: F) -> Result
+pub fn new(name: &str, callback: F) -> Result
where F: FnOnce(ProjectBuilder) -> ProjectBuilder
{
let mut git_project = project(name);
git_project = callback(git_project);
- git_project.build();
+ let git_project = git_project.build();
let repo = t!(git2::Repository::init(&git_project.root()));
let mut cfg = t!(repo.config());
diff --git a/tests/cargotest/support/mod.rs b/tests/cargotest/support/mod.rs
index b3b16b1f852..4de27a48bc1 100644
--- a/tests/cargotest/support/mod.rs
+++ b/tests/cargotest/support/mod.rs
@@ -1,4 +1,3 @@
-use std::cell::Cell;
use std::env;
use std::error::Error;
use std::ffi::OsStr;
@@ -93,40 +92,102 @@ impl SymlinkBuilder {
}
}
+#[derive(PartialEq,Clone)]
+pub struct Project{
+ root: PathBuf,
+}
+
+#[must_use]
#[derive(PartialEq,Clone)]
pub struct ProjectBuilder {
name: String,
- root: PathBuf,
+ root: Project,
files: Vec,
symlinks: Vec,
- is_build: Cell,
}
impl ProjectBuilder {
+ pub fn root(&self) -> PathBuf {
+ self.root.root()
+ }
+
+ pub fn build_dir(&self) -> PathBuf {
+ self.root.build_dir()
+ }
+
+ pub fn target_debug_dir(&self) -> PathBuf {
+ self.root.target_debug_dir()
+ }
+
pub fn new(name: &str, root: PathBuf) -> ProjectBuilder {
ProjectBuilder {
name: name.to_string(),
- root: root,
+ root: Project{ root },
files: vec![],
symlinks: vec![],
- is_build: Cell::new(false),
}
}
+ pub fn file>(mut self, path: B,
+ body: &str) -> Self {
+ self._file(path.as_ref(), body);
+ self
+ }
+
+ fn _file(&mut self, path: &Path, body: &str) {
+ self.files.push(FileBuilder::new(self.root.root.join(path), body));
+ }
+
+ pub fn symlink>(mut self, dst: T,
+ src: T) -> Self {
+ self.symlinks.push(SymlinkBuilder::new(self.root.root.join(dst),
+ self.root.root.join(src)));
+ self
+ }
+
+ pub fn build(self) -> Project {
+ // First, clean the directory if it already exists
+ self.rm_root();
+
+ // Create the empty directory
+ self.root.root.mkdir_p();
+
+ for file in self.files.iter() {
+ file.mk();
+ }
+
+ for symlink in self.symlinks.iter() {
+ symlink.mk();
+ }
+
+ let ProjectBuilder{ name: _, root, files: _, symlinks: _, .. } = self;
+ root
+ }
+
+ fn rm_root(&self) {
+ self.root.root.rm_rf()
+ }
+}
+
+impl Project {
pub fn root(&self) -> PathBuf {
self.root.clone()
}
- pub fn url(&self) -> Url { path2url(self.root()) }
+ pub fn build_dir(&self) -> PathBuf {
+ self.root.join("target")
+ }
pub fn target_debug_dir(&self) -> PathBuf {
self.build_dir().join("debug")
}
+ pub fn url(&self) -> Url { path2url(self.root()) }
+
pub fn example_lib(&self, name: &str, kind: &str) -> PathBuf {
- let prefix = ProjectBuilder::get_lib_prefix(kind);
+ let prefix = Project::get_lib_prefix(kind);
- let extension = ProjectBuilder::get_lib_extension(kind);
+ let extension = Project::get_lib_extension(kind);
let lib_file_name = format!("{}{}.{}",
prefix,
@@ -153,8 +214,8 @@ impl ProjectBuilder {
.join(&format!("{}{}", b, env::consts::EXE_SUFFIX))
}
- pub fn build_dir(&self) -> PathBuf {
- self.root.join("target")
+ pub fn change_file(&self, path: &str, body: &str) {
+ FileBuilder::new(self.root.join(path), body).mk()
}
pub fn process>(&self, program: T) -> ProcessBuilder {
@@ -164,62 +225,11 @@ impl ProjectBuilder {
}
pub fn cargo(&self, cmd: &str) -> ProcessBuilder {
- assert!(self.is_build.get(),
- "call `.build()` before calling `.cargo()`, \
- or use `.cargo_process()`");
let mut p = self.process(&cargo_exe());
p.arg(cmd);
return p;
}
- pub fn cargo_process(&self, cmd: &str) -> ProcessBuilder {
- self.build();
- self.cargo(cmd)
- }
-
- pub fn file>(mut self, path: B,
- body: &str) -> ProjectBuilder {
- self._file(path.as_ref(), body);
- self
- }
-
- fn _file(&mut self, path: &Path, body: &str) {
- self.files.push(FileBuilder::new(self.root.join(path), body));
- }
-
- pub fn change_file(&self, path: &str, body: &str) {
- assert!(self.is_build.get());
- FileBuilder::new(self.root.join(path), body).mk()
- }
-
- pub fn symlink>(mut self, dst: T,
- src: T) -> ProjectBuilder {
- self.symlinks.push(SymlinkBuilder::new(self.root.join(dst),
- self.root.join(src)));
- self
- }
-
- // TODO: return something different than a ProjectBuilder
- pub fn build(&self) -> &ProjectBuilder {
- assert!(!self.is_build.get(),
- "can `.build()` project only once");
- self.is_build.set(true);
- // First, clean the directory if it already exists
- self.rm_root();
-
- // Create the empty directory
- self.root.mkdir_p();
-
- for file in self.files.iter() {
- file.mk();
- }
-
- for symlink in self.symlinks.iter() {
- symlink.mk();
- }
- self
- }
-
pub fn read_lockfile(&self) -> String {
let mut buffer = String::new();
fs::File::open(self.root().join("Cargo.lock")).unwrap()
@@ -263,10 +273,6 @@ impl ProjectBuilder {
_ => unreachable!()
}
}
-
- fn rm_root(&self) {
- self.root.rm_rf()
- }
}
// Generates a project layout
diff --git a/tests/cargotest/support/publish.rs b/tests/cargotest/support/publish.rs
index e960bc8b2ed..b82e5d0d02c 100644
--- a/tests/cargotest/support/publish.rs
+++ b/tests/cargotest/support/publish.rs
@@ -3,11 +3,11 @@ use std::io::prelude::*;
use std::fs::{self, File};
use support::paths;
-use support::git::repo;
+use support::git::{repo, Repository};
use url::Url;
-pub fn setup() {
+pub fn setup() -> Repository {
let config = paths::root().join(".cargo/config");
t!(fs::create_dir_all(config.parent().unwrap()));
t!(t!(File::create(&config)).write_all(br#"
@@ -21,10 +21,10 @@ pub fn setup() {
"dl": "{0}",
"api": "{0}"
}}"#, upload()))
- .build();
+ .build()
}
fn registry_path() -> PathBuf { paths::root().join("registry") }
pub fn registry() -> Url { Url::from_file_path(&*registry_path()).ok().unwrap() }
pub fn upload_path() -> PathBuf { paths::root().join("upload") }
-fn upload() -> Url { Url::from_file_path(&*upload_path()).ok().unwrap() }
\ No newline at end of file
+fn upload() -> Url { Url::from_file_path(&*upload_path()).ok().unwrap() }
diff --git a/tests/cargotest/support/registry.rs b/tests/cargotest/support/registry.rs
index 3046d2e20c5..255fc29fc89 100644
--- a/tests/cargotest/support/registry.rs
+++ b/tests/cargotest/support/registry.rs
@@ -57,7 +57,7 @@ pub fn init() {
"#, reg = registry()).as_bytes()));
// Init a new registry
- repo(®istry_path())
+ let _ = repo(®istry_path())
.file("config.json", &format!(r#"
{{"dl":"{0}","api":"{0}"}}
"#, dl_url()))
diff --git a/tests/cfg.rs b/tests/cfg.rs
index e1af6215876..370ae36f7d3 100644
--- a/tests/cfg.rs
+++ b/tests/cfg.rs
@@ -157,8 +157,9 @@ fn cfg_easy() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -182,8 +183,9 @@ fn dont_include() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[COMPILING] a v0.0.1 ([..])
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -208,9 +210,10 @@ fn works_through_the_registry() {
[dependencies]
bar = "0.1.0"
"#)
- .file("src/lib.rs", "#[allow(unused_extern_crates)] extern crate bar;");
+ .file("src/lib.rs", "#[allow(unused_extern_crates)] extern crate bar;")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry [..]
[DOWNLOADING] [..]
@@ -242,9 +245,10 @@ fn ignore_version_from_other_platform() {
[target.'cfg({})'.dependencies]
foo = "0.2.0"
"#, this_family, other_family))
- .file("src/lib.rs", "#[allow(unused_extern_crates)] extern crate foo;");
+ .file("src/lib.rs", "#[allow(unused_extern_crates)] extern crate foo;")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry [..]
[DOWNLOADING] [..]
@@ -266,9 +270,10 @@ fn bad_target_spec() {
[target.'cfg(4)'.dependencies]
bar = "0.1.0"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -292,9 +297,10 @@ fn bad_target_spec2() {
[target.'cfg(foo =)'.dependencies]
bar = "0.1.0"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -336,8 +342,9 @@ fn multiple_match_ok() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -360,7 +367,8 @@ fn any_ok() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("b/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
diff --git a/tests/check.rs b/tests/check.rs
index 84ff66b5f33..37f2ea8281a 100644
--- a/tests/check.rs
+++ b/tests/check.rs
@@ -23,8 +23,9 @@ fn check_success() {
fn main() {
::bar::baz();
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -33,10 +34,10 @@ fn check_success() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("check"),
+ assert_that(foo.cargo("check"),
execs().with_status(0));
}
@@ -57,8 +58,9 @@ fn check_fail() {
fn main() {
::bar::baz(42);
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -67,10 +69,10 @@ fn check_fail() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("check"),
+ assert_that(foo.cargo("check"),
execs().with_status(101));
}
@@ -106,8 +108,9 @@ fn main() {
let a = A;
a.b();
}
-"#);
- let bar = project("bar")
+"#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -128,10 +131,10 @@ use proc_macro::TokenStream;
pub fn derive(_input: TokenStream) -> TokenStream {
format!("impl B for A {{ fn b(&self) {{}} }}").parse().unwrap()
}
-"#);
- bar.build();
+"#)
+ .build();
- assert_that(foo.cargo_process("check"),
+ assert_that(foo.cargo("check"),
execs().with_status(0));
}
@@ -152,10 +155,10 @@ fn check_build() {
fn main() {
::bar::baz();
}
- "#);
- foo.build();
+ "#)
+ .build();
- let bar = project("bar")
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -164,8 +167,8 @@ fn check_build() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("check"),
execs().with_status(0));
@@ -190,10 +193,10 @@ fn build_check() {
fn main() {
::bar::baz();
}
- "#);
- foo.build();
+ "#)
+ .build();
- let bar = project("bar")
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -202,8 +205,8 @@ fn build_check() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("build"),
execs().with_status(0));
@@ -225,9 +228,10 @@ fn issue_3418() {
[dependencies]
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(foo.cargo_process("check").arg("-v"),
+ assert_that(foo.cargo("check").arg("-v"),
execs().with_status(0)
.with_stderr_contains("[..] --emit=dep-info,metadata [..]"));
}
@@ -236,7 +240,7 @@ fn issue_3418() {
// checked, but in this case with a proc macro too.
#[test]
fn issue_3419() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -264,7 +268,8 @@ fn issue_3419() {
fn main() {
foo::take::();
}
- "#);
+ "#)
+ .build();
Package::new("rustc-serialize", "1.0.0")
.file("src/lib.rs",
@@ -278,7 +283,7 @@ fn issue_3419() {
where F: FnOnce(&mut Self) -> Result;
} "#).publish();
- assert_that(foo.cargo_process("check"),
+ assert_that(p.cargo("check"),
execs().with_status(0));
}
@@ -300,8 +305,9 @@ fn rustc_check() {
fn main() {
::bar::baz();
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -310,10 +316,10 @@ fn rustc_check() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustc")
+ assert_that(foo.cargo("rustc")
.arg("--profile")
.arg("check")
.arg("--")
@@ -338,8 +344,9 @@ fn rustc_check_err() {
fn main() {
::bar::qux();
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -348,10 +355,10 @@ fn rustc_check_err() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustc")
+ assert_that(foo.cargo("rustc")
.arg("--profile")
.arg("check")
.arg("--")
@@ -361,7 +368,7 @@ fn rustc_check_err() {
#[test]
fn check_all() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -383,9 +390,10 @@ fn check_all() {
authors = []
"#)
.file("b/src/main.rs", "fn main() {}")
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(foo.cargo_process("check").arg("--all").arg("-v"),
+ assert_that(p.cargo("check").arg("--all").arg("-v"),
execs().with_status(0)
.with_stderr_contains("[..] --crate-name foo src[/]lib.rs [..]")
.with_stderr_contains("[..] --crate-name foo src[/]main.rs [..]")
@@ -416,9 +424,10 @@ fn check_virtual_all_implied() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("check").arg("-v"),
+ assert_that(p.cargo("check").arg("-v"),
execs().with_status(0)
.with_stderr_contains("[..] --crate-name foo foo[/]src[/]lib.rs [..]")
.with_stderr_contains("[..] --crate-name bar bar[/]src[/]lib.rs [..]")
@@ -439,9 +448,9 @@ fn check_all_targets() {
.file("examples/example1.rs", "fn main() {}")
.file("tests/test2.rs", "#[test] fn t() {}")
.file("benches/bench3.rs", "")
- ;
+ .build();
- assert_that(foo.cargo_process("check").arg("--all-targets").arg("-v"),
+ assert_that(foo.cargo("check").arg("--all-targets").arg("-v"),
execs().with_status(0)
.with_stderr_contains("[..] --crate-name foo src[/]lib.rs [..]")
.with_stderr_contains("[..] --crate-name foo src[/]main.rs [..]")
diff --git a/tests/clean.rs b/tests/clean.rs
index 76e28ecf8db..0cf5523710a 100644
--- a/tests/clean.rs
+++ b/tests/clean.rs
@@ -10,10 +10,11 @@ use hamcrest::{assert_that, existing_dir, existing_file, is_not};
#[test]
fn cargo_clean_simple() {
let p = project("foo")
- .file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("Cargo.toml", &basic_bin_manifest("foo"))
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.build_dir(), existing_dir());
assert_that(p.cargo("clean"),
@@ -24,11 +25,12 @@ fn cargo_clean_simple() {
#[test]
fn different_dir() {
let p = project("foo")
- .file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
- .file("src/bar/a.rs", "");
+ .file("Cargo.toml", &basic_bin_manifest("foo"))
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .file("src/bar/a.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.build_dir(), existing_dir());
assert_that(p.cargo("clean").cwd(&p.root().join("src")),
@@ -73,9 +75,10 @@ fn clean_multiple_packages() {
[[bin]]
name = "d2"
"#)
- .file("d2/src/main.rs", "fn main() { println!(\"d2\"); }");
+ .file("d2/src/main.rs", "fn main() { println!(\"d2\"); }")
+ .build();
- assert_that(p.cargo_process("build").arg("-p").arg("d1").arg("-p").arg("d2")
+ assert_that(p.cargo("build").arg("-p").arg("d1").arg("-p").arg("d2")
.arg("-p").arg("foo"),
execs().with_status(0));
@@ -116,8 +119,8 @@ fn clean_release() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").arg("--release"),
execs().with_status(0));
@@ -160,8 +163,8 @@ fn build_script() {
}
}
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").env("FIRST", "1"),
execs().with_status(0));
@@ -199,8 +202,8 @@ fn clean_git() {
[dependencies]
dep = {{ git = '{}' }}
"#, git.url()))
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -222,8 +225,8 @@ fn registry() {
[dependencies]
bar = "0.1"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.1.0").publish();
diff --git a/tests/concurrent.rs b/tests/concurrent.rs
index 2027cb63ec3..27ad4b27e44 100644
--- a/tests/concurrent.rs
+++ b/tests/concurrent.rs
@@ -40,7 +40,7 @@ fn multiple_installs() {
version = "0.0.0"
"#)
.file("b/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
let mut a = p.cargo("install").cwd(p.root().join("a")).build_command();
let mut b = p.cargo("install").cwd(p.root().join("b")).build_command();
@@ -107,7 +107,7 @@ fn one_install_should_be_bad() {
version = "0.0.0"
"#)
.file("b/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
let mut a = p.cargo("install").cwd(p.root().join("a")).build_command();
let mut b = p.cargo("install").cwd(p.root().join("b")).build_command();
@@ -163,7 +163,7 @@ fn multiple_registry_fetches() {
bar = "*"
"#)
.file("b/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
let mut a = p.cargo("build").cwd(p.root().join("a")).build_command();
let mut b = p.cargo("build").cwd(p.root().join("b")).build_command();
@@ -228,7 +228,7 @@ fn git_same_repo_different_tags() {
dep = {{ git = '{}', tag = 'tag2' }}
"#, a.url()))
.file("b/src/main.rs", "extern crate dep; fn main() { dep::tag2(); }");
- p.build();
+ let p = p.build();
let mut a = p.cargo("build").arg("-v").cwd(p.root().join("a")).build_command();
let mut b = p.cargo("build").arg("-v").cwd(p.root().join("b")).build_command();
@@ -278,7 +278,7 @@ fn git_same_branch_different_revs() {
dep = {{ git = '{}' }}
"#, a.url()))
.file("b/src/main.rs", "extern crate dep; fn main() { dep::f2(); }");
- p.build();
+ let p = p.build();
// Generate a Cargo.lock pointing at the current rev, then clear out the
// target directory
@@ -322,7 +322,7 @@ fn same_project() {
"#)
.file("src/main.rs", "fn main() {}")
.file("src/lib.rs", "");
- p.build();
+ let p = p.build();
let mut a = p.cargo("build").build_command();
let mut b = p.cargo("build").build_command();
@@ -366,7 +366,7 @@ fn killing_cargo_releases_the_lock() {
}
}
"#);
- p.build();
+ let p = p.build();
// Our build script will connect to our local TCP socket to inform us that
// it's started and that's how we know that `a` will have the lock
@@ -407,7 +407,7 @@ fn debug_release_ok() {
version = "0.0.0"
"#)
.file("src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
fs::remove_dir_all(p.root().join("target")).unwrap();
@@ -464,7 +464,7 @@ fn no_deadlock_with_git_dependencies() {
dep2 = {{ git = '{}' }}
"#, dep1.url(), dep2.url()))
.file("src/main.rs", "fn main() { }");
- p.build();
+ let p = p.build();
let n_concurrent_builds = 5;
diff --git a/tests/config.rs b/tests/config.rs
index 39c85dabd28..89226ce121c 100644
--- a/tests/config.rs
+++ b/tests/config.rs
@@ -20,8 +20,9 @@ fn read_env_vars_for_config() {
fn main() {
assert_eq!(env::var("NUM_JOBS").unwrap(), "100");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").env("CARGO_BUILD_JOBS", "100"),
+ assert_that(p.cargo("build").env("CARGO_BUILD_JOBS", "100"),
execs().with_status(0));
}
diff --git a/tests/cross-compile.rs b/tests/cross-compile.rs
index 84d528492cb..4c7837fc9c7 100644
--- a/tests/cross-compile.rs
+++ b/tests/cross-compile.rs
@@ -29,10 +29,11 @@ fn simple_cross() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(p.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0));
assert_that(&p.target_bin(&target, "foo"), existing_file());
@@ -66,10 +67,11 @@ fn simple_cross_config() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(&p.target_bin(&target, "foo"), existing_file());
@@ -94,19 +96,20 @@ fn simple_deps() {
.file("src/main.rs", r#"
extern crate bar;
fn main() { bar::bar(); }
- "#);
- let p2 = project("bar")
+ "#)
+ .build();
+ let _p2 = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "pub fn bar() {}");
- p2.build();
+ .file("src/lib.rs", "pub fn bar() {}")
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("build").arg("--target").arg(&target),
+ assert_that(p.cargo("build").arg("--target").arg(&target),
execs().with_status(0));
assert_that(&p.target_bin(&target, "foo"), existing_file());
@@ -139,8 +142,9 @@ fn plugin_deps() {
fn main() {
assert_eq!(bar!(), baz::baz());
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -171,20 +175,20 @@ fn plugin_deps() {
-> Box {
MacEager::expr(quote_expr!(cx, 1))
}
- "#);
- let baz = project("baz")
+ "#)
+ .build();
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[package]
name = "baz"
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "pub fn baz() -> i32 { 1 }");
- bar.build();
- baz.build();
+ .file("src/lib.rs", "pub fn baz() -> i32 { 1 }")
+ .build();
let target = cross_compile::alternate();
- assert_that(foo.cargo_process("build").arg("--target").arg(&target),
+ assert_that(foo.cargo("build").arg("--target").arg(&target),
execs().with_status(0));
assert_that(&foo.target_bin(&target, "foo"), existing_file());
@@ -217,8 +221,9 @@ fn plugin_to_the_max() {
fn main() {
assert_eq!(bar!(), baz::baz());
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -253,20 +258,20 @@ fn plugin_to_the_max() {
-> Box {
MacEager::expr(quote_expr!(cx, baz::baz()))
}
- "#);
- let baz = project("baz")
+ "#)
+ .build();
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[package]
name = "baz"
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "pub fn baz() -> i32 { 1 }");
- bar.build();
- baz.build();
+ .file("src/lib.rs", "pub fn baz() -> i32 { 1 }")
+ .build();
let target = cross_compile::alternate();
- assert_that(foo.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(foo.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0));
println!("second");
assert_that(foo.cargo("build").arg("-v")
@@ -295,9 +300,10 @@ fn linker_and_ar() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
- assert_that(p.cargo_process("build").arg("--target").arg(&target)
+ assert_that(p.cargo("build").arg("--target").arg(&target)
.arg("-v"),
execs().with_status(101)
.with_stderr_contains(&format!("\
@@ -337,8 +343,9 @@ fn plugin_with_extra_dylib_dep() {
#![plugin(bar)]
fn main() {}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -364,8 +371,9 @@ fn plugin_with_extra_dylib_dep() {
pub fn foo(reg: &mut Registry) {
println!("{}", baz::baz());
}
- "#);
- let baz = project("baz")
+ "#)
+ .build();
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[package]
name = "baz"
@@ -376,12 +384,11 @@ fn plugin_with_extra_dylib_dep() {
name = "baz"
crate_type = ["dylib"]
"#)
- .file("src/lib.rs", "pub fn baz() -> i32 { 1 }");
- bar.build();
- baz.build();
+ .file("src/lib.rs", "pub fn baz() -> i32 { 1 }")
+ .build();
let target = cross_compile::alternate();
- assert_that(foo.cargo_process("build").arg("--target").arg(&target),
+ assert_that(foo.cargo("build").arg("--target").arg(&target),
execs().with_status(0));
}
@@ -412,10 +419,11 @@ fn cross_tests() {
use std::env;
pub fn foo() {{ assert_eq!(env::consts::ARCH, "{}"); }}
#[test] fn test_foo() {{ foo() }}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("test").arg("--target").arg(&target),
+ assert_that(p.cargo("test").arg("--target").arg(&target),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({foo})
@@ -442,8 +450,8 @@ fn no_cross_doctests() {
//! extern crate foo;
//! assert!(true);
//! ```
- "#);
- p.build();
+ "#)
+ .build();
let host_output = format!("\
[COMPILING] foo v0.0.0 ({foo})
@@ -495,10 +503,11 @@ fn simple_cargo_run() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("run").arg("--target").arg(&target),
+ assert_that(p.cargo("run").arg("--target").arg(&target),
execs().with_status(0));
}
@@ -535,9 +544,10 @@ fn cross_with_a_build_script() {
assert_eq!(path.file_name().unwrap().to_str().unwrap(), "target");
}}
"#, target))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(p.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.0 (file://[..])
@@ -609,9 +619,10 @@ fn build_script_needed_for_host_and_target() {
#[allow(unused_extern_crates)]
extern crate d1;
pub fn d2() { d1::d1(); }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(p.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0)
.with_stderr_contains(&format!("\
[COMPILING] d1 v0.0.0 ({url}/d1)", url = p.url()))
@@ -673,10 +684,11 @@ fn build_deps_for_the_right_arch() {
path = "../d1"
"#)
.file("d2/build.rs", "extern crate d1; fn main() {}")
- .file("d2/src/lib.rs", "");
+ .file("d2/src/lib.rs", "")
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(p.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0));
}
@@ -715,10 +727,11 @@ fn build_script_only_host() {
.contains("target/debug/build/d1-"),
"bad: {:?}", env::var("OUT_DIR"));
}
- "#);
+ "#)
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("build").arg("--target").arg(&target).arg("-v"),
+ assert_that(p.cargo("build").arg("--target").arg(&target).arg("-v"),
execs().with_status(0));
}
@@ -738,9 +751,10 @@ fn plugin_build_script_right_arch() {
plugin = true
"#)
.file("build.rs", "fn main() {}")
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--target").arg(cross_compile::alternate()),
+ assert_that(p.cargo("build").arg("-v").arg("--target").arg(cross_compile::alternate()),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo v0.0.1 ([..])
@@ -793,9 +807,10 @@ fn build_script_with_platform_specific_dependencies() {
version = "0.0.0"
authors = []
"#)
- .file("d2/src/lib.rs", "");
+ .file("d2/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--target").arg(&target),
+ assert_that(p.cargo("build").arg("-v").arg("--target").arg(&target),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] d2 v0.0.0 ([..])
@@ -848,9 +863,10 @@ fn platform_specific_dependencies_do_not_leak() {
version = "0.0.0"
authors = []
"#)
- .file("d2/src/lib.rs", "");
+ .file("d2/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("--target").arg(&target),
+ assert_that(p.cargo("build").arg("-v").arg("--target").arg(&target),
execs().with_status(101)
.with_stderr_contains("\
[..] can't find crate for `d2`[..]"));
@@ -917,8 +933,8 @@ fn platform_specific_variables_reflected_in_build_scripts() {
.file("d2/build.rs", r#"
fn main() { println!("cargo:val=1") }
"#)
- .file("d2/src/lib.rs", "");
- p.build();
+ .file("d2/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
assert_that(p.cargo("build").arg("-v").arg("--target").arg(&target),
@@ -974,9 +990,10 @@ fn cross_test_dylib() {
pub fn baz() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
- assert_that(p.cargo_process("test").arg("--target").arg(&target),
+ assert_that(p.cargo("test").arg("--target").arg(&target),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
diff --git a/tests/cross-publish.rs b/tests/cross-publish.rs
index 0070cb9500f..4dd0c292a6f 100644
--- a/tests/cross-publish.rs
+++ b/tests/cross-publish.rs
@@ -32,11 +32,12 @@ fn simple_cross_package() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
- assert_that(p.cargo_process("package").arg("--target").arg(&target),
+ assert_that(p.cargo("package").arg("--target").arg(&target),
execs().with_status(0).with_status(0).with_stderr(&format!(
" Packaging foo v0.0.0 ({dir})
Verifying foo v0.0.0 ({dir})
@@ -80,9 +81,8 @@ fn publish_with_target() {
fn main() {{
assert_eq!(env::consts::ARCH, "{}");
}}
- "#, cross_compile::alternate_arch()));
-
- p.build();
+ "#, cross_compile::alternate_arch()))
+ .build();
let target = cross_compile::alternate();
@@ -97,4 +97,4 @@ fn publish_with_target() {
Finished dev [unoptimized + debuginfo] target(s) in [..]
Uploading foo v0.0.0 ({dir})
", dir = p.url(), registry = publish::registry())));
-}
\ No newline at end of file
+}
diff --git a/tests/death.rs b/tests/death.rs
index 91aebbf75be..3d04a24ccc6 100644
--- a/tests/death.rs
+++ b/tests/death.rs
@@ -77,8 +77,8 @@ fn ctrl_c_kills_everyone() {
let _ = socket.read(&mut [0; 10]);
panic!("that read should never return");
}}
- "#, addr));
- p.build();
+ "#, addr))
+ .build();
let mut cargo = p.cargo("build").build_command();
cargo.stdin(Stdio::piped())
diff --git a/tests/dep-info.rs b/tests/dep-info.rs
index 2f0513e7b7e..8b060aa026f 100644
--- a/tests/dep-info.rs
+++ b/tests/dep-info.rs
@@ -8,9 +8,10 @@ use hamcrest::{assert_that, existing_file};
fn build_dep_info() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
let depinfo_bin_path = &p.bin("foo").with_extension("d");
@@ -31,9 +32,10 @@ fn build_dep_info_lib() {
crate-type = ["lib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "lib").with_extension("d"), existing_file());
}
@@ -52,9 +54,10 @@ fn build_dep_info_rlib() {
crate-type = ["rlib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "rlib").with_extension("d"), existing_file());
}
@@ -72,8 +75,9 @@ fn build_dep_info_dylib() {
crate-type = ["dylib"]
"#)
.file("src/lib.rs", "")
- .file("examples/ex.rs", "");
+ .file("examples/ex.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--example=ex"), execs().with_status(0));
+ assert_that(p.cargo("build").arg("--example=ex"), execs().with_status(0));
assert_that(&p.example_lib("ex", "dylib").with_extension("d"), existing_file());
}
diff --git a/tests/directory.rs b/tests/directory.rs
index dab2dcdfbc5..9888bc6f3ea 100644
--- a/tests/directory.rs
+++ b/tests/directory.rs
@@ -66,7 +66,7 @@ impl VendorPackage {
let p = self.p.take().unwrap();
let json = serde_json::to_string(&self.cksum).unwrap();
let p = p.file(".cargo-checksum.json", &json);
- p.build();
+ let _ = p.build();
}
}
@@ -100,8 +100,8 @@ fn simple() {
pub fn bar() {
foo::foo();
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
@@ -253,7 +253,7 @@ warning: be sure to add `[..]` to your PATH to be able to run the installed bina
fn not_there() {
setup();
- project("index").build();
+ let _ = project("index").build();
let p = project("bar")
.file("Cargo.toml", r#"
@@ -271,8 +271,8 @@ fn not_there() {
pub fn bar() {
foo::foo();
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
@@ -324,8 +324,8 @@ fn multiple() {
pub fn bar() {
foo::foo();
}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
@@ -353,8 +353,8 @@ fn crates_io_then_directory() {
pub fn bar() {
foo::foo();
}
- "#);
- p.build();
+ "#)
+ .build();
let cksum = Package::new("foo", "0.1.0")
.file("src/lib.rs", "pub fn foo() -> u32 { 0 }")
@@ -402,8 +402,8 @@ fn crates_io_then_bad_checksum() {
[dependencies]
foo = "0.1.0"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
Package::new("foo", "0.1.0").publish();
@@ -463,8 +463,8 @@ fn bad_file_checksum() {
[dependencies]
foo = "0.1.0"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
@@ -505,8 +505,8 @@ fn only_dot_files_ok() {
[dependencies]
foo = "0.1.0"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"), execs().with_status(0));
}
@@ -545,8 +545,8 @@ fn git_lock_file_doesnt_change() {
[dependencies]
git = {{ git = '{0}' }}
"#, git.url()))
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"), execs().with_status(0));
@@ -600,8 +600,8 @@ fn git_override_requires_lockfile() {
[dependencies]
git = { git = 'https://example.com/' }
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
let root = paths::root();
t!(fs::create_dir(&root.join(".cargo")));
diff --git a/tests/doc.rs b/tests/doc.rs
index 97a8a613f4e..0d215c91a98 100644
--- a/tests/doc.rs
+++ b/tests/doc.rs
@@ -24,9 +24,10 @@ fn simple() {
.file("build.rs", "fn main() {}")
.file("src/lib.rs", r#"
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0).with_stderr(&format!("\
[..] foo v0.0.1 ({dir})
[..] foo v0.0.1 ({dir})
@@ -52,9 +53,10 @@ fn doc_no_libs() {
"#)
.file("src/main.rs", r#"
bad code
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0));
}
@@ -69,9 +71,10 @@ fn doc_twice() {
"#)
.file("src/lib.rs", r#"
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0).with_stderr(&format!("\
[DOCUMENTING] foo v0.0.1 ({dir})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -106,9 +109,10 @@ fn doc_deps() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0).with_stderr(&format!("\
[..] bar v0.0.1 ({dir}/bar)
[..] bar v0.0.1 ({dir}/bar)
@@ -154,9 +158,10 @@ fn doc_no_deps() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc").arg("--no-deps"),
+ assert_that(p.cargo("doc").arg("--no-deps"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
[DOCUMENTING] foo v0.0.1 ({dir})
@@ -193,9 +198,10 @@ fn doc_only_bin() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc").arg("-v"),
+ assert_that(p.cargo("doc").arg("-v"),
execs().with_status(0));
assert_that(&p.root().join("target/doc"), existing_dir());
@@ -225,9 +231,10 @@ fn doc_multiple_targets_same_name_lib() {
[lib]
name = "foo_lib"
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("doc").arg("--all"),
+ assert_that(p.cargo("doc").arg("--all"),
execs()
.with_status(101)
.with_stderr_contains("[..] library `foo_lib` is specified [..]")
@@ -257,9 +264,10 @@ fn doc_multiple_targets_same_name() {
[lib]
name = "foo_lib"
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("doc").arg("--all"),
+ assert_that(p.cargo("doc").arg("--all"),
execs()
.with_status(101)
.with_stderr_contains("[..] target `foo_lib` [..]")
@@ -289,9 +297,10 @@ fn doc_multiple_targets_same_name_bin() {
[[bin]]
name = "foo-cli"
"#)
- .file("bar/src/foo-cli.rs", "");
+ .file("bar/src/foo-cli.rs", "")
+ .build();
- assert_that(p.cargo_process("doc").arg("--all"),
+ assert_that(p.cargo("doc").arg("--all"),
execs()
.with_status(101)
.with_stderr_contains("[..] binary `foo_cli` is specified [..]")
@@ -322,9 +331,10 @@ fn doc_multiple_targets_same_name_undoced() {
name = "foo-cli"
doc = false
"#)
- .file("bar/src/foo-cli.rs", "");
+ .file("bar/src/foo-cli.rs", "")
+ .build();
- assert_that(p.cargo_process("doc").arg("--all"),
+ assert_that(p.cargo("doc").arg("--all"),
execs().with_status(0));
}
@@ -338,9 +348,10 @@ fn doc_lib_bin_same_name() {
authors = []
"#)
.file("src/main.rs", "fn main() {}")
- .file("src/lib.rs", "fn foo() {}");
+ .file("src/lib.rs", "fn foo() {}")
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(101)
.with_stderr("\
[ERROR] The target `foo` is specified as a library and as a binary by package \
@@ -376,9 +387,10 @@ fn doc_dash_p() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("doc").arg("-p").arg("a"),
+ assert_that(p.cargo("doc").arg("-p").arg("a"),
execs().with_status(0)
.with_stderr("\
[..] b v0.0.1 (file://[..])
@@ -400,9 +412,10 @@ fn doc_same_name() {
.file("src/lib.rs", "")
.file("src/bin/main.rs", "fn main() {}")
.file("examples/main.rs", "fn main() {}")
- .file("tests/main.rs", "fn main() {}");
+ .file("tests/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0));
}
@@ -424,9 +437,10 @@ fn doc_target() {
extern {
pub static A: u32;
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc").arg("--target").arg(TARGET).arg("--verbose"),
+ assert_that(p.cargo("doc").arg("--target").arg(TARGET).arg("--verbose"),
execs().with_status(0));
assert_that(&p.root().join(&format!("target/{}/doc", TARGET)), existing_dir());
assert_that(&p.root().join(&format!("target/{}/doc/foo/index.html", TARGET)), existing_file());
@@ -451,9 +465,10 @@ fn target_specific_not_documented() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "not rust");
+ .file("a/src/lib.rs", "not rust")
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0));
}
@@ -481,9 +496,10 @@ fn output_not_captured() {
/// ☃
/// ```
pub fn foo() {}
- ");
+ ")
+ .build();
- let error = p.cargo_process("doc").exec_with_output().err().unwrap();
+ let error = p.cargo("doc").exec_with_output().err().unwrap();
if let CargoError(CargoErrorKind::ProcessErrorKind(perr), ..) = error {
let output = perr.output.unwrap();
let stderr = str::from_utf8(&output.stderr).unwrap();
@@ -524,9 +540,10 @@ fn target_specific_documented() {
.file("a/src/lib.rs", "
/// test
pub fn foo() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0));
}
@@ -556,9 +573,10 @@ fn no_document_build_deps() {
/// ☃
/// ```
pub fn foo() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0));
}
@@ -571,9 +589,10 @@ fn doc_release() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--release"),
+ assert_that(p.cargo("build").arg("--release"),
execs().with_status(0));
assert_that(p.cargo("doc").arg("--release").arg("-v"),
execs().with_status(0)
@@ -620,9 +639,10 @@ fn doc_multiple_deps() {
"#)
.file("baz/src/lib.rs", r#"
pub fn baz() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("doc")
+ assert_that(p.cargo("doc")
.arg("-p").arg("bar")
.arg("-p").arg("baz")
.arg("-v"),
@@ -669,8 +689,9 @@ fn features() {
.file("bar/src/lib.rs", r#"
#[cfg(feature = "bar")]
pub fn bar() {}
- "#);
- assert_that(p.cargo_process("doc").arg("--features").arg("foo"),
+ "#)
+ .build();
+ assert_that(p.cargo("doc").arg("--features").arg("foo"),
execs().with_status(0));
assert_that(&p.root().join("target/doc"), existing_dir());
assert_that(&p.root().join("target/doc/foo/fn.foo.html"), existing_file());
@@ -689,8 +710,8 @@ fn rerun_when_dir_removed() {
.file("src/lib.rs", r#"
/// dox
pub fn foo() {}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("doc"),
execs().with_status(0));
@@ -722,8 +743,9 @@ fn document_only_lib() {
/// ```
pub fn foo() {}
fn main() { foo(); }
- "#);
- assert_that(p.cargo_process("doc").arg("--lib"),
+ "#)
+ .build();
+ assert_that(p.cargo("doc").arg("--lib"),
execs().with_status(0));
assert_that(&p.root().join("target/doc/foo/index.html"), existing_file());
}
@@ -743,8 +765,9 @@ fn plugins_no_use_target() {
[lib]
proc-macro = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("doc")
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("doc")
.arg("--target=x86_64-unknown-openbsd")
.arg("-v"),
execs().with_status(0));
@@ -773,10 +796,11 @@ fn doc_all_workspace() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// The order in which bar is compiled or documented is not deterministic
- assert_that(p.cargo_process("doc")
+ assert_that(p.cargo("doc")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("[..] Documenting bar v0.1.0 ([..])")
@@ -806,10 +830,11 @@ fn doc_all_virtual_manifest() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// The order in which foo and bar are documented is not guaranteed
- assert_that(p.cargo_process("doc")
+ assert_that(p.cargo("doc")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("[..] Documenting bar v0.1.0 ([..])")
@@ -838,10 +863,11 @@ fn doc_virtual_manifest_all_implied() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// The order in which foo and bar are documented is not guaranteed
- assert_that(p.cargo_process("doc"),
+ assert_that(p.cargo("doc"),
execs().with_status(0)
.with_stderr_contains("[..] Documenting bar v0.1.0 ([..])")
.with_stderr_contains("[..] Documenting foo v0.1.0 ([..])"));
@@ -864,11 +890,12 @@ fn doc_all_member_dependency_same_name() {
"#)
.file("a/src/lib.rs", r#"
pub fn a() {}
- "#);
+ "#)
+ .build();
Package::new("a", "0.1.0").publish();
- assert_that(p.cargo_process("doc")
+ assert_that(p.cargo("doc")
.arg("--all"),
execs().with_status(0)
.with_stderr_contains("[..] Updating registry `[..]`")
diff --git a/tests/features.rs b/tests/features.rs
index 0406f7cb3bb..0eae4380bbe 100644
--- a/tests/features.rs
+++ b/tests/features.rs
@@ -21,9 +21,10 @@ fn invalid1() {
[features]
bar = ["baz"]
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -47,9 +48,10 @@ fn invalid2() {
[dependencies.bar]
path = "foo"
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -73,9 +75,10 @@ fn invalid3() {
[dependencies.baz]
path = "foo"
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -105,8 +108,8 @@ fn invalid4() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
- p.build();
+ .file("bar/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
@@ -139,9 +142,10 @@ fn invalid5() {
path = "bar"
optional = true
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -162,9 +166,10 @@ fn invalid6() {
[features]
foo = ["bar/baz"]
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("foo"),
+ assert_that(p.cargo("build").arg("--features").arg("foo"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -186,9 +191,10 @@ fn invalid7() {
foo = ["bar/baz"]
bar = []
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("foo"),
+ assert_that(p.cargo("build").arg("--features").arg("foo"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -217,9 +223,10 @@ fn invalid8() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("foo"),
+ assert_that(p.cargo("build").arg("--features").arg("foo"),
execs().with_status(101).with_stderr("\
[ERROR] feature names may not contain slashes: `foo/bar`
"));
@@ -244,9 +251,10 @@ fn invalid9() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("bar"),
+ assert_that(p.cargo("build").arg("--features").arg("bar"),
execs().with_status(0).with_stderr("\
warning: Package `foo v0.0.1 ([..])` does not have feature `bar`. It has a required dependency with \
that name, but only optional dependencies can be used as features. [..]
@@ -286,9 +294,10 @@ fn invalid10() {
version = "0.0.1"
authors = []
"#)
- .file("bar/baz/src/lib.rs", "");
+ .file("bar/baz/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
warning: Package `bar v0.0.1 ([..])` does not have feature `baz`. It has a required dependency with \
that name, but only optional dependencies can be used as features. [..]
@@ -343,8 +352,9 @@ fn no_transitive_dep_feature_requirement() {
.file("bar/src/lib.rs", r#"
#[cfg(feature = "qux")]
pub fn test() { print!("test"); }
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] feature names may not contain slashes: `bar/qux`
"));
@@ -377,9 +387,10 @@ fn no_feature_doesnt_build() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "pub fn bar() {}");
+ .file("bar/src/lib.rs", "pub fn bar() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -427,9 +438,10 @@ fn default_feature_pulled_in() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "pub fn bar() {}");
+ .file("bar/src/lib.rs", "pub fn bar() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
[COMPILING] foo v0.0.1 ({dir})
@@ -459,9 +471,10 @@ fn cyclic_feature() {
[features]
default = ["default"]
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] Cyclic feature dependency: feature `default` depends on itself
"));
@@ -480,9 +493,10 @@ fn cyclic_feature2() {
foo = ["bar"]
bar = ["foo"]
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stdout(""));
}
@@ -533,9 +547,10 @@ fn groups_on_groups_on_groups() {
version = "0.0.1"
authors = []
"#)
- .file("baz/src/lib.rs", "pub fn baz() {}");
+ .file("baz/src/lib.rs", "pub fn baz() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
@@ -581,9 +596,10 @@ fn many_cli_features() {
version = "0.0.1"
authors = []
"#)
- .file("baz/src/lib.rs", "pub fn baz() {}");
+ .file("baz/src/lib.rs", "pub fn baz() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("bar baz"),
+ assert_that(p.cargo("build").arg("--features").arg("bar baz"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
@@ -645,9 +661,10 @@ fn union_features() {
.file("d2/src/lib.rs", r#"
#[cfg(feature = "f1")] pub fn f1() {}
#[cfg(feature = "f2")] pub fn f2() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] d2 v0.0.1 ({dir}/d2)
[COMPILING] d1 v0.0.1 ({dir}/d1)
@@ -681,9 +698,10 @@ fn many_features_no_rebuilds() {
ftest2 = []
fall = ["ftest", "ftest2"]
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] a v0.1.0 ({dir}/a)
[COMPILING] b v0.1.0 ({dir})
@@ -709,9 +727,10 @@ fn empty_features() {
version = "0.0.1"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg(""),
+ assert_that(p.cargo("build").arg("--features").arg(""),
execs().with_status(0));
}
@@ -747,9 +766,10 @@ fn transitive_features() {
.file("bar/src/lib.rs", r#"
#[cfg(feature = "baz")]
pub fn baz() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("foo"),
+ assert_that(p.cargo("build").arg("--features").arg("foo"),
execs().with_status(0));
}
@@ -802,9 +822,10 @@ fn everything_in_the_lockfile() {
[features]
f3 = []
"#)
- .file("d3/src/lib.rs", "");
+ .file("d3/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("fetch"), execs().with_status(0));
+ assert_that(p.cargo("fetch"), execs().with_status(0));
let loc = p.root().join("Cargo.lock");
let mut lockfile = String::new();
t!(t!(File::open(&loc)).read_to_string(&mut lockfile));
@@ -847,9 +868,10 @@ fn no_rebuild_when_frobbing_default_feature() {
default = ["f1"]
f1 = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(p.cargo("build"), execs().with_status(0).with_stdout(""));
assert_that(p.cargo("build"), execs().with_status(0).with_stdout(""));
}
@@ -894,9 +916,10 @@ fn unions_work_with_no_default_features() {
.file("a/src/lib.rs", r#"
#[cfg(feature = "f1")]
pub fn a() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(p.cargo("build"), execs().with_status(0).with_stdout(""));
assert_that(p.cargo("build"), execs().with_status(0).with_stdout(""));
}
@@ -922,9 +945,10 @@ fn optional_and_dev_dep() {
version = "0.1.0"
authors = []
"#)
- .file("foo/src/lib.rs", "");
+ .file("foo/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[COMPILING] test v0.1.0 ([..])
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -964,9 +988,10 @@ fn activating_feature_activates_dep() {
.file("foo/src/lib.rs", r#"
#[cfg(feature = "a")]
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("a").arg("-v"),
+ assert_that(p.cargo("build").arg("--features").arg("a").arg("-v"),
execs().with_status(0));
}
@@ -1015,8 +1040,8 @@ fn dep_feature_in_cmd_line() {
.file("bar/src/lib.rs", r#"
#[cfg(feature = "some-feat")]
pub fn test() { print!("test"); }
- "#);
- p.build();
+ "#)
+ .build();
// The foo project requires that feature "some-feat" in "bar" is enabled.
// Building without any features enabled should fail:
@@ -1079,9 +1104,10 @@ fn all_features_flag_enables_all_features() {
version = "0.0.1"
authors = []
"#)
- .file("baz/src/lib.rs", "pub fn baz() {}");
+ .file("baz/src/lib.rs", "pub fn baz() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--all-features"),
+ assert_that(p.cargo("build").arg("--all-features"),
execs().with_status(0));
}
@@ -1122,9 +1148,10 @@ fn many_cli_features_comma_delimited() {
version = "0.0.1"
authors = []
"#)
- .file("baz/src/lib.rs", "pub fn baz() {}");
+ .file("baz/src/lib.rs", "pub fn baz() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("bar,baz"),
+ assert_that(p.cargo("build").arg("--features").arg("bar,baz"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
@@ -1196,9 +1223,10 @@ fn many_cli_features_comma_and_space_delimited() {
version = "0.0.1"
authors = []
"#)
- .file("bap/src/lib.rs", "pub fn bap() {}");
+ .file("bap/src/lib.rs", "pub fn bap() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--features").arg("bar,baz bam bap"),
+ assert_that(p.cargo("build").arg("--features").arg("bar,baz bam bap"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
[COMPILING] ba[..] v0.0.1 ({dir}/ba[..])
diff --git a/tests/fetch.rs b/tests/fetch.rs
index a6ced09f930..8c5e9a59de2 100644
--- a/tests/fetch.rs
+++ b/tests/fetch.rs
@@ -16,8 +16,9 @@ fn no_deps() {
.file("src/main.rs", r#"
mod a; fn main() {}
"#)
- .file("src/a.rs", "");
+ .file("src/a.rs", "")
+ .build();
- assert_that(p.cargo_process("fetch"),
+ assert_that(p.cargo("fetch"),
execs().with_status(0).with_stdout(""));
}
diff --git a/tests/freshness.rs b/tests/freshness.rs
index eb7532b3490..df4de386486 100644
--- a/tests/freshness.rs
+++ b/tests/freshness.rs
@@ -21,9 +21,10 @@ fn modifying_and_moving() {
.file("src/main.rs", r#"
mod a; fn main() {}
"#)
- .file("src/a.rs", "");
+ .file("src/a.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -63,9 +64,10 @@ fn modify_only_some_files() {
fn main() {}
"#)
.file("src/b.rs", "")
- .file("tests/test.rs", "");
+ .file("tests/test.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -122,9 +124,10 @@ fn rebuild_sub_package_then_while_package() {
authors = []
version = "0.0.1"
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
File::create(&p.root().join("b/src/lib.rs")).unwrap().write_all(br#"
@@ -156,9 +159,10 @@ fn changing_lib_features_caches_targets() {
[features]
foo = []
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
[..]Compiling foo v0.0.1 ([..])
@@ -206,9 +210,10 @@ fn changing_profiles_caches_targets() {
[profile.test]
panic = "unwind"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
[..]Compiling foo v0.0.1 ([..])
@@ -301,10 +306,11 @@ fn changing_bin_paths_common_target_features_caches_targets() {
fn main() {
yo();
}
- "#);
+ "#)
+ .build();
/* Build and rebuild a/. Ensure dep_crate only builds once */
- assert_that(p.cargo_process("run").cwd(p.root().join("a")),
+ assert_that(p.cargo("run").cwd(p.root().join("a")),
execs().with_status(0)
.with_stdout("ftest off")
.with_stderr("\
@@ -389,9 +395,10 @@ fn changing_bin_features_caches_targets() {
let msg = if cfg!(feature = "foo") { "feature on" } else { "feature off" };
println!("{}", msg);
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(0)
.with_stdout("feature off")
.with_stderr("\
@@ -442,8 +449,8 @@ fn rebuild_tests_if_lib_changes() {
extern crate foo;
#[test]
fn test() { foo::foo(); }
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -501,9 +508,10 @@ fn no_rebuild_transitive_target_deps() {
version = "0.0.1"
authors = []
"#)
- .file("c/src/lib.rs", "");
+ .file("c/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("test").arg("--no-run"),
execs().with_status(0)
@@ -540,9 +548,10 @@ fn rerun_if_changed_in_dep() {
println!("cargo:rerun-if-changed=build.rs");
}
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("build"),
execs().with_status(0).with_stdout(""));
@@ -597,8 +606,8 @@ fn same_build_dir_cached_packages() {
.file(".cargo/config", r#"
[build]
target-dir = "./target"
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").cwd(p.root().join("a1")),
execs().with_status(0).with_stderr(&format!("\
@@ -634,9 +643,10 @@ fn no_rebuild_if_build_artifacts_move_backwards_in_time() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
p.root().move_into_the_past();
@@ -666,9 +676,10 @@ fn rebuild_if_build_artifacts_move_forward_in_time() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
p.root().move_into_the_future();
@@ -695,9 +706,10 @@ fn rebuild_if_environment_changes() {
fn main() {
println!("{}", env!("CARGO_PKG_DESCRIPTION"));
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(0)
.with_stdout("old desc").with_stderr(&format!("\
[COMPILING] env_change v0.0.1 ({dir})
diff --git a/tests/generate-lockfile.rs b/tests/generate-lockfile.rs
index 2151f45e51c..56f85301871 100644
--- a/tests/generate-lockfile.rs
+++ b/tests/generate-lockfile.rs
@@ -23,9 +23,10 @@ fn adding_and_removing_packages() {
authors = []
version = "0.0.1"
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"),
+ assert_that(p.cargo("generate-lockfile"),
execs().with_status(0));
let toml = p.root().join("Cargo.toml");
@@ -89,9 +90,10 @@ fn preserve_metadata() {
authors = []
version = "0.0.1"
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"),
+ assert_that(p.cargo("generate-lockfile"),
execs().with_status(0));
let metadata = r#"
@@ -133,10 +135,11 @@ fn preserve_line_endings_issue_2076() {
authors = []
version = "0.0.1"
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
let lockfile = p.root().join("Cargo.lock");
- assert_that(p.cargo_process("generate-lockfile"),
+ assert_that(p.cargo("generate-lockfile"),
execs().with_status(0));
assert_that(&lockfile,
existing_file());
@@ -170,11 +173,12 @@ fn cargo_update_generate_lockfile() {
authors = []
version = "0.0.1"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
let lockfile = p.root().join("Cargo.lock");
assert_that(&lockfile, is_not(existing_file()));
- assert_that(p.cargo_process("update"), execs().with_status(0).with_stdout(""));
+ assert_that(p.cargo("update"), execs().with_status(0).with_stdout(""));
assert_that(&lockfile, existing_file());
fs::remove_file(p.root().join("Cargo.lock")).unwrap();
diff --git a/tests/git.rs b/tests/git.rs
index 7328a1e56ae..c76c67f16b2 100644
--- a/tests/git.rs
+++ b/tests/git.rs
@@ -48,12 +48,13 @@ fn cargo_compile_simple_git_dep() {
git = '{}'
"#, git_project.url()))
- .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
let root = project.root();
let git_root = git_project.root();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
[COMPILING] dep1 v0.5.0 ({}#[..])\n\
@@ -113,12 +114,13 @@ fn cargo_compile_git_dep_branch() {
branch = "branchy"
"#, git_project.url()))
- .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
let root = project.root();
let git_root = git_project.root();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
[COMPILING] dep1 v0.5.0 ({}?branch=branchy#[..])\n\
@@ -180,12 +182,13 @@ fn cargo_compile_git_dep_tag() {
git = '{}'
tag = "v0.1.0"
"#, git_project.url()))
- .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
let root = project.root();
let git_root = git_project.root();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
[COMPILING] dep1 v0.5.0 ({}?tag=v0.1.0#[..])\n\
@@ -267,9 +270,10 @@ fn cargo_compile_with_nested_paths() {
name = "parent"
"#, git_project.url()))
.file("src/parent.rs",
- &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -322,9 +326,10 @@ fn cargo_compile_with_malformed_nested_paths() {
name = "parent"
"#, git_project.url()))
.file("src/parent.rs",
- &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -395,9 +400,10 @@ fn cargo_compile_with_meta_package() {
name = "parent"
"#, git_project.url(), git_project.url()))
.file("src/parent.rs",
- &main_file(r#""{} {}", dep1::hello(), dep2::hello()"#, &["dep1", "dep2"]));
+ &main_file(r#""{} {}", dep1::hello(), dep2::hello()"#, &["dep1", "dep2"]))
+ .build();
- p.cargo_process("build")
+ p.cargo("build")
.exec_with_output()
.unwrap();
@@ -427,9 +433,10 @@ fn cargo_compile_with_short_ssh_git() {
name = "foo"
"#, url))
- .file("src/foo.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ .file("src/foo.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs()
.with_stdout("")
.with_stderr(&format!("\
@@ -484,9 +491,10 @@ fn two_revs_same_deps() {
assert_eq!(bar::bar(), 1);
assert_eq!(baz::baz(), 2);
}
- "#);
+ "#)
+ .build();
- let baz = project("baz")
+ let _baz = project("baz")
.file("Cargo.toml", &format!(r#"
[package]
name = "baz"
@@ -500,11 +508,10 @@ fn two_revs_same_deps() {
.file("src/lib.rs", r#"
extern crate bar;
pub fn baz() -> i32 { bar::bar() }
- "#);
-
- baz.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("build").arg("-v"),
+ assert_that(foo.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(&foo.bin("foo"), existing_file());
assert_that(foo.process(&foo.bin("foo")), execs().with_status(0));
@@ -543,10 +550,11 @@ fn recompilation() {
git = '{}'
"#, git_project.url()))
.file("src/main.rs",
- &main_file(r#""{:?}", bar::bar()"#, &["bar"]));
+ &main_file(r#""{:?}", bar::bar()"#, &["bar"]))
+ .build();
// First time around we should compile both foo and bar
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[UPDATING] git repository `{}`\n\
[COMPILING] bar v0.5.0 ({}#[..])\n\
[COMPILING] foo v0.5.0 ({})\n\
@@ -671,10 +679,11 @@ fn update_with_shared_deps() {
version = "0.5.0"
git = '{}'
"#, git_project.url()))
- .file("dep2/src/lib.rs", "");
+ .file("dep2/src/lib.rs", "")
+ .build();
// First time around we should compile both foo and bar
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("\
[UPDATING] git repository `{git}`
[COMPILING] bar v0.5.0 ({git}#[..])
@@ -783,9 +792,10 @@ fn dep_with_submodule() {
.file("src/lib.rs", "
extern crate dep1;
pub fn foo() { dep1::dep() }
- ");
+ ")
+ .build();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs().with_stderr("\
[UPDATING] git repository [..]
[COMPILING] dep1 [..]
@@ -827,7 +837,7 @@ fn dep_with_bad_submodule() {
Some("something something"),
None).unwrap();
- let project = project
+ let p = project
.file("Cargo.toml", &format!(r#"
[project]
@@ -842,7 +852,8 @@ fn dep_with_bad_submodule() {
.file("src/lib.rs", "
extern crate dep1;
pub fn foo() { dep1::dep() }
- ");
+ ")
+ .build();
let expected = format!("\
[UPDATING] git repository [..]
@@ -856,7 +867,7 @@ Caused by:
To learn more, run the command again with --verbose.\n", path2url(git_project.root()));
- assert_that(project.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(expected).with_status(101));
}
@@ -884,7 +895,7 @@ fn two_deps_only_update_one() {
.file("src/lib.rs", "")
}).unwrap();
- let project = project
+ let p = project
.file("Cargo.toml", &format!(r#"
[project]
@@ -897,9 +908,10 @@ fn two_deps_only_update_one() {
[dependencies.dep2]
git = '{}'
"#, git1.url(), git2.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(project.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `[..]`\n\
[UPDATING] git repository `[..]`\n\
@@ -907,7 +919,7 @@ fn two_deps_only_update_one() {
[COMPILING] [..] v0.5.0 ([..])\n\
[COMPILING] foo v0.5.0 ({})\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]\n",
- project.url())));
+ p.url())));
File::create(&git1.root().join("src/lib.rs")).unwrap().write_all(br#"
pub fn foo() {}
@@ -916,7 +928,7 @@ fn two_deps_only_update_one() {
git::add(&repo);
git::commit(&repo);
- assert_that(project.cargo("update")
+ assert_that(p.cargo("update")
.arg("-p").arg("dep1"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
@@ -952,9 +964,10 @@ fn stale_cached_version() {
extern crate bar;
fn main() { assert_eq!(bar::bar(), 1) }
- "#);
+ "#)
+ .build();
- assert_that(foo.cargo_process("build"), execs().with_status(0));
+ assert_that(foo.cargo("build"), execs().with_status(0));
assert_that(foo.process(&foo.bin("foo")), execs().with_status(0));
// Update the repo, and simulate someone else updating the lockfile and then
@@ -1024,7 +1037,7 @@ fn dep_with_changed_submodule() {
Path::new("src"));
git::commit(&repo);
- let project = project
+ let p = project
.file("Cargo.toml", &format!(r#"
[project]
name = "foo"
@@ -1036,10 +1049,11 @@ fn dep_with_changed_submodule() {
.file("src/main.rs", "
extern crate dep1;
pub fn main() { println!(\"{}\", dep1::dep()) }
- ");
+ ")
+ .build();
println!("first run");
- assert_that(project.cargo_process("run"), execs()
+ assert_that(p.cargo("run"), execs()
.with_stderr("[UPDATING] git repository `[..]`\n\
[COMPILING] dep1 v0.5.0 ([..])\n\
[COMPILING] foo v0.5.0 ([..])\n\
@@ -1074,7 +1088,7 @@ fn dep_with_changed_submodule() {
sleep_ms(1000);
// Update the dependency and carry on!
println!("update");
- assert_that(project.cargo("update").arg("-v"),
+ assert_that(p.cargo("update").arg("-v"),
execs()
.with_stderr("")
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
@@ -1082,7 +1096,7 @@ fn dep_with_changed_submodule() {
", git_project.url())));
println!("last run");
- assert_that(project.cargo("run"), execs()
+ assert_that(p.cargo("run"), execs()
.with_stderr("[COMPILING] dep1 v0.5.0 ([..])\n\
[COMPILING] foo v0.5.0 ([..])\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) in \
@@ -1126,11 +1140,12 @@ fn dev_deps_with_testing() {
extern crate bar;
#[test] fn foo() { bar::gimme(); }
}
- "#);
+ "#)
+ .build();
// Generate a lockfile which did not use `bar` to compile, but had to update
// `bar` to generate the lockfile
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("\
[UPDATING] git repository `{bar}`
[COMPILING] foo v0.5.0 ({url})
@@ -1218,11 +1233,12 @@ fn git_name_not_always_needed() {
[dev-dependencies.bar]
git = '{}'
"#, p2.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
// Generate a lockfile which did not use `bar` to compile, but had to update
// `bar` to generate the lockfile
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("\
[UPDATING] git repository `{bar}`
[COMPILING] foo v0.5.0 ({url})
@@ -1254,8 +1270,8 @@ fn git_repo_changing_no_rebuild() {
git = '{}'
"#, bar.url()))
.file("src/main.rs", "fn main() {}")
- .file("build.rs", "fn main() {}");
- p1.build();
+ .file("build.rs", "fn main() {}")
+ .build();
p1.root().move_into_the_past();
assert_that(p1.cargo("build"),
execs().with_stderr(&format!("\
@@ -1283,8 +1299,9 @@ fn git_repo_changing_no_rebuild() {
[dependencies.bar]
git = '{}'
"#, bar.url()))
- .file("src/main.rs", "fn main() {}");
- assert_that(p2.cargo_process("build"),
+ .file("src/main.rs", "fn main() {}")
+ .build();
+ assert_that(p2.cargo("build"),
execs().with_stderr(&format!("\
[UPDATING] git repository `{bar}`
[COMPILING] [..]
@@ -1382,8 +1399,9 @@ fn fetch_downloads() {
[dependencies.bar]
git = '{}'
"#, bar.url()))
- .file("src/main.rs", "fn main() {}");
- assert_that(p.cargo_process("fetch"),
+ .file("src/main.rs", "fn main() {}")
+ .build();
+ assert_that(p.cargo("fetch"),
execs().with_status(0).with_stderr(&format!("\
[UPDATING] git repository `{url}`
", url = bar.url())));
@@ -1413,9 +1431,10 @@ fn warnings_in_git_dep() {
[dependencies.bar]
git = '{}'
"#, bar.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
[COMPILING] bar v0.5.0 ({}#[..])\n\
@@ -1470,9 +1489,10 @@ fn update_ambiguous() {
[dependencies.bar]
git = '{}'
"#, foo1.url(), bar.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"), execs().with_status(0));
+ assert_that(p.cargo("generate-lockfile"), execs().with_status(0));
assert_that(p.cargo("update")
.arg("-p").arg("foo"),
execs().with_status(101)
@@ -1516,9 +1536,10 @@ fn update_one_dep_in_repo_with_many_deps() {
[dependencies.a]
git = '{}'
"#, foo.url(), foo.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"), execs().with_status(0));
+ assert_that(p.cargo("generate-lockfile"), execs().with_status(0));
assert_that(p.cargo("update")
.arg("-p").arg("foo"),
execs().with_status(0)
@@ -1572,9 +1593,9 @@ fn switch_deps_does_not_update_transitive() {
[dependencies.dep]
git = '{}'
"#, dep1.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- p.build();
assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr(&format!("\
@@ -1638,9 +1659,9 @@ fn update_one_source_updates_all_packages_in_that_git_source() {
[dependencies.dep]
git = '{}'
"#, dep.url()))
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -1702,9 +1723,9 @@ fn switch_sources() {
[dependencies.a]
git = '{}'
"#, a1.url()))
- .file("b/src/lib.rs", "pub fn main() {}");
+ .file("b/src/lib.rs", "pub fn main() {}")
+ .build();
- p.build();
assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
@@ -1737,7 +1758,7 @@ fn switch_sources() {
#[test]
fn dont_require_submodules_are_checked_out() {
- let project = project("foo");
+ let p = project("foo").build();
let git1 = git::new("dep1", |p| {
p.file("Cargo.toml", r#"
[project]
@@ -1757,7 +1778,7 @@ fn dont_require_submodules_are_checked_out() {
git::add_submodule(&repo, &url, Path::new("a/submodule"));
git::commit(&repo);
- git2::Repository::init(&project.root()).unwrap();
+ git2::Repository::init(&p.root()).unwrap();
let url = path2url(git1.root()).to_string();
let dst = paths::home().join("foo");
git2::Repository::clone(&url, &dst).unwrap();
@@ -1803,9 +1824,10 @@ fn doctest_same_name() {
.file("src/lib.rs", r#"
#[macro_use]
extern crate a;
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -1833,9 +1855,10 @@ fn lints_are_suppressed() {
[dependencies]
a = {{ git = '{}' }}
"#, a.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] git repository `[..]`
[COMPILING] a v0.5.0 ([..])
@@ -1869,9 +1892,10 @@ fn denied_lints_are_allowed() {
[dependencies]
a = {{ git = '{}' }}
"#, a.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] git repository `[..]`
[COMPILING] a v0.5.0 ([..])
@@ -1910,9 +1934,10 @@ fn add_a_git_dep() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
File::create(p.root().join("a/Cargo.toml")).unwrap().write_all(format!(r#"
[package]
@@ -1966,9 +1991,10 @@ fn two_at_rev_instead_of_tag() {
git1 = {{ git = '{0}', rev = 'v0.1.0' }}
git2 = {{ git = '{0}', rev = 'v0.1.0' }}
"#, git.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"), execs().with_status(0));
+ assert_that(p.cargo("generate-lockfile"), execs().with_status(0));
assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
}
@@ -2123,11 +2149,12 @@ fn invalid_git_dependency_manifest() {
git = '{}'
"#, git_project.url()))
- .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]));
+ .file("src/main.rs", &main_file(r#""{}", dep1::hello()"#, &["dep1"]))
+ .build();
let git_root = git_project.root();
- assert_that(project.cargo_process("build"),
+ assert_that(project.cargo("build"),
execs()
.with_stderr(&format!("[UPDATING] git repository `{}`\n\
error: failed to load source for a dependency on `dep1`\n\
diff --git a/tests/install.rs b/tests/install.rs
index a753697afcd..d472a324bfd 100644
--- a/tests/install.rs
+++ b/tests/install.rs
@@ -207,8 +207,8 @@ fn install_path() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -237,8 +237,8 @@ fn multiple_crates_error() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/main.rs", "fn main() {}");
- p.build();
+ .file("a/src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--git").arg(p.url().to_string()),
execs().with_status(101).with_stderr("\
@@ -263,8 +263,8 @@ fn multiple_crates_select() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/main.rs", "fn main() {}");
- p.build();
+ .file("a/src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--git").arg(p.url().to_string())
.arg("foo"),
@@ -297,8 +297,8 @@ fn multiple_crates_auto_binaries() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -329,8 +329,8 @@ fn multiple_crates_auto_examples() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root())
.arg("--example=foo"),
@@ -357,8 +357,8 @@ fn no_binaries_or_examples() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(101).with_stderr("\
@@ -376,8 +376,8 @@ fn no_binaries() {
authors = []
"#)
.file("src/lib.rs", "")
- .file("examples/foo.rs", "fn main() {}");
- p.build();
+ .file("examples/foo.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()).arg("foo"),
execs().with_status(101).with_stderr("\
@@ -396,8 +396,8 @@ fn examples() {
authors = []
"#)
.file("src/lib.rs", "")
- .file("examples/foo.rs", "extern crate foo; fn main() {}");
- p.build();
+ .file("examples/foo.rs", "extern crate foo; fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root())
.arg("--example=foo"),
@@ -415,8 +415,8 @@ fn install_twice() {
authors = []
"#)
.file("src/bin/foo-bin1.rs", "fn main() {}")
- .file("src/bin/foo-bin2.rs", "fn main() {}");
- p.build();
+ .file("src/bin/foo-bin2.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -438,8 +438,8 @@ fn install_force() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -451,8 +451,8 @@ fn install_force() {
version = "0.2.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--force").arg("--path").arg(p.root()),
execs().with_status(0).with_stderr(&format!("\
@@ -481,8 +481,8 @@ fn install_force_partial_overlap() {
authors = []
"#)
.file("src/bin/foo-bin1.rs", "fn main() {}")
- .file("src/bin/foo-bin2.rs", "fn main() {}");
- p.build();
+ .file("src/bin/foo-bin2.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -495,8 +495,8 @@ fn install_force_partial_overlap() {
authors = []
"#)
.file("src/bin/foo-bin2.rs", "fn main() {}")
- .file("src/bin/foo-bin3.rs", "fn main() {}");
- p.build();
+ .file("src/bin/foo-bin3.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--force").arg("--path").arg(p.root()),
execs().with_status(0).with_stderr(&format!("\
@@ -529,8 +529,8 @@ fn install_force_bin() {
authors = []
"#)
.file("src/bin/foo-bin1.rs", "fn main() {}")
- .file("src/bin/foo-bin2.rs", "fn main() {}");
- p.build();
+ .file("src/bin/foo-bin2.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -543,8 +543,8 @@ fn install_force_bin() {
authors = []
"#)
.file("src/bin/foo-bin1.rs", "fn main() {}")
- .file("src/bin/foo-bin2.rs", "fn main() {}");
- p.build();
+ .file("src/bin/foo-bin2.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--force")
.arg("--bin")
@@ -578,8 +578,8 @@ fn compile_failure() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "");
- p.build();
+ .file("src/main.rs", "")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(101).with_stderr_contains("\
@@ -602,8 +602,8 @@ fn git_repo() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
// use `--locked` to test that we don't even try to write a lockfile
assert_that(cargo_process("install").arg("--locked").arg("--git").arg(p.url().to_string()),
@@ -702,8 +702,8 @@ fn uninstall_piecemeal() {
authors = []
"#)
.file("src/bin/foo.rs", "fn main() {}")
- .file("src/bin/bar.rs", "fn main() {}");
- p.build();
+ .file("src/bin/bar.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0));
@@ -756,8 +756,8 @@ fn installs_from_cwd_by_default() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").cwd(p.root()),
execs().with_status(0));
@@ -773,9 +773,10 @@ fn do_not_rebuilds_on_local_install() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("--release"),
+ assert_that(p.cargo("build").arg("--release"),
execs().with_status(0));
assert_that(cargo_process("install").arg("--path").arg(p.root()),
execs().with_status(0).with_stderr("[INSTALLING] [..]
@@ -837,8 +838,8 @@ fn git_with_lockfile() {
[[package]]
name = "bar"
version = "0.1.0"
- "#);
- p.build();
+ "#)
+ .build();
assert_that(cargo_process("install").arg("--git").arg(p.url().to_string()),
execs().with_status(0));
@@ -853,8 +854,8 @@ fn q_silences_warnings() {
version = "0.1.0"
authors = []
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(cargo_process("install").arg("-q").arg("--path").arg(p.root()),
execs().with_status(0).with_stderr(""));
@@ -899,8 +900,8 @@ fn use_path_workspace() {
[dependencies]
foo = "1"
"#)
- .file("baz/src/lib.rs", "");
- p.build();
+ .file("baz/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"), execs().with_status(0));
let lock = p.read_lockfile();
diff --git a/tests/jobserver.rs b/tests/jobserver.rs
index 2e7e8b81624..6803f3fbe51 100644
--- a/tests/jobserver.rs
+++ b/tests/jobserver.rs
@@ -53,9 +53,10 @@ fn jobserver_exists() {
// a little too complicated for a test...
}
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -114,12 +115,12 @@ fn makes_jobserver_used() {
let mut v = Vec::new();
stream.read_to_end(&mut v).unwrap();
}
- "#)
- .file("Makefile", "\
+ "#)
+ .file("Makefile", "\
all:
\t+$(CARGO) build
-");
- p.build();
+")
+ .build();
let l = TcpListener::bind("127.0.0.1:0").unwrap();
let addr = l.local_addr().unwrap();
@@ -163,12 +164,12 @@ fn jobserver_and_j() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "")
- .file("Makefile", "\
+ .file("src/lib.rs", "")
+ .file("Makefile", "\
all:
\t+$(CARGO) build -j2
-");
- p.build();
+")
+ .build();
assert_that(p.process(make)
.env("CARGO", cargo_exe())
diff --git a/tests/local-registry.rs b/tests/local-registry.rs
index 7643a92aa57..1fb466e6a07 100644
--- a/tests/local-registry.rs
+++ b/tests/local-registry.rs
@@ -46,9 +46,10 @@ fn simple() {
pub fn bar() {
foo::foo();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] foo v0.0.1 ([..])
[COMPILING] foo v0.0.1
@@ -86,9 +87,10 @@ fn multiple_versions() {
pub fn bar() {
foo::foo();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] foo v0.1.0 ([..])
[COMPILING] foo v0.1.0
@@ -138,9 +140,10 @@ fn multiple_names() {
foo::foo();
bar::bar();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] [..]
[UNPACKING] [..]
@@ -183,9 +186,10 @@ fn interdependent() {
foo::foo();
bar::bar();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] [..]
[UNPACKING] [..]
@@ -244,9 +248,10 @@ fn path_dep_rewritten() {
foo::foo();
bar::bar();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] [..]
[UNPACKING] [..]
@@ -279,10 +284,10 @@ fn invalid_dir_bad() {
[source.my-awesome-local-directory]
local-registry = '/path/to/nowhere'
- "#);
-
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[ERROR] failed to load source for a dependency on `foo`
@@ -317,8 +322,8 @@ fn different_directory_replacing_the_registry_is_bad() {
[dependencies]
foo = "*"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
// Generate a lock file against the crates.io registry
Package::new("foo", "0.0.1").publish();
@@ -381,9 +386,10 @@ fn crates_io_registry_url_is_optional() {
pub fn bar() {
foo::foo();
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UNPACKING] foo v0.0.1 ([..])
[COMPILING] foo v0.0.1
diff --git a/tests/lockfile-compat.rs b/tests/lockfile-compat.rs
index d9f6791687c..f532e7dfbcd 100644
--- a/tests/lockfile-compat.rs
+++ b/tests/lockfile-compat.rs
@@ -64,7 +64,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
.file("src/lib.rs", "")
.file("Cargo.lock", old_lockfile);
- p.build();
+ let p = p.build();
assert_that(p.cargo(cargo_command),
execs().with_status(0));
@@ -110,7 +110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum foo 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "checksum"
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -165,7 +165,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "checksum"
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
@@ -217,7 +217,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[metadata]
"checksum foo 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = ""
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("fetch"),
execs().with_status(101).with_stderr("\
@@ -278,7 +278,7 @@ source = "git+{0}"
"checksum foo 0.1.0 (git+{0})" = "checksum"
"#, git.url()));
- p.build();
+ let p = p.build();
assert_that(p.cargo("fetch"),
execs().with_status(101).with_stderr("\
@@ -312,7 +312,7 @@ fn current_lockfile_format() {
foo = "0.1.0"
"#)
.file("src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
@@ -371,7 +371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
.file("src/lib.rs", "")
.file("Cargo.lock", lockfile);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
@@ -394,7 +394,7 @@ fn locked_correct_error() {
foo = "0.1.0"
"#)
.file("src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").arg("--locked"),
execs().with_status(101).with_stderr("\
diff --git a/tests/metadata.rs b/tests/metadata.rs
index 6293e164805..4805b67415f 100644
--- a/tests/metadata.rs
+++ b/tests/metadata.rs
@@ -8,10 +8,11 @@ use cargotest::support::{project, execs, basic_bin_manifest, basic_lib_manifest,
#[test]
fn cargo_metadata_simple() {
let p = project("foo")
- .file("src/foo.rs", "")
- .file("Cargo.toml", &basic_bin_manifest("foo"));
+ .file("src/foo.rs", "")
+ .file("Cargo.toml", &basic_bin_manifest("foo"))
+ .build();
- assert_that(p.cargo_process("metadata"), execs().with_json(r#"
+ assert_that(p.cargo("metadata"), execs().with_json(r#"
{
"packages": [
{
@@ -58,8 +59,8 @@ fn cargo_metadata_simple() {
fn cargo_metadata_warns_on_implicit_version() {
let p = project("foo")
.file("src/foo.rs", "")
- .file("Cargo.toml", &basic_bin_manifest("foo"));
- p.build();
+ .file("Cargo.toml", &basic_bin_manifest("foo"))
+ .build();
assert_that(p.cargo("metadata"),
execs().with_stderr("\
@@ -72,17 +73,18 @@ fn cargo_metadata_warns_on_implicit_version() {
#[test]
fn library_with_several_crate_types() {
let p = project("foo")
- .file("src/lib.rs", "")
- .file("Cargo.toml", r#"
+ .file("src/lib.rs", "")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "0.5.0"
[lib]
crate-type = ["lib", "staticlib"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("metadata"), execs().with_json(r#"
+ assert_that(p.cargo("metadata"), execs().with_json(r#"
{
"packages": [
{
@@ -144,11 +146,12 @@ fn cargo_metadata_with_deps_and_version() {
[dependencies]
bar = "*"
- "#);
+ "#)
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("bar", "0.0.1").dep("baz", "0.0.1").publish();
- assert_that(p.cargo_process("metadata")
+ assert_that(p.cargo("metadata")
.arg("-q")
.arg("--format-version").arg("1"),
execs().with_json(r#"
@@ -279,18 +282,19 @@ fn cargo_metadata_with_deps_and_version() {
#[test]
fn example() {
let p = project("foo")
- .file("src/lib.rs", "")
- .file("examples/ex.rs", "")
- .file("Cargo.toml", r#"
+ .file("src/lib.rs", "")
+ .file("examples/ex.rs", "")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "0.1.0"
[[example]]
name = "ex"
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("metadata"), execs().with_json(r#"
+ assert_that(p.cargo("metadata"), execs().with_json(r#"
{
"packages": [
{
@@ -340,9 +344,9 @@ name = "ex"
#[test]
fn example_lib() {
let p = project("foo")
- .file("src/lib.rs", "")
- .file("examples/ex.rs", "")
- .file("Cargo.toml", r#"
+ .file("src/lib.rs", "")
+ .file("examples/ex.rs", "")
+ .file("Cargo.toml", r#"
[package]
name = "foo"
version = "0.1.0"
@@ -350,9 +354,10 @@ version = "0.1.0"
[[example]]
name = "ex"
crate-type = ["rlib", "dylib"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("metadata"), execs().with_json(r#"
+ assert_that(p.cargo("metadata"), execs().with_json(r#"
{
"packages": [
{
@@ -409,9 +414,10 @@ fn workspace_metadata() {
.file("bar/Cargo.toml", &basic_lib_manifest("bar"))
.file("bar/src/lib.rs", "")
.file("baz/Cargo.toml", &basic_lib_manifest("baz"))
- .file("baz/src/lib.rs", "");
+ .file("baz/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("metadata"), execs().with_status(0).with_json(r#"
+ assert_that(p.cargo("metadata"), execs().with_status(0).with_json(r#"
{
"packages": [
{
@@ -484,9 +490,10 @@ fn workspace_metadata_no_deps() {
.file("bar/Cargo.toml", &basic_lib_manifest("bar"))
.file("bar/src/lib.rs", "")
.file("baz/Cargo.toml", &basic_lib_manifest("baz"))
- .file("baz/src/lib.rs", "");
+ .file("baz/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps"), execs().with_status(0).with_json(r#"
+ assert_that(p.cargo("metadata").arg("--no-deps"), execs().with_status(0).with_json(r#"
{
"packages": [
{
@@ -540,9 +547,10 @@ fn workspace_metadata_no_deps() {
#[test]
fn cargo_metadata_with_invalid_manifest() {
let p = project("foo")
- .file("Cargo.toml", "");
+ .file("Cargo.toml", "")
+ .build();
- assert_that(p.cargo_process("metadata").arg("--format-version").arg("1"),
+ assert_that(p.cargo("metadata").arg("--format-version").arg("1"),
execs().with_status(101).with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -581,9 +589,10 @@ const MANIFEST_OUTPUT: &'static str=
fn cargo_metadata_no_deps_path_to_cargo_toml_relative() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.arg("--manifest-path").arg("foo/Cargo.toml")
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -594,9 +603,10 @@ fn cargo_metadata_no_deps_path_to_cargo_toml_relative() {
fn cargo_metadata_no_deps_path_to_cargo_toml_absolute() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.arg("--manifest-path").arg(p.root().join("Cargo.toml"))
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -607,9 +617,10 @@ fn cargo_metadata_no_deps_path_to_cargo_toml_absolute() {
fn cargo_metadata_no_deps_path_to_cargo_toml_parent_relative() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.arg("--manifest-path").arg("foo")
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -621,9 +632,10 @@ fn cargo_metadata_no_deps_path_to_cargo_toml_parent_relative() {
fn cargo_metadata_no_deps_path_to_cargo_toml_parent_absolute() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.arg("--manifest-path").arg(p.root())
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -635,9 +647,10 @@ fn cargo_metadata_no_deps_path_to_cargo_toml_parent_absolute() {
fn cargo_metadata_no_deps_cwd() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.cwd(p.root()),
execs().with_status(0)
.with_json(MANIFEST_OUTPUT));
@@ -647,9 +660,10 @@ fn cargo_metadata_no_deps_cwd() {
fn cargo_metadata_bad_version() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("metadata").arg("--no-deps")
+ assert_that(p.cargo("metadata").arg("--no-deps")
.arg("--format-version").arg("2")
.cwd(p.root()),
execs().with_status(101)
@@ -669,9 +683,10 @@ fn multiple_features() {
a = []
b = []
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("metadata")
+ assert_that(p.cargo("metadata")
.arg("--features").arg("a b"),
execs().with_status(0));
}
diff --git a/tests/net-config.rs b/tests/net-config.rs
index be868c2c26f..aeaacafc762 100644
--- a/tests/net-config.rs
+++ b/tests/net-config.rs
@@ -21,9 +21,10 @@ fn net_retry_loads_from_config() {
retry=1
[http]
timeout=1
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101)
.with_stderr_contains("[WARNING] spurious network error \
(1 tries remaining): [..]"));
@@ -45,9 +46,10 @@ fn net_retry_git_outputs_warning() {
[http]
timeout=1
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("build").arg("-v").arg("-j").arg("1"),
+ assert_that(p.cargo("build").arg("-v").arg("-j").arg("1"),
execs().with_status(101)
.with_stderr_contains("[WARNING] spurious network error \
(2 tries remaining): [..]")
diff --git a/tests/overrides.rs b/tests/overrides.rs
index 0a022650f67..afcd94190fb 100644
--- a/tests/overrides.rs
+++ b/tests/overrides.rs
@@ -18,8 +18,8 @@ fn override_simple() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -39,9 +39,10 @@ fn override_simple() {
pub fn bar() {
foo::foo();
}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[UPDATING] git repository `[..]`
@@ -66,9 +67,10 @@ fn missing_version() {
[replace]
foo = { git = 'https://example.com' }
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
@@ -92,9 +94,10 @@ fn invalid_semver_version() {
[replace]
"foo:*" = { git = 'https://example.com' }
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr_contains("\
error: failed to parse manifest at `[..]`
@@ -121,9 +124,10 @@ fn different_version() {
[replace]
"foo:0.1.0" = "0.2.0"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
@@ -147,8 +151,8 @@ fn transitive() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -163,9 +167,10 @@ fn transitive() {
[replace]
"foo:0.1.0" = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[UPDATING] git repository `[..]`
@@ -190,8 +195,8 @@ fn persists_across_rebuilds() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -211,9 +216,10 @@ fn persists_across_rebuilds() {
pub fn bar() {
foo::foo();
}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[UPDATING] git repository `file://[..]`
@@ -230,7 +236,7 @@ fn persists_across_rebuilds() {
fn replace_registry_with_path() {
Package::new("foo", "0.1.0").publish();
- project("foo")
+ let _ = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -258,9 +264,10 @@ fn replace_registry_with_path() {
pub fn bar() {
foo::foo();
}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.1.0 (file://[..])
@@ -290,8 +297,8 @@ fn use_a_spec_to_select() {
version = "0.2.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo3() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo3() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -315,9 +322,10 @@ fn use_a_spec_to_select() {
foo::foo1();
bar::bar();
}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[UPDATING] git repository `[..]`
@@ -346,8 +354,8 @@ fn override_adds_some_deps() {
[dependencies]
foo = "0.1"
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -362,9 +370,10 @@ fn override_adds_some_deps() {
[replace]
"bar:0.1.0" = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[UPDATING] git repository `[..]`
@@ -409,8 +418,8 @@ fn locked_means_locked_yes_no_seriously_i_mean_locked() {
[dependencies]
foo = "*"
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -426,9 +435,10 @@ fn locked_means_locked_yes_no_seriously_i_mean_locked() {
[replace]
"bar:0.1.0" = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("build"), execs().with_status(0).with_stdout(""));
@@ -446,8 +456,8 @@ fn override_wrong_name() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -462,9 +472,10 @@ fn override_wrong_name() {
[replace]
"foo:0.1.0" = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
[UPDATING] git repository [..]
@@ -479,8 +490,8 @@ fn override_with_nothing() {
Package::new("foo", "0.1.0").publish();
let foo = git::repo(&paths::root().join("override"))
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -495,9 +506,10 @@ fn override_with_nothing() {
[replace]
"foo:0.1.0" = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
[UPDATING] git repository [..]
@@ -523,9 +535,10 @@ fn override_wrong_version() {
[replace]
"foo:0.1.0" = { git = 'https://example.com', version = '0.2.0' }
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
error: failed to parse manifest at `[..]`
@@ -545,8 +558,8 @@ fn multiple_specs() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -564,9 +577,10 @@ fn multiple_specs() {
[replace."https://github.com/rust-lang/crates.io-index#foo:0.1.0"]
git = '{0}'
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
[UPDATING] git repository [..]
@@ -590,8 +604,8 @@ fn test_override_dep() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -606,9 +620,10 @@ fn test_override_dep() {
[replace]
"foo:0.1.0" = {{ git = '{0}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-p").arg("foo"),
+ assert_that(p.cargo("test").arg("-p").arg("foo"),
execs().with_status(101)
.with_stderr_contains("\
error: There are multiple `foo` packages in your project, and the [..]
@@ -629,8 +644,8 @@ fn update() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -645,9 +660,10 @@ fn update() {
[replace]
"foo:0.1.0" = {{ git = '{0}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("generate-lockfile"),
+ assert_that(p.cargo("generate-lockfile"),
execs().with_status(0));
assert_that(p.cargo("update"),
execs().with_status(0)
@@ -683,9 +699,8 @@ fn no_override_self() {
.file("near/src/lib.rs", r#"
#![no_std]
pub extern crate far;
- "#);
-
- deps.build();
+ "#)
+ .build();
let p = project("local")
.file("Cargo.toml", &format!(r#"
@@ -703,9 +718,10 @@ fn no_override_self() {
.file("src/lib.rs", r#"
#![no_std]
pub extern crate near;
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build").arg("--verbose"),
+ assert_that(p.cargo("build").arg("--verbose"),
execs().with_status(0));
}
@@ -747,9 +763,10 @@ fn broken_path_override_warns() {
.file("a2/src/lib.rs", "")
.file(".cargo/config", r#"
paths = ["a2"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
[UPDATING] [..]
@@ -870,9 +887,10 @@ fn override_an_override() {
"#)
.file("serde/src/lib.rs", "
pub fn serde08_override() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -898,8 +916,8 @@ fn overriding_nonexistent_no_spurious() {
version = "0.1.0"
authors = []
"#)
- .file("bar/src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("bar/src/lib.rs", "pub fn foo() {}")
+ .build();
let p = project("local")
@@ -916,9 +934,10 @@ fn overriding_nonexistent_no_spurious() {
"foo:0.1.0" = {{ git = '{url}' }}
"bar:0.1.0" = {{ git = '{url}' }}
"#, url = foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
@@ -959,8 +978,8 @@ fn no_warnings_when_replace_is_used_in_another_workspace_member() {
name = "foo"
version = "0.1.0"
"#)
- .file("local_foo/src/lib.rs", "");
- p.build();
+ .file("local_foo/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").cwd(p.root().join("first_crate")),
execs().with_status(0)
@@ -1015,9 +1034,10 @@ fn override_to_path_dep() {
.file("foo/bar/src/lib.rs", "")
.file(".cargo/config", r#"
paths = ["foo"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -1062,9 +1082,10 @@ fn replace_to_path_dep() {
version = "0.1.0"
authors = []
"#)
- .file("foo/bar/src/lib.rs", "pub fn bar() {}");
+ .file("foo/bar/src/lib.rs", "pub fn bar() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -1105,9 +1126,10 @@ fn paths_ok_with_optional() {
.file("foo2/src/lib.rs", "")
.file(".cargo/config", r#"
paths = ["foo2"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.1.0 ([..]foo2)
[COMPILING] local v0.0.1 ([..])
@@ -1149,9 +1171,10 @@ fn paths_add_optional_bad() {
.file("foo2/src/lib.rs", "")
.file(".cargo/config", r#"
paths = ["foo2"]
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr_contains("\
warning: path override for crate `foo` has altered the original list of
dependencies; the dependency on `bar` was either added or\
@@ -1210,9 +1233,10 @@ fn override_with_default_feature() {
[dependencies]
bar = { version = "0.1", default-features = false }
"#)
- .file("another2/src/lib.rs", "");
+ .file("another2/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(0));
}
@@ -1243,9 +1267,10 @@ fn override_plus_dep() {
[dependencies]
foo = { path = ".." }
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr_contains("\
error: cyclic package dependency: [..]
"));
diff --git a/tests/package.rs b/tests/package.rs
index 724e1ff26c4..42a491ebf7c 100644
--- a/tests/package.rs
+++ b/tests/package.rs
@@ -31,9 +31,10 @@ fn simple() {
.file("src/main.rs", r#"
fn main() { println!("hello"); }
"#)
- .file("src/bar.txt", ""); // should be ignored when packaging
+ .file("src/bar.txt", "") // should be ignored when packaging
+ .build();
- assert_that(p.cargo_process("package"),
+ assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
[WARNING] manifest has no documentation[..]
See [..]
@@ -79,8 +80,9 @@ fn metadata_warning() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- assert_that(p.cargo_process("package"),
+ "#)
+ .build();
+ assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
warning: manifest has no description, license, license-file, documentation, \
homepage or repository.
@@ -102,8 +104,9 @@ See http://doc.crates.io/manifest.html#package-metadata for more info.
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- assert_that(p.cargo_process("package"),
+ "#)
+ .build();
+ assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
warning: manifest has no description, documentation, homepage or repository.
See http://doc.crates.io/manifest.html#package-metadata for more info.
@@ -126,8 +129,9 @@ See http://doc.crates.io/manifest.html#package-metadata for more info.
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- assert_that(p.cargo_process("package"),
+ "#)
+ .build();
+ assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
[PACKAGING] foo v0.0.1 ({dir})
[VERIFYING] foo v0.0.1 ({dir})
@@ -156,8 +160,8 @@ fn package_verbose() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
let mut cargo = cargo_process();
cargo.cwd(p.root());
assert_that(cargo.clone().arg("build"), execs().with_status(0));
@@ -195,8 +199,9 @@ fn package_verification() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
@@ -231,9 +236,10 @@ fn path_dependency_no_version() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("package"),
+ assert_that(p.cargo("package"),
execs().with_status(101).with_stderr("\
[WARNING] manifest has no documentation, homepage or repository.
See http://doc.crates.io/manifest.html#package-metadata for more info.
@@ -307,9 +313,9 @@ fn exclude() {
.file("some_dir/dir_deep_3/some_dir/file", "")
.file("some_dir/dir_deep_4/some_dir/file", "")
.file("some_dir/dir_deep_5/some_dir/file", "")
- ;
+ .build();
- assert_that(p.cargo_process("package").arg("--no-verify").arg("-v"),
+ assert_that(p.cargo("package").arg("--no-verify").arg("-v"),
execs().with_status(0).with_stdout("").with_stderr("\
[WARNING] manifest has no description[..]
See http://doc.crates.io/manifest.html#package-metadata for more info.
@@ -390,9 +396,10 @@ fn include() {
.file("src/main.rs", r#"
fn main() { println!("hello"); }
"#)
- .file("src/bar.txt", ""); // should be ignored when packaging
+ .file("src/bar.txt", "") // should be ignored when packaging
+ .build();
- assert_that(p.cargo_process("package").arg("--no-verify").arg("-v"),
+ assert_that(p.cargo("package").arg("--no-verify").arg("-v"),
execs().with_status(0).with_stderr("\
[WARNING] manifest has no description[..]
See http://doc.crates.io/manifest.html#package-metadata for more info.
@@ -416,9 +423,10 @@ fn package_lib_with_bin() {
extern crate foo;
fn main() {}
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("package").arg("-v"),
+ assert_that(p.cargo("package").arg("-v"),
execs().with_status(0));
}
@@ -466,8 +474,8 @@ fn no_duplicates_from_modified_tracked_files() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- p.build();
+ "#)
+ .build();
File::create(p.root().join("src/main.rs")).unwrap().write_all(br#"
fn main() { println!("A change!"); }
"#).unwrap();
@@ -500,9 +508,10 @@ fn ignore_nested() {
// If a project happens to contain a copy of itself, we should
// ignore it.
.file("a_dir/nested/Cargo.toml", cargo_toml)
- .file("a_dir/nested/src/main.rs", main_rs);
+ .file("a_dir/nested/src/main.rs", main_rs)
+ .build();
- assert_that(p.cargo_process("package"),
+ assert_that(p.cargo("package"),
execs().with_status(0).with_stderr(&format!("\
[WARNING] manifest has no documentation[..]
See http://doc.crates.io/manifest.html#package-metadata for more info.
@@ -550,9 +559,10 @@ fn package_weird_characters() {
.file("src/main.rs", r#"
fn main() { println!("hello"); }
"#)
- .file("src/:foo", "");
+ .file("src/:foo", "")
+ .build();
- assert_that(p.cargo_process("package"),
+ assert_that(p.cargo("package"),
execs().with_status(101).with_stderr("\
warning: [..]
See [..]
@@ -575,9 +585,10 @@ fn repackage_on_source_change() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("package"),
+ assert_that(p.cargo("package"),
execs().with_status(0));
// Add another source file
@@ -636,8 +647,8 @@ fn broken_symlink() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
- p.build();
+ "#)
+ .build();
t!(fs::symlink("nowhere", &p.root().join("src/foo.rs")));
assert_that(p.cargo("package").arg("-v"),
@@ -655,11 +666,10 @@ Caused by:
#[test]
fn do_not_package_if_repository_is_dirty() {
- let p = project("foo");
- p.build();
+ let p = project("foo").build();
// Create a Git repository containing a minimal Rust project.
- git::repo(&paths::root().join("foo"))
+ let _ = git::repo(&paths::root().join("foo"))
.file("Cargo.toml", r#"
[project]
name = "foo"
@@ -731,9 +741,10 @@ fn generated_manifest() {
version = "0.1.0"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("package").arg("--no-verify"),
+ assert_that(p.cargo("package").arg("--no-verify"),
execs().with_status(0));
let f = File::open(&p.root().join("target/package/foo-0.0.1.crate")).unwrap();
@@ -809,8 +820,8 @@ fn ignore_workspace_specifier() {
authors = []
workspace = ".."
"#)
- .file("bar/src/lib.rs", "");
- p.build();
+ .file("bar/src/lib.rs", "")
+ .build();
assert_that(p.cargo("package").arg("--no-verify").cwd(p.root().join("bar")),
execs().with_status(0));
@@ -861,8 +872,9 @@ fn package_two_kinds_of_deps() {
other = "1.0"
other1 = { version = "1.0" }
"#)
- .file("src/main.rs", "");
+ .file("src/main.rs", "")
+ .build();
- assert_that(p.cargo_process("package").arg("--no-verify"),
+ assert_that(p.cargo("package").arg("--no-verify"),
execs().with_status(0));
}
diff --git a/tests/patch.rs b/tests/patch.rs
index db8bd372dd8..c8d5e9ca63b 100644
--- a/tests/patch.rs
+++ b/tests/patch.rs
@@ -55,9 +55,10 @@ fn replace() {
"#)
.file("foo/src/lib.rs", r#"
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[DOWNLOADING] deep-foo v0.1.0 ([..])
@@ -102,9 +103,10 @@ fn nonexistent() {
"#)
.file("foo/src/lib.rs", r#"
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.1.0 (file://[..])
@@ -124,8 +126,8 @@ fn patch_git() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("bar")
.file("Cargo.toml", &format!(r#"
@@ -154,9 +156,10 @@ fn patch_git() {
"#)
.file("foo/src/lib.rs", r#"
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] git repository `file://[..]`
[COMPILING] foo v0.1.0 (file://[..])
@@ -176,8 +179,8 @@ fn patch_to_git() {
version = "0.1.0"
authors = []
"#)
- .file("src/lib.rs", "pub fn foo() {}");
- foo.build();
+ .file("src/lib.rs", "pub fn foo() {}")
+ .build();
Package::new("foo", "0.1.0").publish();
@@ -199,9 +202,10 @@ fn patch_to_git() {
pub fn bar() {
foo::foo();
}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("build"),//.env("RUST_LOG", "cargo=trace"),
+ assert_that(p.cargo("build"),//.env("RUST_LOG", "cargo=trace"),
execs().with_status(0).with_stderr("\
[UPDATING] git repository `file://[..]`
[UPDATING] registry `file://[..]`
@@ -239,9 +243,10 @@ fn unused() {
"#)
.file("foo/src/lib.rs", r#"
not rust code
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[DOWNLOADING] foo v0.1.0 [..]
@@ -273,8 +278,8 @@ fn unused_git() {
version = "0.2.0"
authors = []
"#)
- .file("src/lib.rs", "");
- foo.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("bar")
.file("Cargo.toml", &format!(r#"
@@ -289,9 +294,10 @@ fn unused_git() {
[patch.crates-io]
foo = {{ git = '{}' }}
"#, foo.url()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] git repository `file://[..]`
[UPDATING] registry `file://[..]`
@@ -325,9 +331,10 @@ fn add_patch() {
version = "0.1.0"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[DOWNLOADING] foo v0.1.0 [..]
@@ -382,9 +389,10 @@ fn add_ignored_patch() {
version = "0.1.1"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[DOWNLOADING] foo v0.1.0 [..]
@@ -440,9 +448,10 @@ fn new_minor() {
version = "0.1.1"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.1.1 [..]
@@ -485,9 +494,10 @@ fn transitive_new_minor() {
version = "0.1.1"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.1.1 [..]
@@ -521,9 +531,10 @@ fn new_major() {
version = "0.2.0"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.2.0 [..]
@@ -592,9 +603,10 @@ fn transitive_new_major() {
version = "0.2.0"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
[UPDATING] registry `file://[..]`
[COMPILING] foo v0.2.0 [..]
@@ -637,10 +649,11 @@ fn remove_patch() {
version = "0.1.0"
authors = []
"#)
- .file("bar/src/lib.rs", r#""#);
+ .file("bar/src/lib.rs", r#""#)
+ .build();
// Generate a lock file where `bar` is unused
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
let mut lock_file1 = String::new();
File::open(p.root().join("Cargo.lock")).unwrap()
.read_to_string(&mut lock_file1).unwrap();
@@ -696,9 +709,10 @@ fn non_crates_io() {
version = "0.1.0"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
error: failed to parse manifest at `[..]`
@@ -729,9 +743,10 @@ fn replace_with_crates_io() {
version = "0.1.0"
authors = []
"#)
- .file("foo/src/lib.rs", r#""#);
+ .file("foo/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[UPDATING] [..]
@@ -771,9 +786,10 @@ fn patch_in_virtual() {
[dependencies]
foo = "0.1"
"#)
- .file("bar/src/lib.rs", r#""#);
+ .file("bar/src/lib.rs", r#""#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
assert_that(p.cargo("build"),
execs().with_status(0).with_stderr("\
diff --git a/tests/path.rs b/tests/path.rs
index e07334c6180..0e6fd337333 100644
--- a/tests/path.rs
+++ b/tests/path.rs
@@ -70,9 +70,10 @@ fn cargo_compile_with_nested_deps_shorthand() {
pub fn gimme() -> String {
"test passed".to_string()
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr(&format!("[COMPILING] baz v0.5.0 ({}/bar/baz)\n\
[COMPILING] bar v0.5.0 ({}/bar)\n\
@@ -129,8 +130,9 @@ fn cargo_compile_with_root_dev_deps() {
name = "foo"
"#)
.file("src/main.rs",
- &main_file(r#""{}", bar::gimme()"#, &["bar"]));
- let p2 = project("bar")
+ &main_file(r#""{}", bar::gimme()"#, &["bar"]))
+ .build();
+ let _p2 = project("bar")
.file("Cargo.toml", r#"
[package]
@@ -142,10 +144,10 @@ fn cargo_compile_with_root_dev_deps() {
pub fn gimme() -> &'static str {
"zoidberg"
}
- "#);
+ "#)
+ .build();
- p2.build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101))
}
@@ -168,8 +170,9 @@ fn cargo_compile_with_root_dev_deps_with_testing() {
name = "foo"
"#)
.file("src/main.rs",
- &main_file(r#""{}", bar::gimme()"#, &["bar"]));
- let p2 = project("bar")
+ &main_file(r#""{}", bar::gimme()"#, &["bar"]))
+ .build();
+ let _p2 = project("bar")
.file("Cargo.toml", r#"
[package]
@@ -181,10 +184,10 @@ fn cargo_compile_with_root_dev_deps_with_testing() {
pub fn gimme() -> &'static str {
"zoidberg"
}
- "#);
+ "#)
+ .build();
- p2.build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_stderr("\
[COMPILING] [..] v0.5.0 ([..])
[COMPILING] [..] v0.5.0 ([..])
@@ -229,9 +232,10 @@ fn cargo_compile_with_transitive_dev_deps() {
pub fn gimme() -> &'static str {
"zoidberg"
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[COMPILING] bar v0.5.0 ({}/bar)\n\
[COMPILING] foo v0.5.0 ({})\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) in \
@@ -274,9 +278,10 @@ fn no_rebuild_dependency() {
"#)
.file("bar/src/bar.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
// First time around we should compile both foo and bar
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[COMPILING] bar v0.5.0 ({}/bar)\n\
[COMPILING] foo v0.5.0 ({})\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) \
@@ -299,8 +304,7 @@ fn no_rebuild_dependency() {
#[test]
fn deep_dependencies_trigger_rebuild() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -343,8 +347,9 @@ fn deep_dependencies_trigger_rebuild() {
"#)
.file("baz/src/baz.rs", r#"
pub fn baz() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[COMPILING] baz v0.5.0 ({}/baz)\n\
[COMPILING] bar v0.5.0 ({}/bar)\n\
[COMPILING] foo v0.5.0 ({})\n\
@@ -392,8 +397,7 @@ fn deep_dependencies_trigger_rebuild() {
#[test]
fn no_rebuild_two_deps() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[project]
@@ -437,8 +441,9 @@ fn no_rebuild_two_deps() {
"#)
.file("baz/src/baz.rs", r#"
pub fn baz() {}
- "#);
- assert_that(p.cargo_process("build"),
+ "#)
+ .build();
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[COMPILING] baz v0.5.0 ({}/baz)\n\
[COMPILING] bar v0.5.0 ({}/bar)\n\
[COMPILING] foo v0.5.0 ({})\n\
@@ -481,10 +486,11 @@ fn nested_deps_recompile() {
name = "bar"
"#)
- .file("src/bar/src/bar.rs", "pub fn gimme() -> i32 { 92 }");
+ .file("src/bar/src/bar.rs", "pub fn gimme() -> i32 { 92 }")
+ .build();
let bar = p.url();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_stderr(&format!("[COMPILING] bar v0.5.0 ({}/src/bar)\n\
[COMPILING] foo v0.5.0 ({})\n\
[FINISHED] dev [unoptimized + debuginfo] target(s) \
@@ -520,9 +526,10 @@ fn error_message_for_missing_manifest() {
path = "src/bar"
"#)
.file("src/lib.rs", "")
- .file("src/bar/not-a-manifest", "");
+ .file("src/bar/not-a-manifest", "")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to load source for a dependency on `bar`
@@ -549,7 +556,8 @@ fn override_relative() {
version = "0.5.0"
authors = ["wycats@example.com"]
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
fs::create_dir(&paths::root().join(".cargo")).unwrap();
File::create(&paths::root().join(".cargo/config")).unwrap()
@@ -566,9 +574,9 @@ fn override_relative() {
[dependencies.bar]
path = '{}'
"#, bar.root().display()))
- .file("src/lib.rs", "");
- bar.build();
- assert_that(p.cargo_process("build").arg("-v"), execs().with_status(0));
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"), execs().with_status(0));
}
@@ -582,7 +590,8 @@ fn override_self() {
version = "0.5.0"
authors = ["wycats@example.com"]
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
let p = project("foo");
let root = p.root().clone();
@@ -602,11 +611,10 @@ fn override_self() {
"#, bar.root().display()))
.file("src/lib.rs", "")
- .file("src/main.rs", "fn main() {}");
-
- bar.build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ .file("src/main.rs", "fn main() {}")
+ .build();
+ assert_that(p.cargo("build"), execs().with_status(0));
}
#[test]
@@ -628,7 +636,8 @@ fn override_path_dep() {
version = "0.5.0"
authors = []
"#)
- .file("p2/src/lib.rs", "");
+ .file("p2/src/lib.rs", "")
+ .build();
let p = project("foo")
.file(".cargo/config", &format!(r#"
@@ -646,10 +655,10 @@ fn override_path_dep() {
path = '{}'
"#, bar.root().join("p2").display()))
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- bar.build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
}
@@ -691,9 +700,7 @@ fn path_dep_build_cmd() {
"#)
.file("bar/src/bar.rs.in", r#"
pub fn gimme() -> i32 { 0 }
- "#);
-
- p.build();
+ "#).build();
p.root().join("bar").move_into_the_past();
assert_that(p.cargo("build"),
@@ -754,8 +761,8 @@ fn dev_deps_no_rebuild_lib() {
version = "0.5.0"
authors = ["wycats@example.com"]
"#)
- .file("bar/src/lib.rs", "pub fn bar() {}");
- p.build();
+ .file("bar/src/lib.rs", "pub fn bar() {}")
+ .build();
assert_that(p.cargo("build")
.env("FOO", "bar"),
execs().with_status(0)
@@ -803,8 +810,8 @@ fn custom_target_no_rebuild() {
[dependencies]
a = { path = "../a" }
"#)
- .file("b/src/lib.rs", "");
- p.build();
+ .file("b/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0)
.with_stderr("\
@@ -855,8 +862,8 @@ fn override_and_depend() {
.file("b/src/lib.rs", "")
.file("b/.cargo/config", r#"
paths = ["../a"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").cwd(p.root().join("b")),
execs().with_status(0)
.with_stderr("\
@@ -879,8 +886,8 @@ fn missing_path_dependency() {
.file("src/lib.rs", "")
.file(".cargo/config", r#"
paths = ["../whoa-this-does-not-exist"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
@@ -921,8 +928,8 @@ fn invalid_path_dep_in_workspace_with_lockfile() {
[dependencies]
bar = "*"
"#)
- .file("foo/src/lib.rs", "");
- p.build();
+ .file("foo/src/lib.rs", "")
+ .build();
// Generate a lock file
assert_that(p.cargo("build"), execs().with_status(0));
@@ -970,8 +977,8 @@ fn workspace_produces_rlib() {
version = "0.5.0"
authors = []
"#)
- .file("foo/src/lib.rs", "");
- p.build();
+ .file("foo/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"), execs().with_status(0));
diff --git a/tests/plugins.rs b/tests/plugins.rs
index 8ee6ce8df98..c10e4786553 100644
--- a/tests/plugins.rs
+++ b/tests/plugins.rs
@@ -37,8 +37,9 @@ fn plugin_to_the_max() {
#![plugin(bar)]
pub fn foo() {}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -64,8 +65,9 @@ fn plugin_to_the_max() {
pub fn foo(_reg: &mut Registry) {
println!("{}", baz::baz());
}
- "#);
- let baz = project("baz")
+ "#)
+ .build();
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[package]
name = "baz"
@@ -76,11 +78,10 @@ fn plugin_to_the_max() {
name = "baz"
crate_type = ["dylib"]
"#)
- .file("src/lib.rs", "pub fn baz() -> i32 { 1 }");
- bar.build();
- baz.build();
+ .file("src/lib.rs", "pub fn baz() -> i32 { 1 }")
+ .build();
- assert_that(foo.cargo_process("build"),
+ assert_that(foo.cargo("build"),
execs().with_status(0));
assert_that(foo.cargo("doc"),
execs().with_status(0));
@@ -94,8 +95,8 @@ fn plugin_with_dynamic_native_dependency() {
.file("Cargo.toml", r#"
[workspace]
members = ["builder", "foo"]
- "#);
- workspace.build();
+ "#)
+ .build();
let build = project("ws/builder")
.file("Cargo.toml", r#"
@@ -111,8 +112,8 @@ fn plugin_with_dynamic_native_dependency() {
.file("src/lib.rs", r#"
#[no_mangle]
pub extern fn foo() {}
- "#);
- build.build();
+ "#)
+ .build();
let foo = project("ws/foo")
.file("Cargo.toml", r#"
@@ -164,8 +165,8 @@ fn plugin_with_dynamic_native_dependency() {
pub fn bar(_reg: &mut Registry) {
unsafe { foo() }
}
- "#);
- foo.build();
+ "#)
+ .build();
assert_that(build.cargo("build"),
execs().with_status(0));
@@ -198,9 +199,10 @@ fn plugin_integration() {
"#)
.file("build.rs", "fn main() {}")
.file("src/lib.rs", "")
- .file("tests/it_works.rs", "");
+ .file("tests/it_works.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -232,9 +234,10 @@ fn doctest_a_plugin() {
"#)
.file("bar/src/lib.rs", r#"
pub fn bar() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -243,7 +246,7 @@ fn doctest_a_plugin() {
fn native_plugin_dependency_with_custom_ar_linker() {
let target = rustc_host();
- let foo = project("foo")
+ let _foo = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -253,7 +256,8 @@ fn native_plugin_dependency_with_custom_ar_linker() {
[lib]
plugin = true
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
let bar = project("bar")
.file("Cargo.toml", r#"
@@ -270,10 +274,10 @@ fn native_plugin_dependency_with_custom_ar_linker() {
[target.{}]
ar = "nonexistent-ar"
linker = "nonexistent-linker"
- "#, target));
+ "#, target))
+ .build();
- foo.build();
- assert_that(bar.cargo_process("build").arg("--verbose"),
+ assert_that(bar.cargo("build").arg("--verbose"),
execs().with_stderr_contains("\
[COMPILING] foo v0.0.1 ([..])
[RUNNING] `rustc [..] -C ar=nonexistent-ar -C linker=nonexistent-linker [..]`
@@ -287,7 +291,7 @@ fn panic_abort_plugins() {
return
}
- let bar = project("bar")
+ let p = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -313,9 +317,10 @@ fn panic_abort_plugins() {
.file("foo/src/lib.rs", r#"
#![feature(rustc_private)]
extern crate syntax;
- "#);
+ "#)
+ .build();
- assert_that(bar.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -325,7 +330,7 @@ fn shared_panic_abort_plugins() {
return
}
- let bar = project("top")
+ let p = project("top")
.file("Cargo.toml", r#"
[package]
name = "top"
@@ -365,8 +370,9 @@ fn shared_panic_abort_plugins() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(bar.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0));
}
diff --git a/tests/proc-macro.rs b/tests/proc-macro.rs
index 3e168c49b55..953523ac693 100644
--- a/tests/proc-macro.rs
+++ b/tests/proc-macro.rs
@@ -31,8 +31,9 @@ fn probe_cfg_before_crate_type_discovery() {
struct X;
fn main() {}
- "#);
- let noop = project("noop")
+ "#)
+ .build();
+ let _noop = project("noop")
.file("Cargo.toml", r#"
[package]
name = "noop"
@@ -52,10 +53,10 @@ fn probe_cfg_before_crate_type_discovery() {
pub fn noop(_input: TokenStream) -> TokenStream {
"".parse().unwrap()
}
- "#);
- noop.build();
+ "#)
+ .build();
- assert_that(client.cargo_process("build"),
+ assert_that(client.cargo("build"),
execs().with_status(0));
}
@@ -85,8 +86,9 @@ fn noop() {
struct X;
fn main() {}
- "#);
- let noop = project("noop")
+ "#)
+ .build();
+ let _noop = project("noop")
.file("Cargo.toml", r#"
[package]
name = "noop"
@@ -106,10 +108,10 @@ fn noop() {
pub fn noop(_input: TokenStream) -> TokenStream {
"".parse().unwrap()
}
- "#);
- noop.build();
+ "#)
+ .build();
- assert_that(client.cargo_process("build"),
+ assert_that(client.cargo("build"),
execs().with_status(0));
assert_that(client.cargo("build"),
execs().with_status(0));
@@ -149,8 +151,9 @@ fn impl_and_derive() {
assert!(x.impl_by_transmogrify());
println!("{:?}", x);
}
- "#);
- let transmogrify = project("transmogrify")
+ "#)
+ .build();
+ let _transmogrify = project("transmogrify")
.file("Cargo.toml", r#"
[package]
name = "transmogrify"
@@ -183,10 +186,10 @@ fn impl_and_derive() {
}
".parse().unwrap()
}
- "#);
- transmogrify.build();
+ "#)
+ .build();
- assert_that(client.cargo_process("build"),
+ assert_that(client.cargo("build"),
execs().with_status(0));
assert_that(client.cargo("run"),
execs().with_status(0).with_stdout("X { success: true }"));
@@ -226,10 +229,11 @@ fn plugin_and_proc_macro() {
pub fn questionable(input: TokenStream) -> TokenStream {
input
}
- "#);
+ "#)
+ .build();
let msg = " lib.plugin and lib.proc-macro cannot both be true";
- assert_that(questionable.cargo_process("build"),
+ assert_that(questionable.cargo("build"),
execs().with_status(101).with_stderr_contains(msg));
}
@@ -267,9 +271,10 @@ pub fn derive(_input: TokenStream) -> TokenStream {
fn a() {
assert!(true);
}
-"#);
+"#)
+ .build();
- assert_that(foo.cargo_process("test"),
+ assert_that(foo.cargo("test"),
execs().with_status(0)
.with_stdout_contains("test a ... ok")
.with_stdout_contains_n("test [..] ... ok", 2));
diff --git a/tests/profiles.rs b/tests/profiles.rs
index f4295a6dfa3..b051f114736 100644
--- a/tests/profiles.rs
+++ b/tests/profiles.rs
@@ -9,8 +9,7 @@ use hamcrest::assert_that;
#[test]
fn profile_overrides() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -23,8 +22,9 @@ fn profile_overrides() {
debug = false
rpath = true
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -44,8 +44,7 @@ url = p.url(),
#[test]
fn opt_level_override_0() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -56,8 +55,9 @@ fn opt_level_override_0() {
[profile.dev]
opt-level = 0
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -75,9 +75,7 @@ url = p.url()
#[test]
fn debug_override_1() {
- let mut p = project("foo");
-
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "test"
@@ -87,8 +85,9 @@ fn debug_override_1() {
[profile.dev]
debug = 1
"#)
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -105,8 +104,7 @@ url = p.url()
}
fn check_opt_level_override(profile_level: &str, rustc_level: &str) {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", &format!(r#"
[package]
@@ -117,8 +115,9 @@ fn check_opt_level_override(profile_level: &str, rustc_level: &str) {
[profile.dev]
opt-level = {level}
"#, level = profile_level))
- .file("src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v"),
+ .file("src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] test v0.0.0 ({url})
[RUNNING] `rustc --crate-name test src[/]lib.rs --crate-type lib \
@@ -154,8 +153,7 @@ fn opt_level_overrides() {
#[test]
fn top_level_overrides_deps() {
- let mut p = project("foo");
- p = p
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
@@ -186,8 +184,9 @@ fn top_level_overrides_deps() {
name = "foo"
crate_type = ["dylib", "rlib"]
"#)
- .file("foo/src/lib.rs", "");
- assert_that(p.cargo_process("build").arg("-v").arg("--release"),
+ .file("foo/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("build").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.0 ({url}/foo)
[RUNNING] `rustc --crate-name foo foo[/]src[/]lib.rs \
@@ -244,9 +243,10 @@ fn profile_in_non_root_manifest_triggers_a_warning() {
[profile.dev]
opt-level = 1
"#)
- .file("bar/src/main.rs", "fn main() {}");
+ .file("bar/src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").cwd(p.root().join("bar")).arg("-v"),
+ assert_that(p.cargo("build").cwd(p.root().join("bar")).arg("-v"),
execs().with_status(0).with_stderr("\
[WARNING] profiles for the non root package will be ignored, specify profiles at the workspace root:
package: [..]
@@ -275,9 +275,10 @@ fn profile_in_virtual_manifest_works() {
authors = []
workspace = ".."
"#)
- .file("bar/src/main.rs", "fn main() {}");
+ .file("bar/src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").cwd(p.root().join("bar")).arg("-v"),
+ assert_that(p.cargo("build").cwd(p.root().join("bar")).arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] bar v0.1.0 ([..])
[RUNNING] `rustc [..]`
diff --git a/tests/publish.rs b/tests/publish.rs
index ea498619517..d63087fe292 100644
--- a/tests/publish.rs
+++ b/tests/publish.rs
@@ -27,9 +27,10 @@ fn simple() {
license = "MIT"
description = "foo"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish").arg("--no-verify")
+ assert_that(p.cargo("publish").arg("--no-verify")
.arg("--index").arg(publish::registry().to_string()),
execs().with_status(0).with_stderr(&format!("\
[UPDATING] registry `{reg}`
@@ -83,9 +84,10 @@ fn simple_with_host() {
license = "MIT"
description = "foo"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish").arg("--no-verify")
+ assert_that(p.cargo("publish").arg("--no-verify")
.arg("--host").arg(publish::registry().to_string()),
execs().with_status(0).with_stderr(&format!("\
[WARNING] The flag '--host' is no longer valid.
@@ -149,9 +151,10 @@ fn simple_with_index_and_host() {
license = "MIT"
description = "foo"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish").arg("--no-verify")
+ assert_that(p.cargo("publish").arg("--no-verify")
.arg("--index").arg(publish::registry().to_string())
.arg("--host").arg(publish::registry().to_string()),
execs().with_status(0).with_stderr(&format!("\
@@ -217,9 +220,10 @@ fn git_deps() {
[dependencies.foo]
git = "git://path/to/nowhere"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish").arg("-v").arg("--no-verify")
+ assert_that(p.cargo("publish").arg("-v").arg("--no-verify")
.arg("--index").arg(publish::registry().to_string()),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
@@ -254,9 +258,10 @@ fn path_dependency_no_version() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
+ .file("bar/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("publish")
+ assert_that(p.cargo("publish")
.arg("--index").arg(publish::registry().to_string()),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
@@ -279,9 +284,10 @@ fn unpublishable_crate() {
description = "foo"
publish = false
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish")
+ assert_that(p.cargo("publish")
.arg("--index").arg(publish::registry().to_string()),
execs().with_status(101).with_stderr("\
[ERROR] some crates cannot be published.
@@ -293,10 +299,10 @@ fn unpublishable_crate() {
fn dont_publish_dirty() {
publish::setup();
let p = project("foo")
- .file("bar", "");
- p.build();
+ .file("bar", "")
+ .build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.file("Cargo.toml", r#"
[project]
name = "foo"
@@ -328,10 +334,9 @@ to proceed despite this, pass the `--allow-dirty` flag
fn publish_clean() {
publish::setup();
- let p = project("foo");
- p.build();
+ let p = project("foo").build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.file("Cargo.toml", r#"
[project]
name = "foo"
@@ -356,10 +361,10 @@ fn publish_in_sub_repo() {
publish::setup();
let p = project("foo")
- .file("baz", "");
- p.build();
+ .file("baz", "")
+ .build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.file("bar/Cargo.toml", r#"
[project]
name = "foo"
@@ -384,10 +389,10 @@ fn publish_when_ignored() {
publish::setup();
let p = project("foo")
- .file("baz", "");
- p.build();
+ .file("baz", "")
+ .build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.file("Cargo.toml", r#"
[project]
name = "foo"
@@ -413,10 +418,10 @@ fn ignore_when_crate_ignored() {
publish::setup();
let p = project("foo")
- .file("bar/baz", "");
- p.build();
+ .file("bar/baz", "")
+ .build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.file(".gitignore", "bar")
.nocommit_file("bar/Cargo.toml", r#"
[project]
@@ -440,10 +445,10 @@ fn new_crate_rejected() {
publish::setup();
let p = project("foo")
- .file("baz", "");
- p.build();
+ .file("baz", "")
+ .build();
- repo(&paths::root().join("foo"))
+ let _ = repo(&paths::root().join("foo"))
.nocommit_file("Cargo.toml", r#"
[project]
name = "foo"
@@ -474,9 +479,10 @@ fn dry_run() {
license = "MIT"
description = "foo"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("publish").arg("--dry-run")
+ assert_that(p.cargo("publish").arg("--dry-run")
.arg("--index").arg(publish::registry().to_string()),
execs().with_status(0).with_stderr(&format!("\
[UPDATING] registry `[..]`
diff --git a/tests/read-manifest.rs b/tests/read-manifest.rs
index f656ab2108c..41ed1420468 100644
--- a/tests/read-manifest.rs
+++ b/tests/read-manifest.rs
@@ -28,9 +28,10 @@ static MANIFEST_OUTPUT: &'static str = r#"
fn cargo_read_manifest_path_to_cargo_toml_relative() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("read-manifest")
+ assert_that(p.cargo("read-manifest")
.arg("--manifest-path").arg("foo/Cargo.toml")
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -41,9 +42,10 @@ fn cargo_read_manifest_path_to_cargo_toml_relative() {
fn cargo_read_manifest_path_to_cargo_toml_absolute() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("read-manifest")
+ assert_that(p.cargo("read-manifest")
.arg("--manifest-path").arg(p.root().join("Cargo.toml"))
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -54,9 +56,10 @@ fn cargo_read_manifest_path_to_cargo_toml_absolute() {
fn cargo_read_manifest_path_to_cargo_toml_parent_relative() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("read-manifest")
+ assert_that(p.cargo("read-manifest")
.arg("--manifest-path").arg("foo")
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -68,9 +71,10 @@ fn cargo_read_manifest_path_to_cargo_toml_parent_relative() {
fn cargo_read_manifest_path_to_cargo_toml_parent_absolute() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("read-manifest")
+ assert_that(p.cargo("read-manifest")
.arg("--manifest-path").arg(p.root())
.cwd(p.root().parent().unwrap()),
execs().with_status(101)
@@ -82,9 +86,10 @@ fn cargo_read_manifest_path_to_cargo_toml_parent_absolute() {
fn cargo_read_manifest_cwd() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("read-manifest")
+ assert_that(p.cargo("read-manifest")
.cwd(p.root()),
execs().with_status(0)
.with_json(MANIFEST_OUTPUT));
diff --git a/tests/registry.rs b/tests/registry.rs
index c63310e6486..6334944d739 100644
--- a/tests/registry.rs
+++ b/tests/registry.rs
@@ -30,8 +30,8 @@ fn simple() {
[dependencies]
bar = ">= 0.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.0.1").publish();
@@ -70,12 +70,13 @@ fn deps() {
[dependencies]
bar = ">= 0.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("bar", "0.0.1").dep("baz", "*").publish();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(0).with_stderr(&format!("\
[UPDATING] registry `{reg}`
[DOWNLOADING] [..] v0.0.1 (registry file://[..])
@@ -103,9 +104,10 @@ fn nonexistent() {
[dependencies]
nonexistent = ">= 0.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
[ERROR] no matching package named `nonexistent` found (required by `foo`)
@@ -126,8 +128,8 @@ fn wrong_version() {
[dependencies]
foo = ">= 1.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "0.0.1").publish();
Package::new("foo", "0.0.2").publish();
@@ -162,13 +164,14 @@ fn bad_cksum() {
[dependencies]
bad-cksum = ">= 0.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
let pkg = Package::new("bad-cksum", "0.0.1");
pkg.publish();
t!(File::create(&pkg.archive_dst()));
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(101).with_stderr("\
[UPDATING] registry [..]
[DOWNLOADING] bad-cksum [..]
@@ -196,9 +199,10 @@ fn update_registry() {
[dependencies]
notyet = ">= 0.0.0"
"#)
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build"),
+ assert_that(p.cargo("build"),
execs().with_status(101).with_stderr_contains("\
[ERROR] no matching package named `notyet` found (required by `foo`)
location searched: registry [..]
@@ -244,8 +248,8 @@ fn package_with_path_deps() {
version = "0.0.1"
authors = []
"#)
- .file("notyet/src/lib.rs", "");
- p.build();
+ .file("notyet/src/lib.rs", "")
+ .build();
assert_that(p.cargo("package").arg("-v"),
execs().with_status(101).with_stderr_contains("\
@@ -283,8 +287,8 @@ fn lockfile_locks() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.0.1").publish();
@@ -317,8 +321,8 @@ fn lockfile_locks_transitively() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("bar", "0.0.1").dep("baz", "*").publish();
@@ -355,8 +359,8 @@ fn yanks_are_not_used() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("baz", "0.0.2").yanked(true).publish();
@@ -388,8 +392,8 @@ fn relying_on_a_yank_is_bad() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("baz", "0.0.2").yanked(true).publish();
@@ -415,8 +419,8 @@ fn yanks_in_lockfiles_are_ok() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.0.1").publish();
@@ -450,8 +454,8 @@ fn update_with_lockfile_if_packages_missing() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.0.1").publish();
assert_that(p.cargo("build"),
@@ -479,8 +483,8 @@ fn update_lockfile() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
println!("0.0.1");
Package::new("bar", "0.0.1").publish();
@@ -560,8 +564,8 @@ fn dev_dependency_not_used() {
[dependencies]
bar = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("baz", "0.0.1").publish();
Package::new("bar", "0.0.1").dev_dep("baz", "*").publish();
@@ -613,8 +617,9 @@ fn bad_license_file() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- assert_that(p.cargo_process("publish")
+ "#)
+ .build();
+ assert_that(p.cargo("publish")
.arg("-v")
.arg("--index").arg(registry().to_string()),
execs().with_status(101)
@@ -644,8 +649,8 @@ fn updating_a_dep() {
[dependencies]
bar = "*"
"#)
- .file("a/src/lib.rs", "");
- p.build();
+ .file("a/src/lib.rs", "")
+ .build();
Package::new("bar", "0.0.1").publish();
@@ -696,8 +701,8 @@ fn git_and_registry_dep() {
[dependencies]
a = "0.0.1"
"#)
- .file("src/lib.rs", "");
- b.build();
+ .file("src/lib.rs", "")
+ .build();
let p = project("foo")
.file("Cargo.toml", &format!(r#"
[project]
@@ -711,8 +716,8 @@ fn git_and_registry_dep() {
[dependencies.b]
git = '{}'
"#, b.url()))
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("a", "0.0.1").publish();
@@ -749,8 +754,8 @@ fn update_publish_then_update() {
[dependencies]
a = "0.1.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("a", "0.1.0").publish();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -774,8 +779,9 @@ fn update_publish_then_update() {
[dependencies]
a = "0.1.1"
"#)
- .file("src/main.rs", "fn main() {}");
- assert_that(p2.cargo_process("build"),
+ .file("src/main.rs", "fn main() {}")
+ .build();
+ assert_that(p2.cargo("build"),
execs().with_status(0));
registry.rm_rf();
t!(fs::rename(&backup, ®istry));
@@ -808,8 +814,8 @@ fn fetch_downloads() {
[dependencies]
a = "0.1.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("a", "0.1.0").publish();
@@ -833,8 +839,8 @@ fn update_transitive_dependency() {
[dependencies]
a = "0.1.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("a", "0.1.0").dep("b", "*").publish();
Package::new("b", "0.1.0").publish();
@@ -874,8 +880,8 @@ fn update_backtracking_ok() {
[dependencies]
webdriver = "0.1"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("webdriver", "0.1.0").dep("hyper", "0.6").publish();
Package::new("hyper", "0.6.5").dep("openssl", "0.1")
@@ -913,8 +919,8 @@ fn update_multiple_packages() {
b = "*"
c = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("a", "0.1.0").publish();
Package::new("b", "0.1.0").publish();
@@ -973,8 +979,8 @@ fn bundled_crate_in_registry() {
bar = "0.1"
baz = "0.1"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("bar", "0.1.0").publish();
Package::new("baz", "0.1.0")
@@ -1013,8 +1019,8 @@ fn update_same_prefix_oh_my_how_was_this_a_bug() {
[dependencies]
foo = "0.1"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foobar", "0.2.0").publish();
Package::new("foo", "0.1.0")
@@ -1038,8 +1044,8 @@ fn use_semver() {
[dependencies]
foo = "1.2.3-alpha.0"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "1.2.3-alpha.0").publish();
@@ -1062,8 +1068,8 @@ fn only_download_relevant() {
[dependencies]
baz = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "0.1.0").publish();
Package::new("bar", "0.1.0").publish();
@@ -1091,8 +1097,8 @@ fn resolve_and_backtracking() {
[dependencies]
foo = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "0.1.1")
.feature_dep("bar", "0.1", &["a", "b"])
@@ -1115,8 +1121,8 @@ fn upstream_warnings_on_extra_verbose() {
[dependencies]
foo = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("foo", "0.1.0")
.file("src/lib.rs", "fn unused() {}")
@@ -1140,8 +1146,8 @@ fn disallow_network() {
[dependencies]
foo = "*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--frozen"),
execs().with_status(101).with_stderr("\
@@ -1177,8 +1183,8 @@ fn add_dep_dont_update_registry() {
[dependencies]
remote = "0.3"
"#)
- .file("baz/src/lib.rs", "");
- p.build();
+ .file("baz/src/lib.rs", "")
+ .build();
Package::new("remote", "0.3.4").publish();
@@ -1225,8 +1231,8 @@ fn bump_version_dont_update_registry() {
[dependencies]
remote = "0.3"
"#)
- .file("baz/src/lib.rs", "");
- p.build();
+ .file("baz/src/lib.rs", "")
+ .build();
Package::new("remote", "0.3.4").publish();
@@ -1262,8 +1268,8 @@ fn old_version_req() {
[dependencies]
remote = "0.2*"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("remote", "0.2.0").publish();
@@ -1310,8 +1316,8 @@ fn old_version_req_upstream() {
[dependencies]
remote = "0.3"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
Package::new("remote", "0.3.0")
.file("Cargo.toml", r#"
@@ -1375,8 +1381,8 @@ fn toml_lies_but_index_is_truth() {
[dependencies]
bar = "0.3"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
@@ -1402,8 +1408,8 @@ fn vv_prints_warnings() {
[dependencies]
foo = "0.2"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("-vv"),
execs().with_status(0));
@@ -1425,8 +1431,8 @@ fn bad_and_or_malicious_packages_rejected() {
[dependencies]
foo = "0.2"
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("-vv"),
execs().with_status(101)
diff --git a/tests/required-features.rs b/tests/required-features.rs
index 3e2ad26eecd..0f71d6d933e 100644
--- a/tests/required-features.rs
+++ b/tests/required-features.rs
@@ -36,8 +36,8 @@ fn build_bin_default_features() {
.file("src/lib.rs", r#"
#[cfg(feature = "a")]
pub fn foo() {}
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -73,8 +73,8 @@ fn build_bin_arg_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--features").arg("a"),
execs().with_status(0));
@@ -107,8 +107,8 @@ fn build_bin_multiple_required_features() {
required-features = ["a"]
"#)
.file("src/foo_1.rs", "fn main() {}")
- .file("src/foo_2.rs", "fn main() {}");
- p.build();
+ .file("src/foo_2.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -143,8 +143,8 @@ fn build_example_default_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("examples/foo.rs", "fn main() {}");
- p.build();
+ .file("examples/foo.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--example=foo"),
execs().with_status(0));
@@ -173,8 +173,8 @@ fn build_example_arg_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("examples/foo.rs", "fn main() {}");
- p.build();
+ .file("examples/foo.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--example=foo").arg("--features").arg("a"),
execs().with_status(0));
@@ -205,8 +205,8 @@ fn build_example_multiple_required_features() {
required-features = ["a"]
"#)
.file("examples/foo_1.rs", "fn main() {}")
- .file("examples/foo_2.rs", "fn main() {}");
- p.build();
+ .file("examples/foo_2.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("build").arg("--example=foo_1"),
execs().with_status(101).with_stderr("\
@@ -260,8 +260,8 @@ fn test_default_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("tests/foo.rs", "#[test]\nfn test() {}");
- p.build();
+ .file("tests/foo.rs", "#[test]\nfn test() {}")
+ .build();
assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
@@ -304,8 +304,8 @@ fn test_arg_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("tests/foo.rs", "#[test]\nfn test() {}");
- p.build();
+ .file("tests/foo.rs", "#[test]\nfn test() {}")
+ .build();
assert_that(p.cargo("test").arg("--features").arg("a"),
execs().with_status(0).with_stderr(format!("\
@@ -339,8 +339,8 @@ fn test_multiple_required_features() {
required-features = ["a"]
"#)
.file("tests/foo_1.rs", "#[test]\nfn test() {}")
- .file("tests/foo_2.rs", "#[test]\nfn test() {}");
- p.build();
+ .file("tests/foo_2.rs", "#[test]\nfn test() {}")
+ .build();
assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
@@ -390,8 +390,8 @@ fn bench_default_features() {
#[bench]
fn bench(_: &mut test::Bencher) {
- }"#);
- p.build();
+ }"#)
+ .build();
assert_that(p.cargo("bench"),
execs().with_status(0).with_stderr(format!("\
@@ -444,8 +444,8 @@ fn bench_arg_features() {
#[bench]
fn bench(_: &mut test::Bencher) {
- }"#);
- p.build();
+ }"#)
+ .build();
assert_that(p.cargo("bench").arg("--features").arg("a"),
execs().with_status(0).with_stderr(format!("\
@@ -495,8 +495,8 @@ fn bench_multiple_required_features() {
#[bench]
fn bench(_: &mut test::Bencher) {
- }"#);
- p.build();
+ }"#)
+ .build();
assert_that(p.cargo("bench"),
execs().with_status(0).with_stderr(format!("\
@@ -541,8 +541,8 @@ fn install_default_features() {
required-features = ["a"]
"#)
.file("src/main.rs", "fn main() {}")
- .file("examples/foo.rs", "fn main() {}");
- p.build();
+ .file("examples/foo.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("install"),
execs().with_status(0));
@@ -611,8 +611,8 @@ fn install_arg_features() {
name = "foo"
required-features = ["a"]
"#)
- .file("src/main.rs", "fn main() {}");
- p.build();
+ .file("src/main.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("install").arg("--features").arg("a"),
execs().with_status(0));
@@ -647,8 +647,8 @@ fn install_multiple_required_features() {
required-features = ["a"]
"#)
.file("src/foo_1.rs", "fn main() {}")
- .file("src/foo_2.rs", "fn main() {}");
- p.build();
+ .file("src/foo_2.rs", "fn main() {}")
+ .build();
assert_that(p.cargo("install"),
execs().with_status(0));
@@ -721,8 +721,8 @@ fn dep_feature_in_toml() {
[features]
a = []
"#)
- .file("bar/src/lib.rs", "");
- p.build();
+ .file("bar/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -811,8 +811,8 @@ fn dep_feature_in_cmd_line() {
[features]
a = []
"#)
- .file("bar/src/lib.rs", "");
- p.build();
+ .file("bar/src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -903,8 +903,8 @@ fn test_skips_compiling_bin_with_missing_required_features() {
"#)
.file("src/bin/foo.rs", "extern crate bar; fn main() {}")
.file("tests/foo.rs", "")
- .file("benches/foo.rs", "");
- p.build();
+ .file("benches/foo.rs", "")
+ .build();
assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
@@ -951,8 +951,8 @@ fn run_default() {
required-features = ["a"]
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "extern crate foo; fn main() {}");
- p.build();
+ .file("src/main.rs", "extern crate foo; fn main() {}")
+ .build();
assert_that(p.cargo("run"),
execs().with_status(101).with_stderr("\
@@ -990,11 +990,11 @@ fn run_default_multiple_required_features() {
"#)
.file("src/lib.rs", "")
.file("src/foo1.rs", "extern crate foo; fn main() {}")
- .file("src/foo2.rs", "extern crate foo; fn main() {}");
- p.build();
+ .file("src/foo2.rs", "extern crate foo; fn main() {}")
+ .build();
assert_that(p.cargo("run"),
execs().with_status(101).with_stderr("\
error: `cargo run` requires that a project only have one executable; \
use the `--bin` option to specify which one to run"));
-}
\ No newline at end of file
+}
diff --git a/tests/run.rs b/tests/run.rs
index 569288615eb..449c91cafc6 100644
--- a/tests/run.rs
+++ b/tests/run.rs
@@ -17,9 +17,10 @@ fn simple() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -43,9 +44,10 @@ fn simple_implicit_main() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello world"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bins"),
+ assert_that(p.cargo("run").arg("--bins"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -68,9 +70,10 @@ fn simple_quiet() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("-q"),
+ assert_that(p.cargo("run").arg("-q"),
execs().with_status(0).with_stdout("\
hello
")
@@ -88,9 +91,10 @@ fn simple_quiet_and_verbose() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("-q").arg("-v"),
+ assert_that(p.cargo("run").arg("-q").arg("-v"),
execs().with_status(101).with_stderr("\
[ERROR] cannot set both --verbose and --quiet
"));
@@ -111,9 +115,10 @@ fn quiet_and_verbose_config() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("-q"),
+ assert_that(p.cargo("run").arg("-q"),
execs().with_status(0));
}
@@ -131,9 +136,10 @@ fn simple_with_args() {
assert_eq!(std::env::args().nth(1).unwrap(), "hello");
assert_eq!(std::env::args().nth(2).unwrap(), "world");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("hello").arg("world"),
+ assert_that(p.cargo("run").arg("hello").arg("world"),
execs().with_status(0));
}
@@ -148,7 +154,8 @@ fn exit_code() {
"#)
.file("src/main.rs", r#"
fn main() { std::process::exit(2); }
- "#);
+ "#)
+ .build();
let mut output = String::from("\
[COMPILING] foo v0.0.1 (file[..])
@@ -160,7 +167,7 @@ fn exit_code() {
[ERROR] process didn't exit successfully: `target[..]foo[..]` (exit code: 2)
");
}
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(2).with_stderr(output));
}
@@ -175,7 +182,8 @@ fn exit_code_verbose() {
"#)
.file("src/main.rs", r#"
fn main() { std::process::exit(2); }
- "#);
+ "#)
+ .build();
let mut output = String::from("\
[COMPILING] foo v0.0.1 (file[..])
@@ -189,7 +197,7 @@ fn exit_code_verbose() {
");
}
- assert_that(p.cargo_process("run").arg("-v"),
+ assert_that(p.cargo("run").arg("-v"),
execs().with_status(2).with_stderr(output));
}
@@ -202,9 +210,10 @@ fn no_main_file() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(101)
.with_stderr("[ERROR] a bin target must be available \
for `cargo run`\n"));
@@ -220,9 +229,10 @@ fn no_main_file_implicit() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("run").arg("--bins"),
+ assert_that(p.cargo("run").arg("--bins"),
execs().with_status(101)
.with_stderr("[ERROR] a bin target must be available \
for `cargo run`\n"));
@@ -239,9 +249,10 @@ fn too_many_bins() {
"#)
.file("src/lib.rs", "")
.file("src/bin/a.rs", "")
- .file("src/bin/b.rs", "");
+ .file("src/bin/b.rs", "")
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(101)
.with_stderr("[ERROR] `cargo run` requires that a project only \
have one executable; use the `--bin` option \
@@ -260,9 +271,10 @@ fn too_many_bins_implicit() {
"#)
.file("src/lib.rs", "")
.file("src/bin/a.rs", "")
- .file("src/bin/b.rs", "");
+ .file("src/bin/b.rs", "")
+ .build();
- assert_that(p.cargo_process("run").arg("--bins"),
+ assert_that(p.cargo("run").arg("--bins"),
execs().with_status(101)
.with_stderr("[ERROR] `cargo run` requires that a project only \
have one executable; use the `--bin` option \
@@ -288,9 +300,10 @@ fn specify_name() {
#[allow(unused_extern_crates)]
extern crate foo;
fn main() { println!("hello b.rs"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bin").arg("a").arg("-v"),
+ assert_that(p.cargo("run").arg("--bin").arg("a").arg("-v"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -329,9 +342,10 @@ fn run_example() {
"#)
.file("src/bin/a.rs", r#"
fn main() { println!("bin"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--example").arg("a"),
+ assert_that(p.cargo("run").arg("--example").arg("a"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -358,9 +372,10 @@ fn run_bin_implicit() {
"#)
.file("src/bin/a.rs", r#"
fn main() { println!("bin"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bins"),
+ assert_that(p.cargo("run").arg("--bins"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -387,9 +402,10 @@ fn run_example_implicit() {
"#)
.file("src/bin/a.rs", r#"
fn main() { println!("bin"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--examples"),
+ assert_that(p.cargo("run").arg("--examples"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -416,8 +432,8 @@ fn run_with_filename() {
"#)
.file("examples/a.rs", r#"
fn main() { println!("example"); }
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("run").arg("--bin").arg("bin.rs"),
execs().with_status(101).with_stderr("\
@@ -454,9 +470,10 @@ fn either_name_or_example() {
"#)
.file("examples/b.rs", r#"
fn main() { println!("hello b.rs"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--bin").arg("a").arg("--example").arg("b"),
+ assert_that(p.cargo("run").arg("--bin").arg("a").arg("--example").arg("b"),
execs().with_status(101)
.with_stderr("[ERROR] `cargo run` can run at most one \
executable, but multiple were \
@@ -481,9 +498,10 @@ fn one_bin_multiple_examples() {
"#)
.file("examples/b.rs", r#"
fn main() { println!("hello b.rs"); }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run"),
+ assert_that(p.cargo("run"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -536,9 +554,10 @@ fn example_with_release_flag() {
println!("fast2")
}
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("-v").arg("--release").arg("--example").arg("a"),
+ assert_that(p.cargo("run").arg("-v").arg("--release").arg("--example").arg("a"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({url}/bar)
@@ -621,9 +640,10 @@ fn run_dylib_dep() {
name = "bar"
crate-type = ["dylib"]
"#)
- .file("bar/src/lib.rs", "pub fn bar() {}");
+ .file("bar/src/lib.rs", "pub fn bar() {}")
+ .build();
- assert_that(p.cargo_process("run").arg("hello").arg("world"),
+ assert_that(p.cargo("run").arg("hello").arg("world"),
execs().with_status(0));
}
@@ -638,9 +658,10 @@ fn release_works() {
"#)
.file("src/main.rs", r#"
fn main() { if cfg!(debug_assertions) { panic!() } }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--release"),
+ assert_that(p.cargo("run").arg("--release"),
execs().with_status(0).with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
[FINISHED] release [optimized] target(s) in [..]
@@ -665,9 +686,10 @@ fn run_bin_different_name() {
"#)
.file("src/bar.rs", r#"
fn main() { }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run"), execs().with_status(0));
+ assert_that(p.cargo("run"), execs().with_status(0));
}
#[test]
@@ -689,9 +711,10 @@ fn dashes_are_forwarded() {
assert_eq!(s[2], "--");
assert_eq!(s[3], "b");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("--").arg("a").arg("--").arg("b"),
+ assert_that(p.cargo("run").arg("--").arg("a").arg("--").arg("b"),
execs().with_status(0));
}
@@ -706,10 +729,11 @@ fn run_from_executable_folder() {
"#)
.file("src/main.rs", r#"
fn main() { println!("hello"); }
- "#);
+ "#)
+ .build();
let cwd = p.root().join("target").join("debug");
- p.cargo_process("build").exec_with_output().unwrap();
+ p.cargo("build").exec_with_output().unwrap();
assert_that(p.cargo("run").cwd(cwd),
execs().with_status(0)
@@ -723,7 +747,7 @@ hello
#[test]
fn run_with_library_paths() {
- let mut p = project("foo");
+ let p = project("foo");
// Only link search directories within the target output directory are
// propagated through to dylib_path_envvar() (see #3366).
@@ -733,7 +757,8 @@ fn run_with_library_paths() {
let mut dir2 = p.target_debug_dir();
dir2.push("dir=containing=equal=signs");
- p = p.file("Cargo.toml", r#"
+ let p = p
+ .file("Cargo.toml", r#"
[project]
name = "foo"
version = "0.0.1"
@@ -753,9 +778,10 @@ fn run_with_library_paths() {
assert!(paths.contains(&r#"{}"#.into()));
assert!(paths.contains(&r#"{}"#.into()));
}}
- "##, dylib_path_envvar(), dir1.display(), dir2.display()));
+ "##, dylib_path_envvar(), dir1.display(), dir2.display()))
+ .build();
- assert_that(p.cargo_process("run"), execs().with_status(0));
+ assert_that(p.cargo("run"), execs().with_status(0));
}
#[test]
@@ -771,9 +797,10 @@ fn fail_no_extra_verbose() {
fn main() {
std::process::exit(1);
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("run").arg("-q"),
+ assert_that(p.cargo("run").arg("-q"),
execs().with_status(1)
.with_stdout("")
.with_stderr(""));
@@ -826,9 +853,8 @@ fn run_multiple_packages() {
version = "0.0.1"
authors = []
"#)
- .file("d3/src/main.rs", "fn main() { println!(\"d2\"); }");
-
- let p = p.build();
+ .file("d3/src/main.rs", "fn main() { println!(\"d2\"); }")
+ .build();
let cargo = || {
let mut process_builder = p.cargo("run");
diff --git a/tests/rustc.rs b/tests/rustc.rs
index 5cec7bc3c80..da6aced7598 100644
--- a/tests/rustc.rs
+++ b/tests/rustc.rs
@@ -20,9 +20,10 @@ fn build_lib_for_foo() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("--lib").arg("-v"),
+ assert_that(p.cargo("rustc").arg("--lib").arg("-v"),
execs()
.with_status(0)
.with_stderr(format!("\
@@ -48,9 +49,10 @@ fn lib() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("--lib").arg("-v")
+ assert_that(p.cargo("rustc").arg("--lib").arg("-v")
.arg("--").arg("-C").arg("debug-assertions=off"),
execs()
.with_status(0)
@@ -78,9 +80,10 @@ fn build_main_and_allow_unstable_options() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("-v").arg("--bin").arg("foo")
+ assert_that(p.cargo("rustc").arg("-v").arg("--bin").arg("foo")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(0)
@@ -116,9 +119,10 @@ fn fails_when_trying_to_build_main_and_lib_with_args() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("-v")
+ assert_that(p.cargo("rustc").arg("-v")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(101)
@@ -143,9 +147,10 @@ fn build_with_args_to_one_of_multiple_binaries() {
.file("src/bin/baz.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("-v").arg("--bin").arg("bar")
+ assert_that(p.cargo("rustc").arg("-v").arg("--bin").arg("bar")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(0)
@@ -178,9 +183,10 @@ fn fails_with_args_to_all_binaries() {
.file("src/bin/baz.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("-v")
+ assert_that(p.cargo("rustc").arg("-v")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(101)
@@ -199,9 +205,10 @@ fn build_with_args_to_one_of_multiple_tests() {
.file("tests/foo.rs", r#" "#)
.file("tests/bar.rs", r#" "#)
.file("tests/baz.rs", r#" "#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustc").arg("-v").arg("--test").arg("bar")
+ assert_that(p.cargo("rustc").arg("-v").arg("--test").arg("bar")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(0)
@@ -233,8 +240,9 @@ fn build_foo_with_bar_dependency() {
fn main() {
bar::baz()
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -243,10 +251,10 @@ fn build_foo_with_bar_dependency() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustc").arg("-v").arg("--").arg("-C").arg("debug-assertions"),
+ assert_that(foo.cargo("rustc").arg("-v").arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(0)
.with_stderr(format!("\
@@ -275,8 +283,9 @@ fn build_only_bar_dependency() {
fn main() {
bar::baz()
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -285,10 +294,10 @@ fn build_only_bar_dependency() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustc").arg("-v").arg("-p").arg("bar")
+ assert_that(foo.cargo("rustc").arg("-v").arg("-p").arg("bar")
.arg("--").arg("-C").arg("debug-assertions"),
execs()
.with_status(0)
@@ -316,10 +325,10 @@ fn fail_with_multiple_packages() {
"#)
.file("src/main.rs", r#"
fn main() {}
- "#);
- foo.build();
+ "#)
+ .build();
- let bar = project("bar")
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -330,10 +339,10 @@ fn fail_with_multiple_packages() {
fn main() {
if cfg!(flag = "1") { println!("Yeah from bar!"); }
}
- "#);
- bar.build();
+ "#)
+ .build();
- let baz = project("baz")
+ let _baz = project("baz")
.file("Cargo.toml", r#"
[package]
name = "baz"
@@ -344,8 +353,8 @@ fn fail_with_multiple_packages() {
fn main() {
if cfg!(flag = "1") { println!("Yeah from baz!"); }
}
- "#);
- baz.build();
+ "#)
+ .build();
assert_that(foo.cargo("rustc").arg("-v").arg("-p").arg("bar")
.arg("-p").arg("baz"),
@@ -358,7 +367,7 @@ Usage:
#[test]
fn rustc_with_other_profile() {
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -380,9 +389,9 @@ fn rustc_with_other_profile() {
version = "0.1.0"
authors = []
"#)
- .file("a/src/lib.rs", "");
- foo.build();
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(foo.cargo("rustc").arg("--profile").arg("test"),
+ assert_that(p.cargo("rustc").arg("--profile").arg("test"),
execs().with_status(0));
}
diff --git a/tests/rustdoc.rs b/tests/rustdoc.rs
index ad4bc826e87..371937ccb01 100644
--- a/tests/rustdoc.rs
+++ b/tests/rustdoc.rs
@@ -13,9 +13,10 @@ fn rustdoc_simple() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustdoc").arg("-v"),
+ assert_that(p.cargo("rustdoc").arg("-v"),
execs()
.with_status(0)
.with_stderr(format!("\
@@ -36,9 +37,10 @@ fn rustdoc_args() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustdoc").arg("-v").arg("--").arg("--cfg=foo"),
+ assert_that(p.cargo("rustdoc").arg("-v").arg("--").arg("--cfg=foo"),
execs()
.with_status(0)
.with_stderr(format!("\
@@ -68,8 +70,9 @@ fn rustdoc_foo_with_bar_dependency() {
.file("src/lib.rs", r#"
extern crate bar;
pub fn foo() {}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -78,10 +81,10 @@ fn rustdoc_foo_with_bar_dependency() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustdoc").arg("-v").arg("--").arg("--cfg=foo"),
+ assert_that(foo.cargo("rustdoc").arg("-v").arg("--").arg("--cfg=foo"),
execs()
.with_status(0)
.with_stderr(format!("\
@@ -114,8 +117,9 @@ fn rustdoc_only_bar_dependency() {
fn main() {
bar::baz()
}
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -124,10 +128,10 @@ fn rustdoc_only_bar_dependency() {
"#)
.file("src/lib.rs", r#"
pub fn baz() {}
- "#);
- bar.build();
+ "#)
+ .build();
- assert_that(foo.cargo_process("rustdoc").arg("-v").arg("-p").arg("bar")
+ assert_that(foo.cargo("rustdoc").arg("-v").arg("-p").arg("bar")
.arg("--").arg("--cfg=foo"),
execs()
.with_status(0)
@@ -154,9 +158,10 @@ fn rustdoc_same_name_err() {
.file("src/main.rs", r#"
fn main() {}
"#)
- .file("src/lib.rs", r#" "#);
+ .file("src/lib.rs", r#" "#)
+ .build();
- assert_that(p.cargo_process("rustdoc").arg("-v")
+ assert_that(p.cargo("rustdoc").arg("-v")
.arg("--").arg("--cfg=foo"),
execs()
.with_status(101)
diff --git a/tests/rustdocflags.rs b/tests/rustdocflags.rs
index dd6c7f9703c..e1385d3e6aa 100644
--- a/tests/rustdocflags.rs
+++ b/tests/rustdocflags.rs
@@ -13,8 +13,8 @@ fn parses_env() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("doc").env("RUSTDOCFLAGS", "--cfg=foo").arg("-v"),
execs().with_status(0)
@@ -36,8 +36,8 @@ fn parses_config() {
.file(".cargo/config", r#"
[build]
rustdocflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("doc").arg("-v"),
execs().with_status(0)
@@ -55,8 +55,8 @@ fn bad_flags() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("doc").env("RUSTDOCFLAGS", "--bogus"),
execs().with_status(101));
@@ -71,8 +71,8 @@ fn rerun() {
version = "0.0.1"
authors = []
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("doc").env("RUSTDOCFLAGS", "--cfg=foo"),
execs().with_status(0));
diff --git a/tests/rustflags.rs b/tests/rustflags.rs
index 9b319b47821..144dad5c2d6 100644
--- a/tests/rustflags.rs
+++ b/tests/rustflags.rs
@@ -23,8 +23,8 @@ fn env_rustflags_normal_source() {
.file("benches/d.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run1(_ben: &mut test::Bencher) { }"#);
- p.build();
+ #[bench] fn run1(_ben: &mut test::Bencher) { }"#)
+ .build();
// Use RUSTFLAGS to pass an argument that will generate an error
assert_that(p.cargo("build").env("RUSTFLAGS", "-Z bogus")
@@ -59,8 +59,8 @@ fn env_rustflags_build_script() {
fn main() { }
#[cfg(not(foo))]
fn main() { }
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -84,8 +84,9 @@ fn env_rustflags_build_script_dep() {
.file("src/lib.rs", "")
.file("build.rs", r#"
fn main() { }
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -95,9 +96,8 @@ fn env_rustflags_build_script_dep() {
fn bar() { }
#[cfg(not(foo))]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -122,8 +122,8 @@ fn env_rustflags_plugin() {
fn main() { }
#[cfg(not(foo))]
fn main() { }
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -149,8 +149,9 @@ fn env_rustflags_plugin_dep() {
"#)
.file("src/lib.rs", r#"
fn foo() { }
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -163,9 +164,8 @@ fn env_rustflags_plugin_dep() {
fn bar() { }
#[cfg(not(foo))]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -186,8 +186,8 @@ fn env_rustflags_normal_source_with_target() {
.file("benches/d.rs", r#"
#![feature(test)]
extern crate test;
- #[bench] fn run1(_ben: &mut test::Bencher) { }"#);
- p.build();
+ #[bench] fn run1(_ben: &mut test::Bencher) { }"#)
+ .build();
let host = &rustc_host();
@@ -226,8 +226,8 @@ fn env_rustflags_build_script_with_target() {
fn main() { }
#[cfg(foo)]
fn main() { }
- "#);
- p.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo")
@@ -253,8 +253,9 @@ fn env_rustflags_build_script_dep_with_target() {
.file("src/lib.rs", "")
.file("build.rs", r#"
fn main() { }
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -264,9 +265,8 @@ fn env_rustflags_build_script_dep_with_target() {
fn bar() { }
#[cfg(foo)]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(foo.cargo("build").env("RUSTFLAGS", "--cfg foo")
@@ -293,8 +293,8 @@ fn env_rustflags_plugin_with_target() {
fn main() { }
#[cfg(foo)]
fn main() { }
- "#);
- p.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo")
@@ -322,8 +322,9 @@ fn env_rustflags_plugin_dep_with_target() {
"#)
.file("src/lib.rs", r#"
fn foo() { }
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -336,9 +337,8 @@ fn env_rustflags_plugin_dep_with_target() {
fn bar() { }
#[cfg(foo)]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(foo.cargo("build").env("RUSTFLAGS", "--cfg foo")
@@ -354,8 +354,8 @@ fn env_rustflags_recompile() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -372,8 +372,8 @@ fn env_rustflags_recompile2() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -390,8 +390,8 @@ fn env_rustflags_no_recompile() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -418,8 +418,8 @@ fn build_rustflags_normal_source() {
.file(".cargo/config", r#"
[build]
rustflags = ["-Z", "bogus"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build")
.arg("--lib"),
@@ -457,8 +457,8 @@ fn build_rustflags_build_script() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -486,8 +486,9 @@ fn build_rustflags_build_script_dep() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -497,9 +498,8 @@ fn build_rustflags_build_script_dep() {
fn bar() { }
#[cfg(not(foo))]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("build"),
execs().with_status(0));
@@ -528,8 +528,8 @@ fn build_rustflags_plugin() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -559,8 +559,9 @@ fn build_rustflags_plugin_dep() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -573,9 +574,8 @@ fn build_rustflags_plugin_dep() {
fn bar() { }
#[cfg(not(foo))]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
assert_that(foo.cargo("build"),
execs().with_status(0));
@@ -600,8 +600,8 @@ fn build_rustflags_normal_source_with_target() {
.file(".cargo/config", r#"
[build]
rustflags = ["-Z", "bogus"]
- "#);
- p.build();
+ "#)
+ .build();
let ref host = rustc_host();
@@ -644,8 +644,8 @@ fn build_rustflags_build_script_with_target() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(p.cargo("build")
@@ -675,8 +675,9 @@ fn build_rustflags_build_script_dep_with_target() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -686,9 +687,8 @@ fn build_rustflags_build_script_dep_with_target() {
fn bar() { }
#[cfg(foo)]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(foo.cargo("build")
@@ -719,8 +719,8 @@ fn build_rustflags_plugin_with_target() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(p.cargo("build")
@@ -752,8 +752,9 @@ fn build_rustflags_plugin_dep_with_target() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- let bar = project("bar")
+ "#)
+ .build();
+ let _bar = project("bar")
.file("Cargo.toml", r#"
[package]
name = "bar"
@@ -766,9 +767,8 @@ fn build_rustflags_plugin_dep_with_target() {
fn bar() { }
#[cfg(foo)]
fn bar() { }
- "#);
- foo.build();
- bar.build();
+ "#)
+ .build();
let host = rustc_host();
assert_that(foo.cargo("build")
@@ -784,8 +784,8 @@ fn build_rustflags_recompile() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -812,8 +812,8 @@ fn build_rustflags_recompile2() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -844,8 +844,8 @@ fn build_rustflags_no_recompile() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p.build();
+ "#)
+ .build();
assert_that(p.cargo("build").env("RUSTFLAGS", "--cfg foo"),
execs().with_status(0));
@@ -872,8 +872,8 @@ fn build_rustflags_with_home_config() {
name = "foo"
version = "0.0.1"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
@@ -898,8 +898,8 @@ fn target_rustflags_normal_source() {
.file(".cargo/config", &format!("
[target.{}]
rustflags = [\"-Z\", \"bogus\"]
- ", rustc_host()));
- p.build();
+ ", rustc_host()))
+ .build();
assert_that(p.cargo("build")
.arg("--lib"),
@@ -932,8 +932,8 @@ fn target_rustflags_precedence() {
[target.{}]
rustflags = [\"-Z\", \"bogus\"]
- ", rustc_host()));
- p.build();
+ ", rustc_host()))
+ .build();
assert_that(p.cargo("build")
.arg("--lib"),
@@ -965,9 +965,9 @@ fn cfg_rustflags_normal_source() {
.file(".cargo/config", &format!(r#"
[target.'cfg({})']
rustflags = ["--cfg", "bar"]
- "#, if rustc_host().contains("-windows-") {"windows"} else {"not(windows)"}));
- p.build();
-
+ "#, if rustc_host().contains("-windows-") {"windows"} else {"not(windows)"}))
+ .build();
+
assert_that(p.cargo("build").arg("--lib").arg("-v"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.0.1 ([..])
@@ -1028,8 +1028,8 @@ fn cfg_rustflags_precedence() {
[target.'cfg({})']
rustflags = ["--cfg", "bar"]
- "#, if rustc_host().contains("-windows-") { "windows" } else { "not(windows)" }));
- p.build();
+ "#, if rustc_host().contains("-windows-") { "windows" } else { "not(windows)" }))
+ .build();
assert_that(p.cargo("build").arg("--lib").arg("-v"),
execs().with_status(0).with_stderr("\
@@ -1084,8 +1084,8 @@ fn target_rustflags_string_and_array_form1() {
.file(".cargo/config", r#"
[build]
rustflags = ["--cfg", "foo"]
- "#);
- p1.build();
+ "#)
+ .build();
assert_that(p1.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
@@ -1104,8 +1104,8 @@ fn target_rustflags_string_and_array_form1() {
.file(".cargo/config", r#"
[build]
rustflags = "--cfg foo"
- "#);
- p2.build();
+ "#)
+ .build();
assert_that(p2.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
@@ -1128,8 +1128,8 @@ fn target_rustflags_string_and_array_form2() {
[target.{}]
rustflags = ["--cfg", "foo"]
"#, rustc_host()))
- .file("src/lib.rs", "");
- p1.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p1.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
@@ -1148,8 +1148,8 @@ fn target_rustflags_string_and_array_form2() {
[target.{}]
rustflags = "--cfg foo"
"#, rustc_host()))
- .file("src/lib.rs", "");
- p2.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p2.cargo("build").arg("-v"),
execs().with_status(0).with_stderr("\
diff --git a/tests/search.rs b/tests/search.rs
index 7ea7103ad8f..9410ce7e72d 100644
--- a/tests/search.rs
+++ b/tests/search.rs
@@ -24,7 +24,7 @@ fn setup() {
fs::create_dir_all(config.parent().unwrap()).unwrap();
fs::create_dir_all(&api_path().join("api/v1")).unwrap();
- repo(®istry_path())
+ let _ = repo(®istry_path())
.file("config.json", &format!(r#"{{
"dl": "{0}",
"api": "{0}"
diff --git a/tests/small-fd-limits.rs b/tests/small-fd-limits.rs
index f4d2943dbd6..e997f76fd89 100644
--- a/tests/small-fd-limits.rs
+++ b/tests/small-fd-limits.rs
@@ -34,10 +34,11 @@ fn run_test(path_env: Option<&OsStr>) {
[dependencies]
bar = "*"
"#)
- .file("src/lib.rs", "");
+ .file("src/lib.rs", "")
+ .build();
Package::new("bar", "0.1.0").publish();
- assert_that(foo.cargo_process("build"),
+ assert_that(foo.cargo("build"),
execs().with_status(0));
let index = find_index();
diff --git a/tests/test.rs b/tests/test.rs
index 47878a43320..9f48164f353 100644
--- a/tests/test.rs
+++ b/tests/test.rs
@@ -29,9 +29,10 @@ fn cargo_test_simple() {
#[test]
fn test_hello() {
assert_eq!(hello(), "hello")
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -76,9 +77,10 @@ fn cargo_test_release() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "pub fn bar() {}");
+ .file("bar/src/lib.rs", "pub fn bar() {}")
+ .build();
- assert_that(p.cargo_process("test").arg("-v").arg("--release"),
+ assert_that(p.cargo("test").arg("-v").arg("--release"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
[RUNNING] [..] -C opt-level=3 [..]
@@ -120,9 +122,10 @@ fn cargo_test_overflow_checks() {
[1, i32::max_value()].iter().sum::();
});
assert!(r.is_err());
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build").arg("--release"),
+ assert_that(p.cargo("build").arg("--release"),
execs().with_status(0));
assert_that(&p.release_bin("foo"), existing_file());
@@ -137,9 +140,10 @@ fn cargo_test_verbose() {
.file("src/main.rs", r#"
fn main() {}
#[test] fn test_hello() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v").arg("hello"),
+ assert_that(p.cargo("test").arg("-v").arg("hello"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.5.0 ({url})
[RUNNING] `rustc [..] src[/]main.rs [..]`
@@ -169,9 +173,10 @@ fn many_similar_names() {
.file("tests/foo.rs", r#"
extern crate foo;
#[test] fn test_test() { foo::foo() }
- "#);
+ "#)
+ .build();
- let output = p.cargo_process("test").arg("-v").exec_with_output().unwrap();
+ let output = p.cargo("test").arg("-v").exec_with_output().unwrap();
let output = str::from_utf8(&output.stdout).unwrap();
assert!(output.contains("test bin_test"), "bin_test missing\n{}", output);
assert!(output.contains("test lib_test"), "lib_test missing\n{}", output);
@@ -194,9 +199,10 @@ fn cargo_test_failing_test_in_bin() {
#[test]
fn test_hello() {
assert_eq!(hello(), "nope")
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -239,9 +245,10 @@ fn cargo_test_failing_test_in_test() {
#[test]
fn test_hello() {
assert!(false)
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
assert_that(process(&p.bin("foo")),
@@ -280,9 +287,10 @@ fn cargo_test_failing_test_in_lib() {
#[test]
fn test_hello() {
assert!(false)
- }"#);
+ }"#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_stderr(format!("\
[COMPILING] foo v0.5.0 ({url})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -338,9 +346,10 @@ fn test_with_lib_dep() {
#[test]
fn bin_test() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -376,8 +385,9 @@ fn test_with_deep_lib_dep() {
fn bar_test() {
foo::foo();
}
- ");
- let p2 = project("foo")
+ ")
+ .build();
+ let _p2 = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -389,10 +399,10 @@ fn test_with_deep_lib_dep() {
#[test]
fn foo_test() {}
- ");
+ ")
+ .build();
- p2.build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ([..])
@@ -428,9 +438,10 @@ fn external_test_explicit() {
#[test]
fn external_test() { assert_eq!(foo::get_hello(), "Hello") }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -458,9 +469,10 @@ fn external_test_named_test() {
.file("tests/test.rs", r#"
#[test]
fn foo() { }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0))
}
@@ -484,9 +496,10 @@ fn external_test_implicit() {
#[test]
fn external_test() { assert_eq!(foo::get_hello(), "Hello") }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -511,8 +524,9 @@ fn dont_run_examples() {
"#)
.file("examples/dont-run-me-i-will-fail.rs", r#"
fn main() { panic!("Examples should not be run by 'cargo test'"); }
- "#);
- assert_that(p.cargo_process("test"),
+ "#)
+ .build();
+ assert_that(p.cargo("test"),
execs().with_status(0));
}
@@ -528,9 +542,10 @@ fn pass_through_command_line() {
.file("src/lib.rs", "
#[test] fn foo() {}
#[test] fn bar() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test").arg("bar"),
+ assert_that(p.cargo("test").arg("bar"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -561,9 +576,10 @@ fn cargo_test_twice() {
#[test]
fn dummy_test() { }
- "#);
+ "#)
+ .build();
- p.cargo_process("build");
+ p.cargo("build");
for _ in 0..2 {
assert_that(p.cargo("test"),
@@ -594,9 +610,10 @@ fn lib_bin_same_name() {
#[test]
fn bin_test() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr(format!("\
[COMPILING] foo v0.0.1 ({})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -630,9 +647,10 @@ fn lib_with_standard_name() {
#[test]
fn test() { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -669,9 +687,10 @@ fn lib_with_standard_name2() {
#[test]
fn test() { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -703,9 +722,10 @@ fn lib_without_name() {
#[test]
fn test() { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] syntax v0.0.1 ({dir})
@@ -740,9 +760,10 @@ fn bin_without_name() {
#[test]
fn test() { syntax::foo() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -785,9 +806,10 @@ fn bench_without_name() {
#[bench]
fn external_bench(_b: &mut test::Bencher) {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -829,9 +851,10 @@ fn test_without_name() {
#[test]
fn external_test() { assert_eq!(syntax::get_hello(), "Hello") }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -873,9 +896,10 @@ fn example_without_name() {
fn main() {
println!("example1");
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(101)
.with_stderr("\
[ERROR] failed to parse manifest at `[..]`
@@ -904,9 +928,10 @@ fn bin_there_for_integration() {
let status = Command::new("target/debug/foo").status().unwrap();
assert_eq!(status.code(), Some(101));
}
- "#);
+ "#)
+ .build();
- let output = p.cargo_process("test").arg("-v").exec_with_output().unwrap();
+ let output = p.cargo("test").arg("-v").exec_with_output().unwrap();
let output = str::from_utf8(&output.stdout).unwrap();
assert!(output.contains("main_test ... ok"), "no main_test\n{}", output);
assert!(output.contains("test_test ... ok"), "no test_test\n{}", output);
@@ -954,9 +979,10 @@ fn test_dylib() {
"#)
.file("bar/src/lib.rs", "
pub fn baz() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] bar v0.0.1 ({dir}/bar)
@@ -990,9 +1016,10 @@ fn test_twice_with_build_cmd() {
.file("src/lib.rs", "
#[test]
fn foo() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1024,9 +1051,10 @@ fn test_then_build() {
.file("src/lib.rs", "
#[test]
fn foo() {}
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1053,9 +1081,10 @@ fn test_no_run() {
.file("src/lib.rs", "
#[test]
fn foo() { panic!() }
- ");
+ ")
+ .build();
- assert_that(p.cargo_process("test").arg("--no-run"),
+ assert_that(p.cargo("test").arg("--no-run"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1082,9 +1111,10 @@ fn test_run_specific_bin_target() {
path="src/bin2.rs"
"#)
.file("src/bin1.rs", "#[test] fn test1() { }")
- .file("src/bin2.rs", "#[test] fn test2() { }");
+ .file("src/bin2.rs", "#[test] fn test2() { }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--bin").arg("bin2"),
+ assert_that(prj.cargo("test").arg("--bin").arg("bin2"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1111,9 +1141,10 @@ fn test_run_implicit_bin_target() {
.file("tests/mytest.rs", "#[test] fn test_in_test() { }")
.file("benches/mybench.rs", "#[test] fn test_in_bench() { }")
.file("examples/myexm.rs", "#[test] fn test_in_exm() { }
- fn main() { panic!(\"Don't execute me!\"); }");
+ fn main() { panic!(\"Don't execute me!\"); }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--bins"),
+ assert_that(prj.cargo("test").arg("--bins"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1134,9 +1165,10 @@ fn test_run_specific_test_target() {
.file("src/bin/a.rs", "fn main() { }")
.file("src/bin/b.rs", "#[test] fn test_b() { } fn main() { }")
.file("tests/a.rs", "#[test] fn test_a() { }")
- .file("tests/b.rs", "#[test] fn test_b() { }");
+ .file("tests/b.rs", "#[test] fn test_b() { }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--test").arg("b"),
+ assert_that(prj.cargo("test").arg("--test").arg("b"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1163,9 +1195,10 @@ fn test_run_implicit_test_target() {
.file("tests/mytest.rs", "#[test] fn test_in_test() { }")
.file("benches/mybench.rs", "#[test] fn test_in_bench() { }")
.file("examples/myexm.rs", "#[test] fn test_in_exm() { }
- fn main() { panic!(\"Don't execute me!\"); }");
+ fn main() { panic!(\"Don't execute me!\"); }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--tests"),
+ assert_that(prj.cargo("test").arg("--tests"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1192,9 +1225,10 @@ fn test_run_implicit_bench_target() {
.file("tests/mytest.rs", "#[test] fn test_in_test() { }")
.file("benches/mybench.rs", "#[test] fn test_in_bench() { }")
.file("examples/myexm.rs", "#[test] fn test_in_exm() { }
- fn main() { panic!(\"Don't execute me!\"); }");
+ fn main() { panic!(\"Don't execute me!\"); }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--benches"),
+ assert_that(prj.cargo("test").arg("--benches"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1221,9 +1255,10 @@ fn test_run_implicit_example_target() {
.file("tests/mytest.rs", "#[test] fn test_in_test() { }")
.file("benches/mybench.rs", "#[test] fn test_in_bench() { }")
.file("examples/myexm.rs", "#[test] fn test_in_exm() { }
- fn main() { panic!(\"Don't execute me!\"); }");
+ fn main() { panic!(\"Don't execute me!\"); }")
+ .build();
- assert_that(prj.cargo_process("test").arg("--examples"),
+ assert_that(prj.cargo("test").arg("--examples"),
execs().with_status(0)
.with_stderr(format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1249,9 +1284,10 @@ fn test_no_harness() {
harness = false
"#)
.file("src/main.rs", "fn main() {}")
- .file("foo.rs", "fn main() {}");
+ .file("foo.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("test").arg("--").arg("--nocapture"),
+ assert_that(p.cargo("test").arg("--").arg("--nocapture"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1304,7 +1340,7 @@ fn selective_testing() {
"#)
.file("d2/src/lib.rs", "")
.file("d2/src/main.rs", "#[allow(unused_extern_crates)] extern crate d2; fn main() {}");
- p.build();
+ let p = p.build();
println!("d1");
assert_that(p.cargo("test").arg("-p").arg("d1"),
@@ -1373,9 +1409,10 @@ fn almost_cyclic_but_not_quite() {
version = "0.0.1"
authors = []
"#)
- .file("c/src/lib.rs", "");
+ .file("c/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
assert_that(p.cargo("test"),
execs().with_status(0));
}
@@ -1406,9 +1443,10 @@ fn build_then_selective_test() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("build"), execs().with_status(0));
+ assert_that(p.cargo("build"), execs().with_status(0));
p.root().move_into_the_past();
assert_that(p.cargo("test").arg("-p").arg("b"),
execs().with_status(0));
@@ -1452,8 +1490,9 @@ fn example_dev_dep() {
pub fn bar() {
f8!();
}
- "#);
- assert_that(p.cargo_process("test"),
+ "#)
+ .build();
+ assert_that(p.cargo("test"),
execs().with_status(0));
assert_that(p.cargo("run")
.arg("--example").arg("e1").arg("--release").arg("-v"),
@@ -1489,7 +1528,7 @@ fn selective_testing_with_docs() {
path = "d1.rs"
"#)
.file("d1/d1.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("-p").arg("d1"),
execs().with_status(0)
@@ -1511,9 +1550,10 @@ fn example_bin_same_name() {
authors = []
"#)
.file("src/bin/foo.rs", r#"fn main() { println!("bin"); }"#)
- .file("examples/foo.rs", r#"fn main() { println!("example"); }"#);
+ .file("examples/foo.rs", r#"fn main() { println!("example"); }"#)
+ .build();
- assert_that(p.cargo_process("test").arg("--no-run").arg("-v"),
+ assert_that(p.cargo("test").arg("--no-run").arg("-v"),
execs().with_status(0)
.with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({dir})
@@ -1550,10 +1590,11 @@ fn test_with_example_twice() {
authors = []
"#)
.file("src/bin/foo.rs", r#"fn main() { println!("bin"); }"#)
- .file("examples/foo.rs", r#"fn main() { println!("example"); }"#);
+ .file("examples/foo.rs", r#"fn main() { println!("example"); }"#)
+ .build();
println!("first");
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
assert_that(&p.bin("examples/foo"), existing_file());
println!("second");
@@ -1587,9 +1628,10 @@ fn example_with_dev_dep() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0)
.with_stderr("\
[..]
@@ -1611,9 +1653,10 @@ fn bin_is_preserved() {
authors = []
"#)
.file("src/lib.rs", "")
- .file("src/main.rs", "fn main() {}");
+ .file("src/main.rs", "fn main() {}")
+ .build();
- assert_that(p.cargo_process("build").arg("-v"),
+ assert_that(p.cargo("build").arg("-v"),
execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -1633,7 +1676,7 @@ fn bad_example() {
authors = []
"#)
.file("src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("run").arg("--example").arg("foo"),
execs().with_status(101).with_stderr("\
@@ -1662,9 +1705,10 @@ fn doctest_feature() {
/// ```
#[cfg(feature = "bar")]
pub fn foo() -> i32 { 1 }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("--features").arg("bar"),
+ assert_that(p.cargo("test").arg("--features").arg("bar"),
execs().with_status(0)
.with_stderr("\
[COMPILING] foo [..]
@@ -1689,9 +1733,10 @@ fn dashes_to_underscores() {
/// assert_eq!(foo_bar::foo(), 1);
/// ```
pub fn foo() -> i32 { 1 }
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -1719,9 +1764,10 @@ fn doctest_dev_dep() {
version = "0.0.1"
authors = []
"#)
- .file("b/src/lib.rs", "");
+ .file("b/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-v"),
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -1740,9 +1786,10 @@ fn filter_no_doc_tests() {
/// ```
pub fn foo() {}
"#)
- .file("tests/foo.rs", "");
+ .file("tests/foo.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("--test=foo"),
+ assert_that(p.cargo("test").arg("--test=foo"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.0.1 ([..])
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -1769,9 +1816,10 @@ fn dylib_doctest() {
/// foo::foo();
/// ```
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.0.1 ([..])
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
@@ -1799,9 +1847,10 @@ fn dylib_doctest2() {
/// foo::foo();
/// ```
pub fn foo() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stdout(""));
}
@@ -1834,8 +1883,9 @@ fn cyclic_dev_dep_doc_test() {
.file("bar/src/lib.rs", r#"
#[allow(unused_extern_crates)]
extern crate foo;
- "#);
- assert_that(p.cargo_process("test"),
+ "#)
+ .build();
+ assert_that(p.cargo("test"),
execs().with_status(0).with_stderr("\
[COMPILING] foo v0.0.1 ([..])
[COMPILING] bar v0.0.1 ([..])
@@ -1868,8 +1918,9 @@ fn dev_dep_with_build_script() {
build = "build.rs"
"#)
.file("bar/src/lib.rs", "")
- .file("bar/build.rs", "fn main() {}");
- assert_that(p.cargo_process("test"),
+ .file("bar/build.rs", "fn main() {}")
+ .build();
+ assert_that(p.cargo("test"),
execs().with_status(0));
}
@@ -1917,8 +1968,9 @@ fn no_fail_fast() {
fn sub_one_test() {
assert_eq!(sub_one(1), 0);
}
- "#);
- assert_that(p.cargo_process("test").arg("--no-fail-fast"),
+ "#)
+ .build();
+ assert_that(p.cargo("test").arg("--no-fail-fast"),
execs().with_status(101)
.with_stderr_contains("\
[COMPILING] foo v0.0.1 ([..])
@@ -1975,7 +2027,7 @@ fn test_multiple_packages() {
doctest = false
"#)
.file("d2/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("-p").arg("d1").arg("-p").arg("d2"),
execs().with_status(0)
@@ -1998,7 +2050,7 @@ fn bin_does_not_rebuild_tests() {
.file("src/lib.rs", "")
.file("src/main.rs", "fn main() {}")
.file("tests/foo.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
@@ -2040,7 +2092,7 @@ fn selective_test_wonky_profile() {
authors = []
"#)
.file("a/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("-v").arg("--no-run").arg("--release")
.arg("-p").arg("foo").arg("-p").arg("a"),
@@ -2067,7 +2119,7 @@ fn selective_test_optional_dep() {
authors = []
"#)
.file("a/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("-v").arg("--no-run")
.arg("--features").arg("a").arg("-p").arg("a"),
@@ -2102,7 +2154,7 @@ fn only_test_docs() {
}
"#)
.file("tests/foo.rs", "this is not rust");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").arg("--doc"),
execs().with_status(0)
@@ -2140,8 +2192,9 @@ fn test_panic_abort_with_dep() {
version = "0.0.1"
authors = []
"#)
- .file("bar/src/lib.rs", "");
- assert_that(p.cargo_process("test").arg("-v"),
+ .file("bar/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0));
}
@@ -2163,8 +2216,9 @@ fn cfg_test_even_with_no_harness() {
fn main() {
println!("hello!");
}
- "#);
- assert_that(p.cargo_process("test").arg("-v"),
+ "#)
+ .build();
+ assert_that(p.cargo("test").arg("-v"),
execs().with_status(0)
.with_stdout("hello!\n")
.with_stderr("\
@@ -2197,8 +2251,9 @@ fn panic_abort_multiple() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
- assert_that(p.cargo_process("test")
+ .file("a/src/lib.rs", "")
+ .build();
+ assert_that(p.cargo("test")
.arg("--release").arg("-v")
.arg("-p").arg("foo")
.arg("-p").arg("a"),
@@ -2272,7 +2327,7 @@ fn pass_correct_cfgs_flags_to_rustdoc() {
authors = []
"#)
.file("libs/mock_serde_codegen/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("test")
.arg("--package").arg("feature_a")
@@ -2315,7 +2370,7 @@ fn test_release_ignore_panic() {
authors = []
"#)
.file("a/src/lib.rs", "");
- p.build();
+ let p = p.build();
println!("test");
assert_that(p.cargo("test").arg("-v"), execs().with_status(0));
println!("bench");
@@ -2346,9 +2401,10 @@ fn test_many_with_features() {
version = "0.0.1"
authors = []
"#)
- .file("a/src/lib.rs", "");
+ .file("a/src/lib.rs", "")
+ .build();
- assert_that(p.cargo_process("test").arg("-v")
+ assert_that(p.cargo("test").arg("-v")
.arg("-p").arg("a")
.arg("-p").arg("foo")
.arg("--features").arg("foo"),
@@ -2380,9 +2436,10 @@ fn test_all_workspace() {
.file("bar/src/lib.rs", r#"
#[test]
fn bar_test() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test")
+ assert_that(p.cargo("test")
.arg("--all"),
execs().with_status(0)
.with_stdout_contains("test foo_test ... ok")
@@ -2422,9 +2479,10 @@ fn test_all_exclude() {
pub fn baz() {
assert!(false);
}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test")
+ assert_that(p.cargo("test")
.arg("--all")
.arg("--exclude")
.arg("baz"),
@@ -2457,9 +2515,10 @@ fn test_all_virtual_manifest() {
.file("b/src/lib.rs", r#"
#[test]
fn b() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test")
+ assert_that(p.cargo("test")
.arg("--all"),
execs().with_status(0)
.with_stdout_contains("test a ... ok")
@@ -2490,9 +2549,10 @@ fn test_virtual_manifest_all_implied() {
.file("b/src/lib.rs", r#"
#[test]
fn b() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test"),
+ assert_that(p.cargo("test"),
execs().with_status(0)
.with_stdout_contains("test a ... ok")
.with_stdout_contains("test b ... ok"));
@@ -2516,11 +2576,12 @@ fn test_all_member_dependency_same_name() {
.file("a/src/lib.rs", r#"
#[test]
fn a() {}
- "#);
+ "#)
+ .build();
Package::new("a", "0.1.0").publish();
- assert_that(p.cargo_process("test")
+ assert_that(p.cargo("test")
.arg("--all"),
execs().with_status(0)
.with_stdout_contains("test a ... ok"));
@@ -2552,9 +2613,10 @@ fn doctest_only_with_dev_dep() {
"#)
.file("b/src/lib.rs", r#"
pub fn b() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("--doc").arg("-v"),
+ assert_that(p.cargo("test").arg("--doc").arg("-v"),
execs().with_status(0));
}
@@ -2597,9 +2659,10 @@ fn test_many_targets() {
"#)
.file("tests/c.rs", r#"
does not compile
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("--verbose")
+ assert_that(p.cargo("test").arg("--verbose")
.arg("--bin").arg("a").arg("--bin").arg("b")
.arg("--example").arg("a").arg("--example").arg("b")
.arg("--test").arg("a").arg("--test").arg("b"),
@@ -2647,11 +2710,12 @@ fn doctest_and_registry() {
[dependencies]
b = "0.1"
"#)
- .file("c/src/lib.rs", "");
+ .file("c/src/lib.rs", "")
+ .build();
Package::new("b", "0.1.0").publish();
- assert_that(p.cargo_process("test").arg("--all").arg("-v"),
+ assert_that(p.cargo("test").arg("--all").arg("-v"),
execs().with_status(0));
}
@@ -2669,9 +2733,10 @@ fn cargo_test_env() {
let p = project("env_test")
.file("Cargo.toml", &basic_lib_manifest("env_test"))
- .file("src/lib.rs", &src);
+ .file("src/lib.rs", &src)
+ .build();
- let mut pr = p.cargo_process("test");
+ let mut pr = p.cargo("test");
let cargo = cargo_exe().canonicalize().unwrap();
assert_that(pr.args(&["--lib", "--", "--nocapture"]),
execs().with_status(0)
@@ -2697,9 +2762,10 @@ fn test_order() {
"#)
.file("tests/z.rs", r#"
#[test] fn test_z() {}
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("--all"),
+ assert_that(p.cargo("test").arg("--all"),
execs().with_status(0)
.with_stdout_contains("
running 1 test
@@ -2738,9 +2804,10 @@ fn cyclic_dev() {
"#)
.file("tests/foo.rs", r#"
extern crate foo;
- "#);
+ "#)
+ .build();
- assert_that(p.cargo_process("test").arg("--all"),
+ assert_that(p.cargo("test").arg("--all"),
execs().with_status(0));
}
@@ -2775,8 +2842,8 @@ fn publish_a_crate_without_tests() {
[dependencies]
testless = "0.1.0"
"#)
- .file("src/lib.rs", "");
- p.build();
+ .file("src/lib.rs", "")
+ .build();
assert_that(p.cargo("test"), execs().with_status(0));
assert_that(p.cargo("test").arg("--package").arg("testless"),
@@ -2827,13 +2894,13 @@ fn find_dependency_of_proc_macro_dependency_with_target() {
pub fn noop(_input: TokenStream) -> TokenStream {
"".parse().unwrap()
}
- "#);
+ "#)
+ .build();
Package::new("foo", "0.1.0").publish();
Package::new("bar", "0.1.0")
.dep("foo", "0.1")
.file("src/lib.rs", "extern crate foo;")
.publish();
- workspace.build();
assert_that(workspace.cargo("test").arg("--all").arg("--target").arg(rustc_host()),
execs().with_status(0));
}
@@ -2857,8 +2924,9 @@ fn test_hint_not_masked_by_doctest() {
fn this_fails() {
panic!();
}
- "#);
- assert_that(p.cargo_process("test")
+ "#)
+ .build();
+ assert_that(p.cargo("test")
.arg("--no-fail-fast"),
execs()
.with_status(101)
diff --git a/tests/tool-paths.rs b/tests/tool-paths.rs
index ef1a183d956..0d3b5d299ce 100644
--- a/tests/tool-paths.rs
+++ b/tests/tool-paths.rs
@@ -24,9 +24,10 @@ fn pathless_tools() {
[target.{}]
ar = "nonexistent-ar"
linker = "nonexistent-linker"
- "#, target));
+ "#, target))
+ .build();
- assert_that(foo.cargo_process("build").arg("--verbose"),
+ assert_that(foo.cargo("build").arg("--verbose"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc [..] -C ar=nonexistent-ar -C linker=nonexistent-linker [..]`
@@ -60,7 +61,8 @@ fn absolute_tools() {
[target.{target}]
ar = "{ar}"
linker = "{linker}"
- "#, target = target, ar = config.0, linker = config.1));
+ "#, target = target, ar = config.0, linker = config.1))
+ .build();
let output = if cfg!(windows) {
(r#"C:\bogus\nonexistent-ar"#, r#"C:\bogus\nonexistent-linker"#)
@@ -68,7 +70,7 @@ fn absolute_tools() {
(r#"/bogus/nonexistent-ar"#, r#"/bogus/nonexistent-linker"#)
};
- assert_that(foo.cargo_process("build").arg("--verbose"),
+ assert_that(foo.cargo("build").arg("--verbose"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc [..] -C ar={ar} -C linker={linker} [..]`
@@ -104,7 +106,8 @@ fn relative_tools() {
[target.{target}]
ar = "{ar}"
linker = "{linker}"
- "#, target = target, ar = config.0, linker = config.1));
+ "#, target = target, ar = config.0, linker = config.1))
+ .build();
let foo_path = origin.root().join("foo");
let foo_url = path2url(foo_path.clone());
@@ -117,7 +120,7 @@ fn relative_tools() {
format!(r#"{}/./tools/nonexistent-linker"#, prefix))
};
- assert_that(origin.cargo_process("build").cwd(foo_path).arg("--verbose"),
+ assert_that(origin.cargo("build").cwd(foo_path).arg("--verbose"),
execs().with_stderr(&format!("\
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc [..] -C ar={ar} -C linker={linker} [..]`
@@ -129,7 +132,7 @@ fn relative_tools() {
fn custom_runner() {
let target = rustc_host();
- let foo = project("foo")
+ let p = project("foo")
.file("Cargo.toml", r#"
[package]
name = "foo"
@@ -141,31 +144,30 @@ fn custom_runner() {
.file(".cargo/config", &format!(r#"
[target.{}]
runner = "nonexistent-runner -r"
- "#, target));
-
- foo.build();
+ "#, target))
+ .build();
- assert_that(foo.cargo("run").args(&["--", "--param"]),
+ assert_that(p.cargo("run").args(&["--", "--param"]),
execs().with_stderr_contains(&format!("\
[COMPILING] foo v0.0.1 ({url})
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
[RUNNING] `nonexistent-runner -r target[/]debug[/]foo[EXE] --param`
-", url = foo.url())));
+", url = p.url())));
- assert_that(foo.cargo("test").args(&["--test", "test", "--verbose", "--", "--param"]),
+ assert_that(p.cargo("test").args(&["--test", "test", "--verbose", "--", "--param"]),
execs().with_stderr_contains(&format!("\
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc [..]`
[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]
[RUNNING] `nonexistent-runner -r [..][/]target[/]debug[/]deps[/]test-[..][EXE] --param`
-", url = foo.url())));
+", url = p.url())));
- assert_that(foo.cargo("bench").args(&["--bench", "bench", "--verbose", "--", "--param"]),
+ assert_that(p.cargo("bench").args(&["--bench", "bench", "--verbose", "--", "--param"]),
execs().with_stderr_contains(&format!("\
[COMPILING] foo v0.0.1 ({url})
[RUNNING] `rustc [..]`
[RUNNING] `rustc [..]`
[FINISHED] release [optimized] target(s) in [..]
[RUNNING] `nonexistent-runner -r [..][/]target[/]release[/]deps[/]bench-[..][EXE] --param --bench`
-", url = foo.url())));
+", url = p.url())));
}
diff --git a/tests/verify-project.rs b/tests/verify-project.rs
index 7e76ae04d59..509367ad8c8 100644
--- a/tests/verify-project.rs
+++ b/tests/verify-project.rs
@@ -12,9 +12,10 @@ fn verify_project_success_output() -> String {
fn cargo_verify_project_path_to_cargo_toml_relative() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg("foo/Cargo.toml")
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -25,9 +26,10 @@ fn cargo_verify_project_path_to_cargo_toml_relative() {
fn cargo_verify_project_path_to_cargo_toml_absolute() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.arg("--manifest-path").arg(p.root().join("Cargo.toml"))
.cwd(p.root().parent().unwrap()),
execs().with_status(0)
@@ -38,9 +40,10 @@ fn cargo_verify_project_path_to_cargo_toml_absolute() {
fn cargo_verify_project_cwd() {
let p = project("foo")
.file("Cargo.toml", &basic_bin_manifest("foo"))
- .file("src/foo.rs", &main_file(r#""i am foo""#, &[]));
+ .file("src/foo.rs", &main_file(r#""i am foo""#, &[]))
+ .build();
- assert_that(p.cargo_process("verify-project")
+ assert_that(p.cargo("verify-project")
.cwd(p.root()),
execs().with_status(0)
.with_stdout(verify_project_success_output()));
diff --git a/tests/version.rs b/tests/version.rs
index 57844c90a7c..a63d8700bd4 100644
--- a/tests/version.rs
+++ b/tests/version.rs
@@ -7,8 +7,7 @@ use hamcrest::assert_that;
#[test]
fn simple() {
- let p = project("foo");
- p.build();
+ let p = project("foo").build();
assert_that(p.cargo("version"),
execs().with_status(0).with_stdout(&format!("{}\n",
@@ -24,16 +23,17 @@ fn simple() {
#[test]
#[cfg_attr(target_os = "windows", ignore)]
fn version_works_without_rustc() {
- let p = project("foo");
- assert_that(p.cargo_process("version").env("PATH", ""),
+ let p = project("foo").build();
+ assert_that(p.cargo("version").env("PATH", ""),
execs().with_status(0));
}
#[test]
fn version_works_with_bad_config() {
let p = project("foo")
- .file(".cargo/config", "this is not toml");
- assert_that(p.cargo_process("version"),
+ .file(".cargo/config", "this is not toml")
+ .build();
+ assert_that(p.cargo("version"),
execs().with_status(0));
}
@@ -43,7 +43,8 @@ fn version_works_with_bad_target_dir() {
.file(".cargo/config", r#"
[build]
target-dir = 4
- "#);
- assert_that(p.cargo_process("version"),
+ "#)
+ .build();
+ assert_that(p.cargo("version"),
execs().with_status(0));
}
diff --git a/tests/warn-on-failure.rs b/tests/warn-on-failure.rs
index c3370814f35..bbd418df609 100644
--- a/tests/warn-on-failure.rs
+++ b/tests/warn-on-failure.rs
@@ -1,7 +1,7 @@
extern crate cargotest;
extern crate hamcrest;
-use cargotest::support::{project, execs, ProjectBuilder};
+use cargotest::support::{project, execs, Project};
use cargotest::support::registry::Package;
use hamcrest::assert_that;
@@ -30,7 +30,7 @@ fn make_lib(lib_src: &str) {
.publish();
}
-fn make_upstream(main_src: &str) -> ProjectBuilder {
+fn make_upstream(main_src: &str) -> Project {
project("bar")
.file("Cargo.toml", r#"
[package]
@@ -42,13 +42,14 @@ fn make_upstream(main_src: &str) -> ProjectBuilder {
foo = "*"
"#)
.file("src/main.rs", &format!("fn main() {{ {} }}", main_src))
+ .build()
}
#[test]
fn no_warning_on_success() {
make_lib("");
let upstream = make_upstream("");
- assert_that(upstream.cargo_process("build"),
+ assert_that(upstream.cargo("build"),
execs().with_status(0)
.with_stderr("\
[UPDATING] registry `[..]`
@@ -63,7 +64,7 @@ fn no_warning_on_success() {
fn no_warning_on_bin_failure() {
make_lib("");
let upstream = make_upstream("hi()");
- assert_that(upstream.cargo_process("build"),
+ assert_that(upstream.cargo("build"),
execs().with_status(101)
.with_stdout_does_not_contain("hidden stdout")
.with_stderr_does_not_contain("hidden stderr")
@@ -79,7 +80,7 @@ fn no_warning_on_bin_failure() {
fn warning_on_lib_failure() {
make_lib("err()");
let upstream = make_upstream("");
- assert_that(upstream.cargo_process("build"),
+ assert_that(upstream.cargo("build"),
execs().with_status(101)
.with_stdout_does_not_contain("hidden stdout")
.with_stderr_does_not_contain("hidden stderr")
diff --git a/tests/workspaces.rs b/tests/workspaces.rs
index 2e2dc1b32a1..29a9fb58e8f 100644
--- a/tests/workspaces.rs
+++ b/tests/workspaces.rs
@@ -31,7 +31,7 @@ fn simple_explicit() {
workspace = ".."
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -66,7 +66,7 @@ fn inferred_root() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -104,7 +104,7 @@ fn inferred_path_dep() {
"#)
.file("bar/src/main.rs", "fn main() {}")
.file("bar/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -153,7 +153,7 @@ fn transitive_path_dep() {
"#)
.file("baz/src/main.rs", "fn main() {}")
.file("baz/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -201,7 +201,7 @@ fn parent_pointer_works() {
"#)
.file("bar/src/main.rs", "fn main() {}")
.file("bar/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("foo")),
execs().with_status(0));
@@ -232,7 +232,7 @@ fn same_names_in_workspace() {
workspace = ".."
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -262,7 +262,7 @@ fn parent_doesnt_point_to_child() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("bar")),
execs().with_status(101)
@@ -286,7 +286,7 @@ fn invalid_parent_pointer() {
workspace = "foo"
"#)
.file("src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -311,7 +311,7 @@ fn invalid_members() {
members = ["foo"]
"#)
.file("src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -335,7 +335,7 @@ fn bare_workspace_ok() {
[workspace]
"#)
.file("src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
}
@@ -363,7 +363,7 @@ fn two_roots() {
members = [".."]
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -392,7 +392,7 @@ fn workspace_isnt_root() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -430,7 +430,7 @@ fn dangling_member() {
workspace = "../baz"
"#)
.file("baz/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -460,7 +460,7 @@ fn cycle() {
workspace = ".."
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101));
@@ -492,7 +492,7 @@ fn share_dependencies() {
dep1 = "< 0.1.5"
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
Package::new("dep1", "0.1.3").publish();
Package::new("dep1", "0.1.8").publish();
@@ -531,7 +531,7 @@ fn fetch_fetches_all() {
dep1 = "*"
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
Package::new("dep1", "0.1.3").publish();
@@ -569,7 +569,7 @@ fn lock_works_for_everyone() {
dep1 = "0.1"
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
Package::new("dep1", "0.1.0").publish();
Package::new("dep2", "0.1.0").publish();
@@ -616,7 +616,7 @@ fn virtual_works() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("bar")),
execs().with_status(0));
assert_that(&p.root().join("Cargo.lock"), existing_file());
@@ -638,7 +638,7 @@ fn explicit_package_argument_works_with_virtual_manifest() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root()).args(&["--package", "bar"]),
execs().with_status(0));
assert_that(&p.root().join("Cargo.lock"), existing_file());
@@ -659,7 +659,7 @@ fn virtual_misconfigure() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("bar")),
execs().with_status(101)
.with_stderr("\
@@ -686,7 +686,7 @@ fn virtual_build_all_implied() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
}
@@ -697,7 +697,7 @@ fn virtual_build_no_members() {
.file("Cargo.toml", r#"
[workspace]
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
@@ -721,7 +721,7 @@ fn include_virtual() {
.file("bar/Cargo.toml", r#"
[workspace]
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
.with_stderr("\
@@ -771,7 +771,7 @@ fn members_include_path_deps() {
authors = []
"#)
.file("p3/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("p1")),
execs().with_status(0));
@@ -800,7 +800,7 @@ fn new_warns_you_this_will_not_work() {
[workspace]
"#)
.file("src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("new").arg("--lib").arg("bar").env("USER", "foo"),
execs().with_status(0)
@@ -844,7 +844,7 @@ fn lock_doesnt_change_depending_on_crate() {
bar = "*"
"#)
.file("baz/src/lib.rs", "");
- p.build();
+ let p = p.build();
Package::new("foo", "1.0.0").publish();
Package::new("bar", "1.0.0").publish();
@@ -894,7 +894,7 @@ fn rebuild_please() {
assert_eq!(lib::foo(), 0);
}
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("run").cwd(p.root().join("bin")),
execs().with_status(0));
@@ -939,7 +939,7 @@ fn workspace_in_git() {
.file("src/lib.rs", r#"
pub fn foo() -> u32 { 0 }
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -970,7 +970,7 @@ fn lockfile_can_specify_nonexistant_members() {
version = "0.1.0"
"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("a")), execs().with_status(0));
}
@@ -988,7 +988,7 @@ fn you_cannot_generate_lockfile_for_empty_workspaces() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("update"),
execs().with_status(101)
@@ -1039,7 +1039,7 @@ fn workspace_with_transitive_dev_deps() {
authors = ["mbrubeck@example.com"]
"#)
.file("baz/src/lib.rs", r#"pub fn do_stuff() {}"#);
- p.build();
+ let p = p.build();
assert_that(p.cargo("test").args(&["-p", "bar"]),
execs().with_status(0));
@@ -1056,7 +1056,7 @@ fn error_if_parent_cargo_toml_is_invalid() {
authors = []
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("bar")),
execs().with_status(101)
@@ -1085,7 +1085,7 @@ fn relative_path_for_member_works() {
workspace = "../foo"
"#)
.file("bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("foo")), execs().with_status(0));
assert_that(p.cargo("build").cwd(p.root().join("bar")), execs().with_status(0));
@@ -1113,7 +1113,7 @@ fn relative_path_for_root_works() {
authors = []
"#)
.file("subproj/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root())
.arg("--manifest-path").arg("./Cargo.toml"),
@@ -1146,7 +1146,7 @@ fn path_dep_outside_workspace_is_not_member() {
authors = []
"#)
.file("foo/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("ws")),
execs().with_status(0));
@@ -1186,7 +1186,7 @@ fn test_in_and_out_of_workspace() {
authors = []
"#)
.file("bar/src/lib.rs", "pub fn f() { }");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("ws")),
execs().with_status(0));
@@ -1239,7 +1239,7 @@ fn test_path_dependency_under_member() {
authors = []
"#)
.file("foo/bar/src/lib.rs", "pub fn f() { }");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build").cwd(p.root().join("ws")),
execs().with_status(0));
@@ -1274,7 +1274,7 @@ fn excluded_simple() {
authors = []
"#)
.file("foo/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -1312,7 +1312,7 @@ fn exclude_members_preferred() {
authors = []
"#)
.file("foo/bar/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -1355,7 +1355,7 @@ fn exclude_but_also_depend() {
authors = []
"#)
.file("foo/bar/src/lib.rs", "");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(0));
@@ -1405,7 +1405,7 @@ fn glob_syntax() {
authors = []
"#)
.file("crates/qux/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"), execs().with_status(0));
assert_that(&p.bin("foo"), existing_file());
@@ -1446,7 +1446,7 @@ fn glob_syntax_invalid_members() {
"#)
.file("src/main.rs", "fn main() {}")
.file("crates/bar/src/main.rs", "fn main() {}");
- p.build();
+ let p = p.build();
assert_that(p.cargo("build"),
execs().with_status(101)
@@ -1506,7 +1506,7 @@ fn dep_used_with_separate_features() {
"#)
.file("caller2/src/main.rs", "fn main() {}")
.file("caller2/src/lib.rs", "");
- p.build();
+ let p = p.build();
// Build the entire workspace
assert_that(p.cargo("build").arg("--all"),