From 99785643a332edc7797a20f42d7c76102ec1c356 Mon Sep 17 00:00:00 2001 From: Arsenii Kulikov Date: Sat, 6 Apr 2024 01:57:03 +0400 Subject: [PATCH 1/2] fix: --match-path is broken --- crates/forge/bin/cmd/test/filter.rs | 6 ++++-- crates/forge/tests/cli/test_cmd.rs | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/crates/forge/bin/cmd/test/filter.rs b/crates/forge/bin/cmd/test/filter.rs index 65d3d0ed508d..eb8baea4620f 100644 --- a/crates/forge/bin/cmd/test/filter.rs +++ b/crates/forge/bin/cmd/test/filter.rs @@ -196,7 +196,8 @@ impl FileFilter for ProjectPathsAwareFilter { /// /// If no file regex is set this returns true if the file ends with `.t.sol`, see /// [FoundryPathExr::is_sol_test()] - fn is_match(&self, file: &Path) -> bool { + fn is_match(&self, mut file: &Path) -> bool { + file = file.strip_prefix(&self.paths.root).unwrap_or(file); self.args_filter.is_match(file) } } @@ -210,8 +211,9 @@ impl TestFilter for ProjectPathsAwareFilter { self.args_filter.matches_contract(contract_name) } - fn matches_path(&self, path: &Path) -> bool { + fn matches_path(&self, mut path: &Path) -> bool { // we don't want to test files that belong to a library + path = path.strip_prefix(&self.paths.root).unwrap_or(path); self.args_filter.matches_path(path) && !self.paths.has_library_ancestor(path) } } diff --git a/crates/forge/tests/cli/test_cmd.rs b/crates/forge/tests/cli/test_cmd.rs index 5aad1848a477..d5d102e1e609 100644 --- a/crates/forge/tests/cli/test_cmd.rs +++ b/crates/forge/tests/cli/test_cmd.rs @@ -526,3 +526,22 @@ contract GasLimitTest is Test { cmd.args(["test", "-vvvv", "--isolate", "--disable-block-gas-limit"]).assert_success(); }); + +// tests that warning is displayed with pattern when no tests match +forgetest!(test_match_path, |prj, cmd| { + prj.add_source( + "dummy", + r" +contract Dummy { + function testDummy() public {} +} +", + ) + .unwrap(); + + // set up command + cmd.args(["test", "--match-path", "src/dummy.sol"]); + + // run command and assert + cmd.assert_success() +}); From 21f23d1357b6915d88b4c2190c9c7cab39637bde Mon Sep 17 00:00:00 2001 From: Arsenii Kulikov Date: Sat, 6 Apr 2024 02:01:49 +0400 Subject: [PATCH 2/2] rm docs --- crates/forge/tests/cli/test_cmd.rs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/crates/forge/tests/cli/test_cmd.rs b/crates/forge/tests/cli/test_cmd.rs index d5d102e1e609..5872cc72e924 100644 --- a/crates/forge/tests/cli/test_cmd.rs +++ b/crates/forge/tests/cli/test_cmd.rs @@ -527,7 +527,6 @@ contract GasLimitTest is Test { cmd.args(["test", "-vvvv", "--isolate", "--disable-block-gas-limit"]).assert_success(); }); -// tests that warning is displayed with pattern when no tests match forgetest!(test_match_path, |prj, cmd| { prj.add_source( "dummy", @@ -539,9 +538,6 @@ contract Dummy { ) .unwrap(); - // set up command cmd.args(["test", "--match-path", "src/dummy.sol"]); - - // run command and assert cmd.assert_success() });