|
| 1 | +//! Tests for the `cargo build` command. |
| 2 | +
|
1 | 3 | use cargo::util::paths::dylib_path_envvar; |
2 | 4 | use cargo_test_support::paths::{root, CargoPathExt}; |
3 | 5 | use cargo_test_support::registry::Package; |
|
4607 | 4609 | ) |
4608 | 4610 | .run(); |
4609 | 4611 | } |
| 4612 | + |
| 4613 | +#[cargo_test] |
| 4614 | +fn build_lib_only() { |
| 4615 | + let p = project() |
| 4616 | + .file("src/main.rs", "fn main() {}") |
| 4617 | + .file("src/lib.rs", r#" "#) |
| 4618 | + .build(); |
| 4619 | + |
| 4620 | + p.cargo("build --lib -v") |
| 4621 | + .with_stderr( |
| 4622 | + "\ |
| 4623 | +[COMPILING] foo v0.0.1 ([CWD]) |
| 4624 | +[RUNNING] `rustc --crate-name foo src/lib.rs [..]--crate-type lib \ |
| 4625 | + --emit=[..]link -C debuginfo=2 \ |
| 4626 | + -C metadata=[..] \ |
| 4627 | + --out-dir [..] \ |
| 4628 | + -L dependency=[CWD]/target/debug/deps` |
| 4629 | +[FINISHED] dev [unoptimized + debuginfo] target(s) in [..]", |
| 4630 | + ) |
| 4631 | + .run(); |
| 4632 | +} |
| 4633 | + |
| 4634 | +#[cargo_test] |
| 4635 | +fn build_with_no_lib() { |
| 4636 | + let p = project() |
| 4637 | + .file("Cargo.toml", &basic_bin_manifest("foo")) |
| 4638 | + .file("src/main.rs", "fn main() {}") |
| 4639 | + .build(); |
| 4640 | + |
| 4641 | + p.cargo("build --lib") |
| 4642 | + .with_status(101) |
| 4643 | + .with_stderr("[ERROR] no library targets found in package `foo`") |
| 4644 | + .run(); |
| 4645 | +} |
| 4646 | + |
| 4647 | +#[cargo_test] |
| 4648 | +fn build_with_relative_cargo_home_path() { |
| 4649 | + let p = project() |
| 4650 | + .file( |
| 4651 | + "Cargo.toml", |
| 4652 | + r#" |
| 4653 | + [package] |
| 4654 | +
|
| 4655 | + name = "foo" |
| 4656 | + version = "0.0.1" |
| 4657 | + |
| 4658 | +
|
| 4659 | + [dependencies] |
| 4660 | +
|
| 4661 | + "test-dependency" = { path = "src/test_dependency" } |
| 4662 | + "#, |
| 4663 | + ) |
| 4664 | + .file("src/main.rs", "fn main() {}") |
| 4665 | + .file("src/test_dependency/src/lib.rs", r#" "#) |
| 4666 | + .file( |
| 4667 | + "src/test_dependency/Cargo.toml", |
| 4668 | + &basic_manifest("test-dependency", "0.0.1"), |
| 4669 | + ) |
| 4670 | + .build(); |
| 4671 | + |
| 4672 | + p.cargo("build").env("CARGO_HOME", "./cargo_home/").run(); |
| 4673 | +} |
0 commit comments