Skip to content

Commit 059ec34

Browse files
committed
added other filter types
1 parent f07a5ab commit 059ec34

File tree

1 file changed

+52
-2
lines changed

1 file changed

+52
-2
lines changed

src/rez/tests/test_package_filter.py

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
"""
88
from rez.tests.util import TestBase
99
from rez.packages import iter_packages
10-
from rez.package_filter import PackageFilter, PackageFilterList, GlobRule
10+
from rez.vendor.version.requirement import Requirement
11+
from rez.package_filter import PackageFilter, PackageFilterList, GlobRule, \
12+
RegexRule, RangeRule, TimestampRule
1113

1214

1315
class TestPackageFilter(TestBase):
@@ -71,7 +73,7 @@ def test_empty_filter_list(self):
7173
)
7274

7375
def test_glob_filter(self):
74-
"""Very simply filter test
76+
"""Test the glob filter.
7577
"""
7678
fltr = PackageFilter()
7779
fltr.add_exclusion(GlobRule("timestamped-*.5"))
@@ -89,6 +91,54 @@ def test_glob_filter(self):
8991
]
9092
)
9193

94+
def test_regex_filter(self):
95+
"""Test the regex filter.
96+
"""
97+
fltr = PackageFilter()
98+
fltr.add_exclusion(RegexRule("timestamped-1.[1|2].*"))
99+
100+
self._test(
101+
fltr,
102+
"timestamped",
103+
[
104+
"1.0.5",
105+
"1.0.6",
106+
"2.0.0",
107+
"2.1.0",
108+
"2.1.5"
109+
]
110+
)
111+
112+
def test_range_filter(self):
113+
"""Test the range filter.
114+
"""
115+
fltr = PackageFilter()
116+
fltr.add_exclusion(RangeRule(Requirement("timestamped-1.1+")))
117+
118+
self._test(
119+
fltr,
120+
"timestamped",
121+
[
122+
"1.0.5",
123+
"1.0.6"
124+
]
125+
)
126+
127+
def test_timestamp_filter(self):
128+
"""Test the timestamp filter.
129+
"""
130+
fltr = PackageFilter()
131+
fltr.add_exclusion(TimestampRule(6999, family="timestamped"))
132+
133+
self._test(
134+
fltr,
135+
"timestamped",
136+
[
137+
"2.1.0",
138+
"2.1.5"
139+
]
140+
)
141+
92142
def test_otherfam_filter(self):
93143
"""Test that a filter on a different fam has no effect
94144
"""

0 commit comments

Comments
 (0)