Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
cli/tests: Fix nextest running via Nix
Merged lorenz opened 11 months ago
3 files changed +13 -12 9988b63b ee12f76c
modified .gitignore
@@ -4,3 +4,4 @@
/build/*.tar.gz
/.pre-commit-config.yaml
/.direnv/
+
/result
modified flake.nix
@@ -218,8 +218,8 @@
              # avoid timeouts
              preCheck = ''
                patchShebangs --build radicle-cli/examples/rad-cob-multiset
-
                              cargo build -p radicle-remote-helper --target-dir radicle-cli/target
-
                              cargo build -p radicle-cli --target-dir radicle-cli/target
+
                cargo build -p radicle-remote-helper --target-dir radicle-cli/target
+
                cargo build -p radicle-cli --target-dir radicle-cli/target
              '';
              # Ensure dev is used since we rely on env variables being
              # set in tests.
modified radicle-cli/tests/commands.rs
@@ -208,16 +208,16 @@ fn rad_cob_multiset() {
        // `rad-cob-multiset` is a `jq` script, which requires `jq` to be installed.
        // We test whether `jq` is installed, and have this test succeed if it is not.
        // Programmatic skipping of tests is not supported as of 2024-08.
-

-
        let output = std::process::Command::new("/usr/bin/env")
-
            .arg("jq")
-
            .arg("-V")
-
            .output()
-
            .unwrap();
-

-
        if !output.status.success() {
-
            log::warn!(target: "test", "`jq` not found. Succeeding prematurely. {:?}", output);
-
            return;
+
        use std::io::ErrorKind;
+
        use std::process::{Command, Stdio};
+

+
        match Command::new("jq").arg("-V").stdout(Stdio::null()).status() {
+
            Err(e) if e.kind() == ErrorKind::NotFound => {
+
                log::warn!(target: "test", "`jq` not found. Succeeding prematurely.");
+
                return;
+
            }
+
            Err(e) => panic!("while checking for jq: {}", e),
+
            Ok(_) => {}
        }
    }