fn stop_bazel()

in focus/operations/src/testing/integration.rs [214:269]


    fn stop_bazel(&self) {
        let mut commands = vec![(
            Command::new("bazel")
                .arg("shutdown")
                .current_dir(&self.dense_repo_path)
                .spawn(),
            self.dense_repo_path.to_owned(),
        )];
        if let Ok(sparse_repo) = self.sparse_repo() {
            if let Ok(working_tree) = sparse_repo.working_tree() {
                commands.push((
                    Command::new("bazel")
                        .arg("shutdown")
                        .current_dir(working_tree.work_dir())
                        .spawn(),
                    working_tree.work_dir().to_owned(),
                ));
            }
            if let Some(outlining_tree) = sparse_repo.outliner() {
                commands.push((
                    Command::new("bazel")
                        .arg("shutdown")
                        .current_dir(outlining_tree.underlying().work_dir())
                        .spawn(),
                    outlining_tree.underlying().work_dir().to_owned(),
                ));
            }
        }

        for spawn in commands {
            match spawn {
                (Ok(mut child), path) => {
                    // We can't really do anything anyway.
                    match child.wait() {
                        Ok(status) => {
                            if status.code() == Some(0) {
                                info!("Bazel shutdown in {} shutdown succeeded", path.display());
                            } else {
                                warn!("Bazel shutdown in {} failed", path.display());
                            }
                        }
                        Err(e) => warn!(
                            "Failed to wait for Bazel shutdown in {}: {}",
                            path.display(),
                            e
                        ),
                    }
                }
                (Err(e), path) => warn!(
                    "Failed to spawn Bazel shutdown in {}: {}",
                    path.display(),
                    e
                ),
            }
        }
    }