Skip to content

Commit

Permalink
test: add tests for CARGO_MANIFEST_PATH in build.rs
Browse files Browse the repository at this point in the history
- Uses same checks as for already existing CARGO_MANIFEST_DIR
  • Loading branch information
Ifropc committed Sep 26, 2024
1 parent 051478c commit d4ac929
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions tests/testsuite/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1625,6 +1625,7 @@ fn crate_env_vars() {
static VERSION_PRE: &'static str = env!("CARGO_PKG_VERSION_PRE");
static VERSION: &'static str = env!("CARGO_PKG_VERSION");
static CARGO_MANIFEST_DIR: &'static str = env!("CARGO_MANIFEST_DIR");
static CARGO_MANIFEST_PATH: &'static str = env!("CARGO_MANIFEST_PATH");
static PKG_NAME: &'static str = env!("CARGO_PKG_NAME");
static HOMEPAGE: &'static str = env!("CARGO_PKG_HOMEPAGE");
static REPOSITORY: &'static str = env!("CARGO_PKG_REPOSITORY");
Expand All @@ -1638,9 +1639,9 @@ fn crate_env_vars() {
fn main() {
let s = format!("{}-{}-{} @ {} in {}", VERSION_MAJOR,
let s = format!("{}-{}-{} @ {} in {} file {}", VERSION_MAJOR,
VERSION_MINOR, VERSION_PATCH, VERSION_PRE,
CARGO_MANIFEST_DIR);
CARGO_MANIFEST_DIR, CARGO_MANIFEST_PATH);
assert_eq!(s, foo::version());
println!("{}", s);
assert_eq!("foo", PKG_NAME);
Expand Down Expand Up @@ -1674,12 +1675,13 @@ fn crate_env_vars() {
use std::path::PathBuf;
pub fn version() -> String {
format!("{}-{}-{} @ {} in {}",
format!("{}-{}-{} @ {} in {} file {}",
env!("CARGO_PKG_VERSION_MAJOR"),
env!("CARGO_PKG_VERSION_MINOR"),
env!("CARGO_PKG_VERSION_PATCH"),
env!("CARGO_PKG_VERSION_PRE"),
env!("CARGO_MANIFEST_DIR"))
env!("CARGO_MANIFEST_DIR"),
env!("CARGO_MANIFEST_PATH"))
}
pub fn check_no_int_test_env() {
Expand Down Expand Up @@ -1795,7 +1797,7 @@ fn crate_env_vars() {
println!("bin");
p.process(&p.bin("foo-bar"))
.with_stdout_data(str![[r#"
0-5-1 @ alpha.1 in [ROOT]/foo
0-5-1 @ alpha.1 in [ROOT]/foo file [ROOT]/foo/Cargo.toml
"#]])
.run();
Expand Down Expand Up @@ -1863,12 +1865,15 @@ fn cargo_rustc_current_dir_foreign_workspace_dep() {
fn baz_env() {
let workspace_dir = Path::new(option_env!("CARGO_RUSTC_CURRENT_DIR").expect("CARGO_RUSTC_CURRENT_DIR"));
let manifest_dir = Path::new(option_env!("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR"));
let manifest_path = Path::new(option_env!("CARGO_MANIFEST_PATH").expect("CARGO_MANIFEST_PATH"));
let current_dir = std::env::current_dir().expect("current_dir");
let file_path = workspace_dir.join(file!());
assert!(file_path.exists(), "{}", file_path.display());
let workspace_dir = std::fs::canonicalize(current_dir.join(workspace_dir)).expect("CARGO_RUSTC_CURRENT_DIR");
let manifest_path = std::fs::canonicalize(current_dir.join(manifest_dir.clone()).join("Cargo.toml")).expect("CARGO_MANIFEST_PATH");
let manifest_dir = std::fs::canonicalize(current_dir.join(manifest_dir)).expect("CARGO_MANIFEST_DIR");
assert_eq!(workspace_dir, manifest_dir);
assert_eq!(workspace_dir, manifest_dir.clone());
assert_eq!(manifest_dir.join("Cargo.toml"), manifest_path);
}
"#,
)
Expand Down Expand Up @@ -1957,12 +1962,15 @@ fn cargo_rustc_current_dir_non_local_dep() {
fn bar_env() {
let workspace_dir = Path::new(option_env!("CARGO_RUSTC_CURRENT_DIR").expect("CARGO_RUSTC_CURRENT_DIR"));
let manifest_dir = Path::new(option_env!("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR"));
let manifest_path = Path::new(option_env!("CARGO_MANIFEST_PATH").expect("CARGO_MANIFEST_PATH"));
let current_dir = std::env::current_dir().expect("current_dir");
let file_path = workspace_dir.join(file!());
assert!(file_path.exists(), "{}", file_path.display());
let workspace_dir = std::fs::canonicalize(current_dir.join(workspace_dir)).expect("CARGO_RUSTC_CURRENT_DIR");
let manifest_path = std::fs::canonicalize(current_dir.join(manifest_dir.clone()).join("Cargo.toml")).expect("CARGO_MANIFEST_PATH");
let manifest_dir = std::fs::canonicalize(current_dir.join(manifest_dir)).expect("CARGO_MANIFEST_DIR");
assert_eq!(workspace_dir, manifest_dir);
assert_eq!(workspace_dir, manifest_dir.clone());
assert_eq!(manifest_dir.join("Cargo.toml"), manifest_path);
}
"#,
)
Expand Down

0 comments on commit d4ac929

Please sign in to comment.