1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
//! Tests for displaying the cargo version.
use crate::prelude::*;
use crate::utils::cargo_process;
use cargo_test_support::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();
}
|