Skip to content

Commit 5ec0d20

Browse files
committed
Address code review.
1 parent a743a35 commit 5ec0d20

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

src/docker/shared.rs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -791,15 +791,6 @@ mod tests {
791791
Engine::from_path(get_container_engine()?, Some(false), msg_info)
792792
}
793793

794-
fn get_workspace_root(subdir: bool) -> Result<PathBuf> {
795-
let path = match subdir {
796-
true => get_cwd()?.join("member"),
797-
false => get_cwd()?.parent().unwrap().to_path_buf(),
798-
};
799-
fs::create_dir_all(&path)?;
800-
Ok(path)
801-
}
802-
803794
fn cargo_metadata(subdir: bool, msg_info: MessageInfo) -> Result<CargoMetadata> {
804795
let mut metadata = cargo_metadata_with_args(
805796
Some(Path::new(env!("CARGO_MANIFEST_DIR"))),
@@ -808,7 +799,12 @@ mod tests {
808799
)?
809800
.ok_or_else(|| eyre::eyre!("could not find cross workspace"))?;
810801

811-
metadata.workspace_root = get_workspace_root(subdir)?;
802+
let root = match subdir {
803+
true => get_cwd()?.join("member"),
804+
false => get_cwd()?.parent().unwrap().to_path_buf(),
805+
};
806+
fs::create_dir_all(&root)?;
807+
metadata.workspace_root = root;
812808
metadata.target_directory = metadata.workspace_root.join("target");
813809

814810
Ok(metadata)
@@ -832,12 +828,13 @@ mod tests {
832828
.join("stable-x86_64-unknown-linux-gnu"))
833829
}
834830

835-
fn get_directories(subdir: bool, mount_finder: &MountFinder) -> Result<Directories> {
836-
let msg_info = MessageInfo::default();
837-
let metadata = cargo_metadata(subdir, msg_info)?;
831+
fn get_directories(
832+
metadata: &CargoMetadata,
833+
mount_finder: &MountFinder,
834+
) -> Result<Directories> {
838835
let cwd = get_cwd()?;
839836
let sysroot = get_sysroot()?;
840-
Directories::create(mount_finder, &metadata, &cwd, &sysroot)
837+
Directories::create(mount_finder, metadata, &cwd, &sysroot)
841838
}
842839

843840
fn path_to_posix(path: &Path) -> Result<String> {
@@ -861,13 +858,14 @@ mod tests {
861858
fn test_host() -> Result<()> {
862859
let vars = unset_env();
863860
let mount_finder = MountFinder::new(vec![]);
864-
let directories = get_directories(false, &mount_finder)?;
861+
let metadata = cargo_metadata(false, MessageInfo::default())?;
862+
let directories = get_directories(&metadata, &mount_finder)?;
865863
paths_equal(&directories.cargo, &home()?.join(".cargo"))?;
866864
paths_equal(&directories.xargo, &home()?.join(".xargo"))?;
867-
paths_equal(&directories.host_root, &get_workspace_root(false)?)?;
865+
paths_equal(&directories.host_root, &metadata.workspace_root)?;
868866
assert_eq!(
869867
&directories.mount_root,
870-
&path_to_posix(&get_workspace_root(false)?)?
868+
&path_to_posix(&metadata.workspace_root)?
871869
);
872870
assert_eq!(&directories.mount_cwd, &path_to_posix(&get_cwd()?)?);
873871

@@ -876,16 +874,14 @@ mod tests {
876874
}
877875

878876
#[test]
877+
#[cfg_attr(not(target_os = "linux"), ignore)]
879878
fn test_docker_in_docker() -> Result<()> {
880-
if !cfg!(target_os = "linux") {
881-
return Ok(());
882-
}
883-
884879
let vars = unset_env();
885880

886881
let engine = create_engine(MessageInfo::default());
887882
let hostname = env::var("HOSTNAME");
888883
if engine.is_err() || hostname.is_err() {
884+
eprintln!("could not get container engine or no hostname found");
889885
reset_env(vars);
890886
return Ok(());
891887
}
@@ -895,12 +891,14 @@ mod tests {
895891
.arg(hostname)
896892
.run_and_get_output(MessageInfo::default())?;
897893
if !output.status.success() {
894+
eprintln!("inspect failed");
898895
reset_env(vars);
899896
return Ok(());
900897
}
901898

902899
let mount_finder = MountFinder::create(&engine, true)?;
903-
let directories = get_directories(true, &mount_finder)?;
900+
let metadata = cargo_metadata(true, MessageInfo::default())?;
901+
let directories = get_directories(&metadata, &mount_finder)?;
904902
let mount_finder = MountFinder::new(docker_read_mount_paths(&engine)?);
905903
let mount_path = |p| mount_finder.find_mount_path(p);
906904

0 commit comments

Comments
 (0)