diff --git a/Cargo.lock b/Cargo.lock index 48bbc5ef6..a811a8360 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -678,13 +678,12 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" -version = "2.0.17" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd389a4b2970a01282ee455294913c0a43724daedcd1a24c3eb0ec1c1320b66" +checksum = "bcbb6924530aa9e0432442af08bbcafdad182db80d2e560da42a6d442535bf85" dependencies = [ "anstyle", "bstr", - "doc-comment", "libc", "predicates", "predicates-core", @@ -2069,12 +2068,6 @@ dependencies = [ "syn 2.0.110", ] -[[package]] -name = "doc-comment" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "780955b8b195a21ab8e4ac6b60dd1dbdcec1dc6c51c0617964b08c81785e12c9" - [[package]] name = "docify" version = "0.2.9" diff --git a/crates/cargo-contract/Cargo.toml b/crates/cargo-contract/Cargo.toml index 46419c93c..fdd0f82d0 100644 --- a/crates/cargo-contract/Cargo.toml +++ b/crates/cargo-contract/Cargo.toml @@ -59,7 +59,7 @@ current_platform = "0.2.0" which = "8.0.0" [dev-dependencies] -assert_cmd = "=2.0.17" +assert_cmd = "=2.1.1" regex = "1.11.1" predicates = "3.1.3" tempfile = "3.23.0" diff --git a/crates/cargo-contract/tests/utils/mod.rs b/crates/cargo-contract/tests/utils/mod.rs index 274e1df8d..739017022 100644 --- a/crates/cargo-contract/tests/utils/mod.rs +++ b/crates/cargo-contract/tests/utils/mod.rs @@ -20,7 +20,15 @@ pub mod node_proc; /// Create a `cargo contract` command pub fn cargo_contract>(path: P) -> assert_cmd::Command { - let mut cmd = assert_cmd::Command::cargo_bin(env!("CARGO_PKG_NAME")).unwrap(); + let mut cmd = if let Ok(nextest_bin) = std::env::var("NEXTEST_BIN_EXE_cargo-contract") + { + // When running with nextest archive, use NEXTEST_BIN_EXE_* which has the + // correct remapped path + assert_cmd::Command::new(nextest_bin) + } else { + // Fall back to cargo_bin_cmd! for normal cargo test + assert_cmd::cargo::cargo_bin_cmd!(env!("CARGO_PKG_NAME")) + }; cmd.current_dir(path).arg("contract"); cmd } diff --git a/crates/extrinsics/Cargo.toml b/crates/extrinsics/Cargo.toml index a79609719..92b4367eb 100644 --- a/crates/extrinsics/Cargo.toml +++ b/crates/extrinsics/Cargo.toml @@ -44,7 +44,7 @@ ink_env = { workspace = true } [dev-dependencies] ink = { version = "6.0.0-beta.1", features = ["unstable-hostfn"] } -assert_cmd = "=2.0.17" +assert_cmd = "=2.1.1" regex = "1.11.1" predicates = "3.1.3" tempfile = "3.23.0" diff --git a/crates/extrinsics/src/integration_tests.rs b/crates/extrinsics/src/integration_tests.rs index 16c7d47e0..9f04bc30e 100644 --- a/crates/extrinsics/src/integration_tests.rs +++ b/crates/extrinsics/src/integration_tests.rs @@ -66,7 +66,18 @@ const CONTRACTS_NODE: &str = "ink-node"; /// Create a `cargo contract` command fn cargo_contract(path: &Path) -> assert_cmd::Command { - let mut cmd = assert_cmd::Command::cargo_bin("cargo-contract").unwrap(); + let mut cmd = if let Ok(nextest_bin) = std::env::var("NEXTEST_BIN_EXE_cargo-contract") + { + // When running with nextest archive, use NEXTEST_BIN_EXE_* which has the + // correct remapped path + assert_cmd::Command::new(nextest_bin) + } else { + // Fall back to cargo_bin for normal cargo test + // Note: cargo_bin is deprecated but we can't use cargo_bin_cmd! since we're + // testing a binary from a different crate + #[allow(deprecated)] + assert_cmd::Command::cargo_bin("cargo-contract").unwrap() + }; cmd.current_dir(path).arg("contract"); cmd }