| //! Tests for displaying the cargo version. |
| |
| use cargo_test_support::{cargo_process, project}; |
| |
| #[cargo_test] |
| fn simple() { |
| let p = project().build(); |
| |
| p.cargo("version") |
| .with_stdout(&format!("cargo {}\n", cargo::version())) |
| .run(); |
| |
| p.cargo("--version") |
| .with_stdout(&format!("cargo {}\n", cargo::version())) |
| .run(); |
| |
| p.cargo("-V") |
| .with_stdout(&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_contains(&format!("cargo {}", cargo::version())) |
| .with_stdout_contains("host: [..]") |
| .with_stdout_contains("libgit2: [..]") |
| .with_stdout_contains("libcurl: [..]") |
| .with_stdout_contains("os: [..]") |
| .run(); |
| } |