From 2892d44aadd7e49f394be6c7fc35cbb97fe5e987 Mon Sep 17 00:00:00 2001 From: maciektr Date: Wed, 27 Sep 2023 18:56:05 +0200 Subject: [PATCH] Use packages filter env var in cairo-test commit-id:83b56a17 --- extensions/scarb-cairo-test/src/main.rs | 17 +++++++++-------- extensions/scarb-cairo-test/tests/examples.rs | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/extensions/scarb-cairo-test/src/main.rs b/extensions/scarb-cairo-test/src/main.rs index b98ae0c3c..ef6742a2f 100644 --- a/extensions/scarb-cairo-test/src/main.rs +++ b/extensions/scarb-cairo-test/src/main.rs @@ -35,6 +35,14 @@ fn main() -> Result<()> { check_scarb_version(&metadata); + let matched = args.packages_filter.match_many(&metadata)?; + let filter = PackagesFilter::generate_for::(matched.iter()); + ScarbCommand::new() + .arg("build") + .arg("--test") + .env("SCARB_PACKAGES_FILTER", filter.to_env()) + .run()?; + let profile = env::var("SCARB_PROFILE").unwrap_or("dev".into()); let default_target_dir = metadata.runtime_manifest.join("target"); let target_dir = metadata @@ -43,16 +51,9 @@ fn main() -> Result<()> { .unwrap_or(default_target_dir) .join(profile); - for package in args.packages_filter.match_many(&metadata)? { + for package in matched { println!("testing {} ...", package.name); - ScarbCommand::new() - .arg("build") - .arg("--test") - .arg("-p") - .arg(package.name) - .run()?; - for target in find_testable_targets(&metadata, &package.id) { let file_path = target_dir.join(format!("{}.test.json", target.name.clone())); let test_compilation = serde_json::from_str::( diff --git a/extensions/scarb-cairo-test/tests/examples.rs b/extensions/scarb-cairo-test/tests/examples.rs index 919f03dc3..4e16a37c8 100644 --- a/extensions/scarb-cairo-test/tests/examples.rs +++ b/extensions/scarb-cairo-test/tests/examples.rs @@ -8,6 +8,7 @@ use test_for_each_example::test_for_each_example; fn cairo_test(example: &Path) { Command::new(cargo_bin("scarb")) .arg("cairo-test") + .arg("--workspace") .current_dir(example) .assert() .success();