diff --git a/Cargo.lock b/Cargo.lock index 1782dcc580..88d7f8b788 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -654,6 +654,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" +[[package]] +name = "base16ct" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b59d472eab27ade8d770dcb11da7201c11234bef9f82ce7aa517be028d462b" + [[package]] name = "base64" version = "0.13.1" @@ -960,7 +966,7 @@ dependencies = [ "cairo-lang-sierra", "cairo-lang-sierra-to-casm", "camino", - "derive_more 2.0.1", + "derive_more 2.1.0", "regex", "serde", "serde_json", @@ -1076,7 +1082,7 @@ dependencies = [ "semver", "serde", "smol_str", - "toml", + "toml 0.8.23", ] [[package]] @@ -1192,7 +1198,7 @@ dependencies = [ "cairo-lang-utils", "serde", "thiserror 2.0.17", - "toml", + "toml 0.8.23", ] [[package]] @@ -1267,7 +1273,7 @@ dependencies = [ "rust-analyzer-salsa", "sha3", "smol_str", - "toml", + "toml 0.8.23", ] [[package]] @@ -1967,7 +1973,7 @@ dependencies = [ "rust-ini", "serde", "serde_json", - "toml", + "toml 0.8.23", "yaml-rust2", ] @@ -1980,7 +1986,7 @@ dependencies = [ "serde", "serde_json", "tempfile", - "toml", + "toml 0.9.8", ] [[package]] @@ -1996,6 +2002,19 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "console" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b430743a6eb14e9764d4260d4c0d8123087d504eeb9c48f2b2a5e810dd369df4" +dependencies = [ + "encode_unicode", + "libc", + "once_cell", + "unicode-width 0.2.2", + "windows-sys 0.61.2", +] + [[package]] name = "const-fnv1a-hash" version = "1.1.0" @@ -2112,6 +2131,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "633458d4ef8c78b72454de2d54fd6ab2e60f9e02be22f3c6104cdc8a4e0fceb9" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -2371,9 +2399,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.4.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec09e802f5081de6157da9a75701d6c713d8dc3ba52571fd4bd25f412644e8a6" +checksum = "eb230974aaf0aca4d71665bed0aca156cf43b764fcb9583b69c6c3e686f35e72" dependencies = [ "ctor-proc-macro", "dtor", @@ -2381,9 +2409,9 @@ dependencies = [ [[package]] name = "ctor-proc-macro" -version = "0.0.6" +version = "0.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2931af7e13dc045d8e9d26afccc6fa115d64e115c9c84b1166288b46f6782c2" +checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" [[package]] name = "ctr" @@ -2493,7 +2521,7 @@ dependencies = [ "indoc", "itertools 0.14.0", "num-bigint", - "primitive-types 0.13.1", + "primitive-types 0.14.0", "serde", "serde_json", "shared", @@ -2532,7 +2560,7 @@ dependencies = [ "cairo-lang-sierra-to-casm", "cairo-lang-starknet-classes", "cheatnet", - "console", + "console 0.16.1", "data-transformer", "paste", "ptree", @@ -2656,21 +2684,23 @@ dependencies = [ [[package]] name = "derive_more" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +checksum = "10b768e943bed7bf2cab53df09f4bc34bfd217cdb57d971e769874c9a6710618" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +checksum = "6d286bfdaf75e988b4a78e013ecd79c581e06399ab53fbacd2d916c2f904f30b" dependencies = [ + "convert_case 0.10.0", "proc-macro2", "quote", + "rustc_version", "syn 2.0.111", "unicode-xid", ] @@ -2683,14 +2713,13 @@ checksum = "abd57806937c9cc163efc8ea3910e00a62e2aeb0b8119f1793a978088f8f6b04" [[package]] name = "dialoguer" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" +checksum = "25f104b501bf2364e78d0d3974cbc774f738f5865306ed128e1e0d7499c0ad96" dependencies = [ - "console", + "console 0.16.1", "shell-words", "tempfile", - "thiserror 1.0.69", "zeroize", ] @@ -2845,7 +2874,7 @@ dependencies = [ "serde_json", "shell-words", "tempfile", - "toml_edit 0.22.27", + "toml_edit 0.23.7", "walkdir", ] @@ -2866,18 +2895,18 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dtor" -version = "0.0.6" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97cbdf2ad6846025e8e25df05171abfb30e3ababa12ee0a0e44b9bbe570633a8" +checksum = "404d02eeb088a82cfd873006cb713fe411306c7d182c344905e101fb1167d301" dependencies = [ "dtor-proc-macro", ] [[package]] name = "dtor-proc-macro" -version = "0.0.5" +version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7454e41ff9012c00d53cf7f475c5e3afa3b91b7c90568495495e8d9bf47a1055" +checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" [[package]] name = "dyn-clone" @@ -2936,7 +2965,7 @@ version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ - "base16ct", + "base16ct 0.2.0", "crypto-bigint", "digest", "ff", @@ -3259,9 +3288,9 @@ dependencies = [ "clap", "clap_complete", "configuration", - "console", + "console 0.16.1", "conversions", - "derive_more 2.0.1", + "derive_more 2.1.0", "docs", "forge_runner", "foundry-ui", @@ -3290,7 +3319,7 @@ dependencies = [ "tempfile", "test-case", "tokio", - "toml_edit 0.22.27", + "toml_edit 0.23.7", "tracing", "tracing-chrome", "tracing-subscriber", @@ -3318,7 +3347,7 @@ dependencies = [ "cheatnet", "clap", "comfy-table", - "console", + "console 0.16.1", "conversions", "debugging", "foundry-ui", @@ -3342,7 +3371,7 @@ dependencies = [ "strum 0.27.2", "strum_macros 0.27.2", "tokio", - "toml_edit 0.22.27", + "toml_edit 0.23.7", "tracing", "universal-sierra-compiler-api", "url", @@ -3363,7 +3392,7 @@ name = "foundry-ui" version = "0.53.0" dependencies = [ "anyhow", - "console", + "console 0.16.1", "serde", "serde_json", "starknet-types-core", @@ -4160,13 +4189,26 @@ version = "0.17.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" dependencies = [ - "console", + "console 0.15.11", "number_prefix", "portable-atomic", "unicode-width 0.2.2", "web-time", ] +[[package]] +name = "indicatif" +version = "0.18.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9375e112e4b463ec1b1c6c011953545c65a30164fbab5b581df32b3abf0dcb88" +dependencies = [ + "console 0.16.1", + "portable-atomic", + "unicode-width 0.2.2", + "unit-prefix", + "web-time", +] + [[package]] name = "indoc" version = "2.0.7" @@ -4187,11 +4229,11 @@ dependencies = [ [[package]] name = "insta" -version = "1.44.1" +version = "1.44.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8732d3774162a0851e3f2b150eb98f31a9885dd75985099421d393385a01dfd" +checksum = "b5c943d4415edd8153251b6f197de5eb1640e56d84e8d9159bea190421c73698" dependencies = [ - "console", + "console 0.15.11", "once_cell", "regex", "similar", @@ -5499,9 +5541,9 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15600a7d856470b7d278b3fe0e311fe28c2526348549f8ef2ff7db3299c87f5" +checksum = "721a1da530b5a2633218dc9f75713394c983c352be88d2d7c9ee85e2c4c21794" dependencies = [ "fixed-hash", "impl-codec 0.7.1", @@ -6385,8 +6427,8 @@ dependencies = [ "anyhow", "camino", "clap", - "console", - "indicatif", + "console 0.15.11", + "indicatif 0.17.11", "scarb-metadata", "serde", "serde_json", @@ -6475,7 +6517,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ - "base16ct", + "base16ct 0.2.0", "der", "generic-array", "pkcs8", @@ -6612,6 +6654,15 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_spanned" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" +dependencies = [ + "serde_core", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -6661,7 +6712,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" dependencies = [ - "base16ct", + "base16ct 0.2.0", "serde", ] @@ -6703,9 +6754,9 @@ dependencies = [ "cairo-vm", "clap", "clap_complete", - "console", + "console 0.16.1", "foundry-ui", - "indicatif", + "indicatif 0.18.3", "num-traits", "regex", "semver", @@ -6839,9 +6890,9 @@ dependencies = [ [[package]] name = "snapbox" -version = "0.4.17" +version = "0.6.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b831b6e80fbcd2889efa75b185d24005f85981431495f995292b25836519d84" +checksum = "96fa1ce81be900d083b30ec2d481e6658c2acfaa2cfc7be45ccc2cc1b820edb3" dependencies = [ "anstream", "anstyle", @@ -6852,9 +6903,9 @@ dependencies = [ [[package]] name = "snapbox-macros" -version = "0.3.10" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16569f53ca23a41bb6f62e0a5084aa1661f4814a67fa33696a79073e03a664af" +checksum = "3b750c344002d7cc69afb9da00ebd9b5c0f8ac2eb7d115d9d45d5b5f47718d74" dependencies = [ "anstream", ] @@ -6865,7 +6916,7 @@ version = "0.53.0" dependencies = [ "anyhow", "async-trait", - "base16ct", + "base16ct 0.3.0", "bigdecimal", "blockifier", "cairo-lang-casm", @@ -6878,7 +6929,7 @@ dependencies = [ "clap", "clap_complete", "configuration", - "console", + "console 0.16.1", "const-hex", "conversions", "ctor", @@ -6893,7 +6944,7 @@ dependencies = [ "itertools 0.14.0", "num-traits", "packages_validation", - "primitive-types 0.13.1", + "primitive-types 0.14.0", "project-root", "promptly", "rand 0.8.5", @@ -6921,8 +6972,8 @@ dependencies = [ "test-case", "thiserror 2.0.17", "tokio", - "toml", - "toml_edit 0.22.27", + "toml 0.9.8", + "toml_edit 0.23.7", "tracing", "tracing-log", "tracing-subscriber", @@ -7735,11 +7786,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" dependencies = [ "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_edit 0.22.27", ] +[[package]] +name = "toml" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" +dependencies = [ + "indexmap 2.12.1", + "serde_core", + "serde_spanned 1.0.3", + "toml_datetime 0.7.3", + "toml_parser", + "toml_writer", + "winnow", +] + [[package]] name = "toml_datetime" version = "0.6.11" @@ -7766,7 +7832,7 @@ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ "indexmap 2.12.1", "serde", - "serde_spanned", + "serde_spanned 0.6.9", "toml_datetime 0.6.11", "toml_write", "winnow", @@ -7781,6 +7847,7 @@ dependencies = [ "indexmap 2.12.1", "toml_datetime 0.7.3", "toml_parser", + "toml_writer", "winnow", ] @@ -7799,6 +7866,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" +[[package]] +name = "toml_writer" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" + [[package]] name = "tower" version = "0.5.2" @@ -7847,9 +7920,9 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "2d15d90a0b5c19378952d479dc858407149d7bb45a14de0142f6c534b16fc647" dependencies = [ "log", "pin-project-lite", @@ -7859,9 +7932,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", @@ -7881,9 +7954,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "7a04e24fab5c89c6a36eb8558c9656f30d81de51dfa4d3b45f26b21d61fa0a6c" dependencies = [ "once_cell", "valuable", @@ -8112,6 +8185,12 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" +[[package]] +name = "unit-prefix" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3" + [[package]] name = "universal-sierra-compiler-api" version = "1.0.0" @@ -8501,7 +8580,7 @@ dependencies = [ "serde", "serde_derive", "sha2", - "toml", + "toml 0.8.23", "windows-sys 0.60.2", "zstd", ] diff --git a/Cargo.toml b/Cargo.toml index c3fae36cff..e4af67c574 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -55,14 +55,14 @@ cairo-lang-sierra-to-casm = "=2.12.3" cairo-vm = "2.5.0" cairo-annotations = { version = "0.6.1", features = ["cairo-lang"] } dirs = "6.0.0" -dialoguer = "0.11.0" +dialoguer = "0.12.0" starknet-types-core = { version = "0.2.4", features = ["hash", "prime-bigint"] } anyhow = "1.0.100" assert_fs = "1.1.2" camino = { version = "1.2.1", features = ["serde1"] } clap = { version = "4.5.48", features = ["derive", "deprecated"] } clap_complete = "4.5.58" -console = "0.15.11" +console = "0.16.1" include_dir = "0.7.4" indoc = "2" itertools = "0.14.0" @@ -76,7 +76,7 @@ starknet-rust = "0.18.0" starknet-rust-crypto = "0.9.0" tempfile = "3.23.0" thiserror = "2.0.17" -ctor = "0.4.1" +ctor = "0.6.2" url = { "version" = "2.5.4", "features" = ["serde"] } tokio = { version = "1.44.0", features = ["full"] } futures = "0.3.31" @@ -91,20 +91,20 @@ docs = { path = "./crates/docs" } test-case = "3.3.1" scarb-metadata = "1.14.0" flatten-serde-json = "0.1.0" -snapbox = "0.4.17" +snapbox = "0.6.23" scarb-ui = "0.1.7" semver = "1.0.27" bimap = "0.6.3" -primitive-types = { version = "0.13.1", features = ["serde"] } +primitive-types = { version = "0.14.0", features = ["serde"] } shellexpand = "3.1.0" -toml = "0.8.20" +toml = "0.9.8" rpassword = "7.3.1" promptly = "0.3.1" ptree = "0.5.2" reqwest = { version = "0.12.21", features = ["json"] } fs_extra = "1.3.0" openssl = { version = "0.10", features = ["vendored"] } -toml_edit = "0.22.24" +toml_edit = "0.23.7" axum = "0.8.6" fs2 = "0.4.3" flate2 = "1.1.0" @@ -112,23 +112,23 @@ k256 = { version = "0.13.4", features = ["sha256", "ecdsa", "serde"] } p256 = { version = "0.13.2", features = ["sha256", "ecdsa", "serde"] } glob = "0.3.2" sha3 = "0.10.8" -base16ct = { version = "0.2.0", features = ["alloc"] } +base16ct = { version = "0.3.0", features = ["alloc"] } async-trait = "0.1.87" serde_path_to_error = "0.1.20" wiremock = "0.6.3" const-hex = "1.16.0" -indicatif = "0.17.11" +indicatif = "0.18.3" shell-words = "1.1.0" sanitize-filename = "0.6.0" -derive_more = { version = "2.0.1", features = ["display"] } +derive_more = { version = "2.1.0", features = ["display"] } paste = "1.0.15" strum = "0.27" strum_macros = "0.27" scarb-oracle-hint-service = "0.1.1" chrono = "0.4.42" tracing-subscriber = { version = "0.3.20", features = ["env-filter"] } -tracing = "0.1.41" +tracing = "0.1.43" tracing-chrome = "0.7.2" tracing-log = "0.2.0" comfy-table = "7" -insta = { version = "1.43.1", features = ["filters"] } +insta = { version = "1.44.3", features = ["filters"] } diff --git a/crates/configuration/src/lib.rs b/crates/configuration/src/lib.rs index 32e85d65eb..cfaf72e7fa 100644 --- a/crates/configuration/src/lib.rs +++ b/crates/configuration/src/lib.rs @@ -3,7 +3,7 @@ use anyhow::{Context, Result, anyhow}; use camino::Utf8PathBuf; use std::fs::File; use std::{env, fs}; -use toml::Value; +use toml::Table; pub mod core; pub mod test_utils; @@ -44,7 +44,7 @@ pub fn load_config( Some(path) => { let raw_config_toml = fs::read_to_string(path) .context("Failed to read snfoundry.toml config file")? - .parse::() + .parse::() .context("Failed to parse snfoundry.toml config file")?; let raw_config_json = serde_json::to_value(raw_config_toml) diff --git a/crates/forge/tests/e2e/common/runner.rs b/crates/forge/tests/e2e/common/runner.rs index 6fe508b565..f1b802789d 100644 --- a/crates/forge/tests/e2e/common/runner.rs +++ b/crates/forge/tests/e2e/common/runner.rs @@ -9,7 +9,8 @@ use camino::Utf8PathBuf; use indoc::formatdoc; use shared::command::CommandExt; use shared::test_utils::node_url::node_rpc_url; -use snapbox::cmd::{Command as SnapboxCommand, cargo_bin}; +use snapbox::cargo_bin; +use snapbox::cmd::Command as SnapboxCommand; use std::path::{Path, PathBuf}; use std::process::Command; use std::str::FromStr; diff --git a/crates/forge/tests/e2e/new.rs b/crates/forge/tests/e2e/new.rs index 26140fc957..2d95bd23e1 100644 --- a/crates/forge/tests/e2e/new.rs +++ b/crates/forge/tests/e2e/new.rs @@ -11,7 +11,7 @@ use regex::Regex; use scarb_api::ScarbCommand; use shared::consts::FREE_RPC_PROVIDER_URL; use shared::test_utils::output_assert::assert_stdout_contains; -use snapbox::assert_matches; +use snapbox::assert_data_eq; use snapbox::cmd::Command as SnapboxCommand; use std::ffi::OsString; use std::path::{Path, PathBuf}; @@ -348,5 +348,5 @@ fn assert_manifest_matches(expected: &str, actual: &str) { s.lines().sorted().join("\n") } - assert_matches(sort_lines(expected), sort_lines(actual)); + assert_data_eq!(sort_lines(actual), sort_lines(expected)); } diff --git a/crates/forge/tests/e2e/plugin_versions.rs b/crates/forge/tests/e2e/plugin_versions.rs index 6c76452df8..582088f3c9 100644 --- a/crates/forge/tests/e2e/plugin_versions.rs +++ b/crates/forge/tests/e2e/plugin_versions.rs @@ -6,7 +6,7 @@ use scarb_api::ScarbCommand; use scarb_api::version::scarb_version_for_dir; use shared::test_utils::output_assert::assert_stdout_contains; use snapbox::cmd::Command; -use toml_edit::ImDocument; +use toml_edit::Document; #[test] #[cfg_attr( @@ -23,7 +23,7 @@ fn new_with_new_scarb() { let manifest = temp.path().join("abc").join("Scarb.toml"); let manifest = &std::fs::read_to_string(manifest).unwrap(); - let manifest = ImDocument::parse(manifest).unwrap(); + let manifest = Document::parse(manifest).unwrap(); let snforge_std = manifest .get("dev-dependencies") @@ -62,7 +62,7 @@ fn new_with_old_scarb() { let manifest = temp.path().join("abc").join("Scarb.toml"); let manifest = &std::fs::read_to_string(manifest).unwrap(); - let manifest = ImDocument::parse(manifest).unwrap(); + let manifest = Document::parse(manifest).unwrap(); let snforge_std = manifest .get("dev-dependencies") diff --git a/crates/sncast/tests/e2e/account/create.rs b/crates/sncast/tests/e2e/account/create.rs index 9864f2384d..01d0dc9ad2 100644 --- a/crates/sncast/tests/e2e/account/create.rs +++ b/crates/sncast/tests/e2e/account/create.rs @@ -11,7 +11,7 @@ use serde_json::{json, to_string_pretty}; use shared::test_utils::output_assert::{ AsOutput, assert_stderr_contains, assert_stdout, assert_stdout_contains, }; -use snapbox::assert_matches; +use snapbox::assert_data_eq; use sncast::AccountType; use sncast::helpers::constants::{ BRAAVOS_BASE_ACCOUNT_CLASS_HASH, BRAAVOS_CLASS_HASH, OZ_CLASS_HASH, READY_CLASS_HASH, @@ -85,7 +85,7 @@ pub async fn test_happy_case(account_type: &str) { } ); - assert_matches(to_string_pretty(&expected).unwrap(), contents); + assert_data_eq!(contents, to_string_pretty(&expected).unwrap()); } // TODO(#3556): Remove this test once we drop Argent account type @@ -153,7 +153,7 @@ pub async fn test_happy_case_argent_with_deprecation_warning() { } ); - assert_matches(to_string_pretty(&expected).unwrap(), contents); + assert_data_eq!(contents, to_string_pretty(&expected).unwrap()); } #[tokio::test] @@ -214,7 +214,7 @@ pub async fn test_happy_case_generate_salt() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account created Address: 0x0[..] @@ -302,7 +302,7 @@ pub async fn test_happy_case_accounts_file_already_exists() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account created Address: 0x0[..] @@ -436,7 +436,7 @@ pub async fn test_happy_case_keystore(account_type: &str) { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" Success: Account created Address: 0x0[..] @@ -455,9 +455,9 @@ pub async fn test_happy_case_keystore(account_type: &str) { let contents = fs::read_to_string(temp_dir.path().join(account_file)) .expect("Unable to read created file"); - assert_matches( - get_keystore_account_pattern(account_type.parse().unwrap(), None), + assert_data_eq!( contents, + get_keystore_account_pattern(account_type.parse().unwrap(), None), ); } @@ -486,7 +486,7 @@ pub async fn test_happy_case_keystore_argent_with_deprecation_warning() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" [WARNING] Argent has rebranded as Ready. The `argent` option for the `--type` flag in `account create` is deprecated, please use `ready` instead. Success: Account created @@ -507,9 +507,9 @@ pub async fn test_happy_case_keystore_argent_with_deprecation_warning() { let contents = fs::read_to_string(temp_dir.path().join(account_file)) .expect("Unable to read created file"); - assert_matches( - get_keystore_account_pattern("argent".parse().unwrap(), None), + assert_data_eq!( contents, + get_keystore_account_pattern("argent".parse().unwrap(), None), ); } @@ -692,7 +692,7 @@ pub async fn test_happy_case_keystore_int_format() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" Success: Account created Address: [..] @@ -746,7 +746,7 @@ pub async fn test_happy_case_default_name_generation() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()) .assert() - .stdout_matches(formatdoc! {r" + .stdout_eq(formatdoc! {r" Success: Account created Address: 0x0[..] @@ -779,7 +779,7 @@ pub async fn test_happy_case_default_name_generation() { .stdin("Y") .assert() .success() - .stdout_matches(indoc! {r" + .stdout_eq(indoc! {r" Success: Account deleted Account successfully removed @@ -834,7 +834,7 @@ pub async fn test_happy_case_default_name_generation() { } ); - assert_matches(to_string_pretty(&expected).unwrap(), contents); + assert_data_eq!(contents, to_string_pretty(&expected).unwrap()); } fn get_formatted_account_type(account_type: &str) -> &str { @@ -1010,7 +1010,7 @@ pub async fn test_json_output_format() { let snapbox = runner(&args) .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(indoc! {r#" + snapbox.assert().stdout_eq(indoc! {r#" {"add_profile":"Profile my_account successfully added to [..]/snfoundry.toml","address":"0x[..]","command":"account create","estimated_fee":"[..]","message":"Account successfully created but it needs to be deployed. The estimated deployment fee is [..] STRK. Prefund the account to cover deployment transaction fee/n/nAfter prefunding the account, run:/nsncast --accounts-file accounts.json account deploy --url [..] --name my_account","type":"response"} {"links":"account: https://sepolia.starkscan.co/contract/0x[..]","title":"account creation","type":"notification"} "#}); diff --git a/crates/sncast/tests/e2e/account/delete.rs b/crates/sncast/tests/e2e/account/delete.rs index 4999797cd9..8b540b0746 100644 --- a/crates/sncast/tests/e2e/account/delete.rs +++ b/crates/sncast/tests/e2e/account/delete.rs @@ -106,7 +106,7 @@ pub fn test_happy_case() { // Run test with an affirmative user input let snapbox = runner(&args).current_dir(temp_dir.path()).stdin("Y"); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account deleted Account successfully removed @@ -131,7 +131,7 @@ pub fn test_happy_case_url() { let snapbox = runner(&args).current_dir(temp_dir.path()).stdin("Y"); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account deleted Account successfully removed @@ -162,7 +162,7 @@ pub fn test_happy_case_with_yes_flag() { let output = snapbox.assert().success(); assert!(output.as_stderr().is_empty()); - output.stdout_matches(indoc! {r" + output.stdout_eq(indoc! {r" Success: Account deleted Account successfully removed diff --git a/crates/sncast/tests/e2e/account/deploy.rs b/crates/sncast/tests/e2e/account/deploy.rs index edef6b2d40..077ddf868a 100644 --- a/crates/sncast/tests/e2e/account/deploy.rs +++ b/crates/sncast/tests/e2e/account/deploy.rs @@ -181,7 +181,7 @@ pub async fn test_valid_class_hash() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account deployed Transaction Hash: 0x[..] @@ -213,7 +213,7 @@ pub async fn test_valid_no_max_fee() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account deployed Transaction Hash: 0x[..] @@ -311,7 +311,7 @@ pub async fn test_happy_case_keystore(account_type: &str) { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account deployed Transaction Hash: 0x[..] @@ -576,7 +576,7 @@ pub async fn test_deploy_keystore_other_args() { let snapbox = runner(&args) .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account deployed Transaction Hash: 0x[..] @@ -607,7 +607,7 @@ pub async fn test_json_output_format() { let snapbox = runner(&args) .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r#" + snapbox.assert().stdout_eq(indoc! {r#" {"command":"account deploy","transaction_hash":"0x0[..]","type":"response"} {"links":"transaction: https://sepolia.starkscan.co/tx/0x0[..]","title":"account deployment","type":"notification"} "#}); diff --git a/crates/sncast/tests/e2e/account/import.rs b/crates/sncast/tests/e2e/account/import.rs index e367562a0f..c52fb9902b 100644 --- a/crates/sncast/tests/e2e/account/import.rs +++ b/crates/sncast/tests/e2e/account/import.rs @@ -42,7 +42,7 @@ pub async fn test_happy_case(input_account_type: &str, saved_type: &str) { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account imported successfully Account Name: my_account_import @@ -98,7 +98,7 @@ pub async fn test_happy_case_argent_with_deprecation_warning() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" [WARNING] Argent has rebranded as Ready. The `argent` option for the `--type` flag in `account import` is deprecated, please use `ready` instead. Success: Account imported successfully @@ -202,7 +202,7 @@ pub async fn test_existent_account_address_and_incorrect_class_hash() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stderr_matches(formatdoc! {r" + snapbox.assert().stderr_eq(formatdoc! {r" Command: account import Error: Incorrect class hash {} for account address {} was provided ", DEVNET_OZ_CLASS_HASH_CAIRO_0, DEVNET_PREDEPLOYED_ACCOUNT_ADDRESS}); @@ -234,7 +234,7 @@ pub async fn test_nonexistent_account_address_and_nonexistent_class_hash() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stderr_matches(indoc! {r" + snapbox.assert().stderr_eq(indoc! {r" Command: account import Error: Class with hash 0x101 is not declared, try using --class-hash with a hash of the declared class "}); @@ -264,7 +264,7 @@ pub async fn test_nonexistent_account_address() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stderr_matches(indoc! {r" + snapbox.assert().stderr_eq(indoc! {r" Command: account import Error: Class hash for the account address 0x123 could not be found. Please provide the class hash "}); @@ -399,7 +399,7 @@ pub async fn test_detect_deployed() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account imported successfully Account Name: my_account_import @@ -481,7 +481,7 @@ pub async fn test_private_key_from_file() { let snapbox = runner(&args).current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account imported successfully Account Name: my_account_import @@ -731,7 +731,7 @@ pub async fn test_happy_case_valid_address_computation() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account imported successfully Account Name: my_account_import @@ -789,7 +789,7 @@ pub async fn test_invalid_address_computation() { let snapbox = runner(&args).current_dir(tempdir.path()); let computed_address = "0xaf550326d32c8106ef08d25cbc0dba06e5cd10a2201c2e9bc5ad4cbbce45e6"; - snapbox.assert().stderr_matches(formatdoc! {r" + snapbox.assert().stderr_eq(formatdoc! {r" Command: account import Error: Computed address {computed_address} does not match the provided address 0x123. Please ensure that the provided salt, class hash, and account type are correct. "}); @@ -849,7 +849,7 @@ pub async fn test_happy_case_default_name_generation() { for i in 0..3 { let snapbox = runner(&import_args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" Success: Account imported successfully Account Name: account-{id} @@ -863,7 +863,7 @@ pub async fn test_happy_case_default_name_generation() { assert_eq!(contents_json, all_accounts_content); let snapbox = runner(&delete_args).current_dir(tempdir.path()).stdin("Y"); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" Success: Account deleted Account successfully removed @@ -876,7 +876,7 @@ pub async fn test_happy_case_default_name_generation() { assert_eq!(contents_json, accounts_content_after_delete); let snapbox = runner(&import_args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Success: Account imported successfully Account Name: account-2 diff --git a/crates/sncast/tests/e2e/balance.rs b/crates/sncast/tests/e2e/balance.rs index 1e0d5ae990..9f56c188c3 100644 --- a/crates/sncast/tests/e2e/balance.rs +++ b/crates/sncast/tests/e2e/balance.rs @@ -24,7 +24,7 @@ pub async fn happy_case() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Balance: [..] strk "}); } @@ -47,7 +47,7 @@ pub async fn happy_case_json() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r#" + snapbox.assert().stdout_eq(indoc! {r#" {"balance":"[..]","command":"balance","token":"strk","type":"response"} "#}); } @@ -74,7 +74,7 @@ pub async fn happy_case_with_token(token: &Token) { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" Balance: [..] {token} "}); } @@ -98,7 +98,7 @@ pub async fn happy_case_with_block_id() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Balance: [..] strk "}); } @@ -122,7 +122,7 @@ pub async fn invalid_token() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stderr_matches(indoc! {r" + snapbox.assert().stderr_eq(indoc! {r" error: invalid value 'xyz' for '--token ' [possible values: strk, eth] @@ -150,7 +150,7 @@ pub async fn happy_case_with_token_address() { let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().stdout_matches(indoc! {r" + snapbox.assert().stdout_eq(indoc! {r" Balance: [..] "}); } @@ -177,7 +177,7 @@ pub async fn happy_case_json_with_token_address() { assert!(!balance_str.contains("0x")); - output.stdout_matches(indoc! {r#" + output.stdout_eq(indoc! {r#" {"balance":"[..]"} "#}); } diff --git a/crates/sncast/tests/e2e/call.rs b/crates/sncast/tests/e2e/call.rs index 971da633b9..229f261cf0 100644 --- a/crates/sncast/tests/e2e/call.rs +++ b/crates/sncast/tests/e2e/call.rs @@ -7,7 +7,7 @@ use crate::helpers::shell::os_specific_shell; use camino::Utf8PathBuf; use indoc::indoc; use shared::test_utils::output_assert::assert_stderr_contains; -use snapbox::cmd::cargo_bin; +use snapbox::cargo_bin; use sncast::helpers::fee::FeeSettings; #[test] diff --git a/crates/sncast/tests/e2e/declare.rs b/crates/sncast/tests/e2e/declare.rs index fbc5e0da05..3cf5cb6aee 100644 --- a/crates/sncast/tests/e2e/declare.rs +++ b/crates/sncast/tests/e2e/declare.rs @@ -92,7 +92,7 @@ async fn test_happy_case_json_output() { .env("SNCAST_FORCE_SHOW_EXPLORER_LINKS", "1") .current_dir(tempdir.path()); - snapbox.assert().success().stdout_matches(indoc! { + snapbox.assert().success().stdout_eq(indoc! { r#" {"status":"compiling","message":"[..]"} {"type":"warn","message":"[..]"} diff --git a/crates/sncast/tests/e2e/deploy.rs b/crates/sncast/tests/e2e/deploy.rs index 3c01dab7da..c7ff39078b 100644 --- a/crates/sncast/tests/e2e/deploy.rs +++ b/crates/sncast/tests/e2e/deploy.rs @@ -13,7 +13,7 @@ use crate::helpers::shell::os_specific_shell; use camino::Utf8PathBuf; use indoc::indoc; use shared::test_utils::output_assert::{AsOutput, assert_stderr_contains, assert_stdout_contains}; -use snapbox::cmd::cargo_bin; +use snapbox::cargo_bin; use sncast::AccountType; use sncast::helpers::constants::OZ_CLASS_HASH; use sncast::helpers::fee::FeeArgs; diff --git a/crates/sncast/tests/e2e/invoke.rs b/crates/sncast/tests/e2e/invoke.rs index 39fe5ec0be..5673d57726 100644 --- a/crates/sncast/tests/e2e/invoke.rs +++ b/crates/sncast/tests/e2e/invoke.rs @@ -12,7 +12,7 @@ use crate::helpers::shell::os_specific_shell; use camino::Utf8PathBuf; use indoc::indoc; use shared::test_utils::output_assert::{assert_stderr_contains, assert_stdout_contains}; -use snapbox::cmd::cargo_bin; +use snapbox::cargo_bin; use sncast::AccountType; use sncast::helpers::constants::{BRAAVOS_CLASS_HASH, OZ_CLASS_HASH, READY_CLASS_HASH}; use sncast::helpers::fee::FeeArgs; diff --git a/crates/sncast/tests/e2e/multicall/run.rs b/crates/sncast/tests/e2e/multicall/run.rs index 18aad96140..795c8b3cfa 100644 --- a/crates/sncast/tests/e2e/multicall/run.rs +++ b/crates/sncast/tests/e2e/multicall/run.rs @@ -43,7 +43,7 @@ async fn test_happy_case(account: &str) { "Multicall error, stderr: \n{stderr_str}", ); - output.stdout_matches(indoc! {r" + output.stdout_eq(indoc! {r" Success: Multicall completed Transaction Hash: 0x[..] @@ -88,7 +88,7 @@ async fn test_calldata_ids() { "Multicall error, stderr: \n{stderr_str}", ); - output.stdout_matches(indoc! {r" + output.stdout_eq(indoc! {r" Success: Multicall completed Transaction Hash: 0x[..] @@ -271,7 +271,7 @@ async fn test_numeric_inputs() { "Multicall error, stderr: \n{stderr_str}", ); - output.stdout_matches(indoc! {r" + output.stdout_eq(indoc! {r" Success: Multicall completed Transaction Hash: 0x[..] @@ -312,7 +312,7 @@ async fn test_numeric_overflow() { indoc! {r" Command: multicall run Error: Failed to parse [..] - number too large to fit in target type + u64 value was too large "}, ); } diff --git a/crates/sncast/tests/e2e/script/call.rs b/crates/sncast/tests/e2e/script/call.rs index 56f537b1fe..a6c085a685 100644 --- a/crates/sncast/tests/e2e/script/call.rs +++ b/crates/sncast/tests/e2e/script/call.rs @@ -13,7 +13,7 @@ async fn test_happy_case() { let args = vec!["script", "run", &script_name, "--url", URL]; let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed diff --git a/crates/sncast/tests/e2e/script/declare.rs b/crates/sncast/tests/e2e/script/declare.rs index f6d824ec14..6523d8e599 100644 --- a/crates/sncast/tests/e2e/script/declare.rs +++ b/crates/sncast/tests/e2e/script/declare.rs @@ -80,7 +80,7 @@ async fn test_same_contract_twice() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {" + snapbox.assert().success().stdout_eq(indoc! {" ... success DeclareResult::Success(DeclareTransactionResult { class_hash: [..], transaction_hash: [..] }) @@ -119,7 +119,7 @@ async fn test_with_invalid_max_fee() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... ScriptCommandError::ProviderError(ProviderError::StarknetError(StarknetError::InsufficientResourcesForValidate(()))) Success: Script execution completed @@ -155,7 +155,7 @@ async fn test_with_invalid_nonce() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... ScriptCommandError::ProviderError(ProviderError::StarknetError(StarknetError::InvalidTransactionNonce(()))) Success: Script execution completed @@ -192,7 +192,7 @@ async fn test_insufficient_account_balance() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... ScriptCommandError::ProviderError(ProviderError::StarknetError(StarknetError::InsufficientAccountBalance(()))) Success: Script execution completed @@ -233,7 +233,7 @@ async fn test_sncast_timed_out() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... ScriptCommandError::WaitForTransactionError(WaitForTransactionError::TimedOut(())) Success: Script execution completed @@ -270,7 +270,7 @@ async fn test_fee_settings() { ]; let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... success Success: Script execution completed diff --git a/crates/sncast/tests/e2e/script/general.rs b/crates/sncast/tests/e2e/script/general.rs index 446c16641e..50735e6394 100644 --- a/crates/sncast/tests/e2e/script/general.rs +++ b/crates/sncast/tests/e2e/script/general.rs @@ -47,7 +47,7 @@ async fn test_happy_case(account: &str) { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed @@ -135,7 +135,7 @@ async fn test_incompatible_sncast_std_version() { let snapbox = runner(&args).current_dir(script_dir.path()); let version = env!("CARGO_PKG_VERSION"); - snapbox.assert().success().stdout_matches(formatdoc! {r" + snapbox.assert().success().stdout_eq(formatdoc! {r" ... [WARNING] Package sncast_std version does not meet the recommended version requirement ={version}, it might result in unexpected behaviour ... @@ -199,7 +199,7 @@ async fn test_multiple_packages_happy_case() { let snapbox = runner(&args).current_dir(workspace_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed @@ -236,7 +236,7 @@ async fn test_run_script_display_debug_traits() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... test declare_nonce: [..] @@ -291,7 +291,7 @@ async fn test_no_account_passed() { let args = vec!["script", "run", &script_name, "--url", URL]; let snapbox = runner(&args).current_dir(SCRIPTS_DIR.to_owned() + "/map_script/scripts"); - snapbox.assert().success().stdout_matches(indoc! {r#" + snapbox.assert().success().stdout_eq(indoc! {r#" ... Success: Script execution completed @@ -325,7 +325,7 @@ async fn test_missing_field() { ]; let snapbox = runner(&args).current_dir(tempdir.path()); - snapbox.assert().failure().stdout_matches(indoc! {r" + snapbox.assert().failure().stdout_eq(indoc! {r" ... error: Wrong number of arguments. Expected 3, found: 2 ... @@ -361,7 +361,7 @@ async fn test_run_script_twice_with_state_file_enabled() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed @@ -387,7 +387,7 @@ async fn test_run_script_twice_with_state_file_enabled() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed @@ -424,7 +424,7 @@ async fn test_state_file_contains_all_failed_txs() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed "}); @@ -512,7 +512,7 @@ async fn test_state_file_rerun_failed_tx() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed @@ -557,7 +557,7 @@ async fn test_using_release_profile() { let snapbox = runner(&args).current_dir(script_dir.path()); - snapbox.assert().success().stdout_matches(indoc! {r" + snapbox.assert().success().stdout_eq(indoc! {r" ... Success: Script execution completed diff --git a/crates/sncast/tests/e2e/script/init.rs b/crates/sncast/tests/e2e/script/init.rs index 1871cd211f..12c28fc40a 100644 --- a/crates/sncast/tests/e2e/script/init.rs +++ b/crates/sncast/tests/e2e/script/init.rs @@ -18,7 +18,7 @@ fn test_script_init_happy_case() { let snapbox = runner(&["script", "init", script_name]).current_dir(temp_dir.path()); - snapbox.assert().stdout_matches(formatdoc! {r" + snapbox.assert().stdout_eq(formatdoc! {r" [WARNING] [..] Success: Script initialization completed @@ -78,7 +78,7 @@ fn test_script_init_happy_case() { ) }; - snapbox::assert_matches(expected_scarb_toml, scarb_toml_content); + snapbox::assert_data_eq!(scarb_toml_content, expected_scarb_toml); assert_eq!( lib_cairo_content, diff --git a/crates/sncast/tests/e2e/serialize.rs b/crates/sncast/tests/e2e/serialize.rs index 8b05c0169e..0c6540e6af 100644 --- a/crates/sncast/tests/e2e/serialize.rs +++ b/crates/sncast/tests/e2e/serialize.rs @@ -7,7 +7,7 @@ use crate::helpers::shell::os_specific_shell; use camino::Utf8PathBuf; use indoc::indoc; use shared::test_utils::output_assert::assert_stderr_contains; -use snapbox::cmd::cargo_bin; +use snapbox::cargo_bin; use tempfile::tempdir; #[tokio::test] diff --git a/crates/sncast/tests/helpers/runner.rs b/crates/sncast/tests/helpers/runner.rs index 5560827c42..da0b75c3c2 100644 --- a/crates/sncast/tests/helpers/runner.rs +++ b/crates/sncast/tests/helpers/runner.rs @@ -1,4 +1,5 @@ -use snapbox::cmd::{Command, cargo_bin}; +use snapbox::cargo_bin; +use snapbox::cmd::Command; #[must_use] pub fn runner(args: &[&str]) -> Command {