mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00

We now include the prelude in so many places, this simplifies how we can present how `cargo-test-support` works. Yes, this included some `use` clean ups but its already painful enough walking through every test file, I didn't want to do it twice.
71 lines
1.4 KiB
Rust
71 lines
1.4 KiB
Rust
//! Tests for displaying the cargo version.
|
|
|
|
use cargo_test_support::prelude::*;
|
|
use cargo_test_support::{cargo_process, project};
|
|
|
|
#[cargo_test]
|
|
fn simple() {
|
|
let p = project().build();
|
|
|
|
p.cargo("version")
|
|
.with_stdout_data(&format!("cargo {}\n", cargo::version()))
|
|
.run();
|
|
|
|
p.cargo("--version")
|
|
.with_stdout_data(&format!("cargo {}\n", cargo::version()))
|
|
.run();
|
|
|
|
p.cargo("-V")
|
|
.with_stdout_data(&format!("cargo {}\n", cargo::version()))
|
|
.run();
|
|
}
|
|
|
|
#[cargo_test]
|
|
fn version_works_without_rustc() {
|
|
let p = project().build();
|
|
p.cargo("version").env("PATH", "").run();
|
|
}
|
|
|
|
#[cargo_test]
|
|
fn version_works_with_bad_config() {
|
|
let p = project()
|
|
.file(".cargo/config.toml", "this is not toml")
|
|
.build();
|
|
p.cargo("version").run();
|
|
}
|
|
|
|
#[cargo_test]
|
|
fn version_works_with_bad_target_dir() {
|
|
let p = project()
|
|
.file(
|
|
".cargo/config.toml",
|
|
r#"
|
|
[build]
|
|
target-dir = 4
|
|
"#,
|
|
)
|
|
.build();
|
|
p.cargo("version").run();
|
|
}
|
|
|
|
#[cargo_test]
|
|
fn verbose() {
|
|
// This is mainly to check that it doesn't explode.
|
|
cargo_process("-vV")
|
|
.with_stdout_data(format!(
|
|
"\
|
|
cargo {}
|
|
release: [..]
|
|
commit-hash: [..]
|
|
commit-date: [..]
|
|
host: [HOST_TARGET]
|
|
libgit2: [..] (sys:[..] [..])
|
|
libcurl: [..] (sys:[..] [..])
|
|
...
|
|
os: [..]
|
|
",
|
|
cargo::version()
|
|
))
|
|
.run();
|
|
}
|