mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-22 01:49:36 +00:00
feat: add dcrup (sh/ps1/cmd) and fix cross-platform unit tests
This commit is contained in:
@@ -242,10 +242,13 @@ mod tests {
|
||||
.unwrap()
|
||||
.as_nanos()
|
||||
));
|
||||
std::fs::create_dir_all(root.join("target/lib")).unwrap();
|
||||
std::fs::create_dir_all(root.join("target").join("lib")).unwrap();
|
||||
let mut paths = Vec::new();
|
||||
push_default_lib_dirs(&mut paths, &root);
|
||||
assert!(paths.iter().any(|p| p.ends_with("target/lib")));
|
||||
assert!(paths.iter().any(|p| {
|
||||
let n = p.replace('\\', "/");
|
||||
n.ends_with("target/lib")
|
||||
}));
|
||||
let _ = std::fs::remove_dir_all(root);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -219,16 +219,29 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn registry_package_root_accepts_package_dir_or_manifest_path() {
|
||||
let pkg = serde_json::json!({ "path": "/tmp/pkg" });
|
||||
let root = std::env::temp_dir().join(format!("dcr_reg_pkg_{}", std::process::id()));
|
||||
let _ = std::fs::remove_dir_all(&root);
|
||||
std::fs::create_dir_all(&root).unwrap();
|
||||
let root_str = root.to_string_lossy().replace('\\', "/");
|
||||
|
||||
let pkg = serde_json::json!({ "path": root_str });
|
||||
assert_eq!(
|
||||
package_root_from_registry_info(&pkg).unwrap(),
|
||||
PathBuf::from("/tmp/pkg")
|
||||
package_root_from_registry_info(&pkg)
|
||||
.unwrap()
|
||||
.to_string_lossy()
|
||||
.replace('\\', "/"),
|
||||
root_str
|
||||
);
|
||||
|
||||
let pkg = serde_json::json!({ "path": "/tmp/pkg/dcr.toml" });
|
||||
let manifest = format!("{root_str}/dcr.toml");
|
||||
let pkg = serde_json::json!({ "path": manifest });
|
||||
assert_eq!(
|
||||
package_root_from_registry_info(&pkg).unwrap(),
|
||||
PathBuf::from("/tmp/pkg")
|
||||
package_root_from_registry_info(&pkg)
|
||||
.unwrap()
|
||||
.to_string_lossy()
|
||||
.replace('\\', "/"),
|
||||
root_str
|
||||
);
|
||||
let _ = std::fs::remove_dir_all(&root);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user