From e5dfe061e60608146ea19d25dd80782326ca50be Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Tue, 2 Aug 2022 15:15:58 +0200 Subject: [PATCH] replace regex with pattern --- empack/filter_env.py | 12 ++++++++---- tests/test_filter.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/empack/filter_env.py b/empack/filter_env.py index aefa8e2..df90d87 100644 --- a/empack/filter_env.py +++ b/empack/filter_env.py @@ -22,11 +22,15 @@ }, "default": { "include_patterns": [ - { - "regex": R"^(?!.*\/tests\/).*((.*.\.py$)|(.*.\.so$))", - } + {"pattern": "*.py"}, + {"pattern": "lib/*.so*"}, + ], + "exclude_patterns": [ + {"pattern": "tests/*"}, + {"pattern": "docs/*"}, + {"pattern": "*/tests/*"}, + {"pattern": "*/docs/*"}, ], - "exclude_patterns": [], }, } diff --git a/tests/test_filter.py b/tests/test_filter.py index 08e9af2..f92d2e8 100644 --- a/tests/test_filter.py +++ b/tests/test_filter.py @@ -52,6 +52,34 @@ def test_empty_file_filter(): assert not fp.match("/hometests/fu/bar.so") +def test_default_patterns(): + + fp = FileFilter.parse_obj( + { + "include_patterns": [ + {"pattern": "*.py"}, + {"pattern": "lib/*.so*"}, + ], + "exclude_patterns": [ + {"pattern": "tests/*"}, + {"pattern": "docs/*"}, + {"pattern": "*/tests/*"}, + {"pattern": "*/docs/*"}, + ], + } + ) + + assert fp.match("mylib/some/file.py") + assert fp.match("lib/xyz.so") + assert fp.match("lib/xyz.so.32.1") + assert fp.match("lib/some/xyz.so.32.1") + + assert not fp.match("tests/myother.py") + assert not fp.match("docs/myother.py") + assert not fp.match("xyz/docs/myother.py") + assert not fp.match("xyz/tests/myother.py") + + if __name__ == "__main__": import sys