@@ -298,7 +298,7 @@ def test_find_sources_exclude(self) -> None:
298298 }
299299
300300 # file name
301- options .exclude = r"/f\.py$"
301+ options .exclude = [ r"/f\.py$" ]
302302 fscache = FakeFSCache (files )
303303 assert find_sources (["/" ], options , fscache ) == [
304304 ("a2" , "/pkg" ),
@@ -309,7 +309,7 @@ def test_find_sources_exclude(self) -> None:
309309 assert find_sources (["/pkg/a2/b/f.py" ], options , fscache ) == [('a2.b.f' , '/pkg' )]
310310
311311 # directory name
312- options .exclude = "/a1/"
312+ options .exclude = [ "/a1/" ]
313313 fscache = FakeFSCache (files )
314314 assert find_sources (["/" ], options , fscache ) == [
315315 ("a2" , "/pkg" ),
@@ -323,13 +323,13 @@ def test_find_sources_exclude(self) -> None:
323323 with pytest .raises (InvalidSourceList ):
324324 find_sources (["/pkg/a1/b" ], options , fscache )
325325
326- options .exclude = "/a1/$"
326+ options .exclude = [ "/a1/$" ]
327327 assert find_sources (["/pkg/a1" ], options , fscache ) == [
328328 ('e' , '/pkg/a1/b/c/d' ), ('f' , '/pkg/a1/b' )
329329 ]
330330
331331 # paths
332- options .exclude = "/pkg/a1/"
332+ options .exclude = [ "/pkg/a1/" ]
333333 fscache = FakeFSCache (files )
334334 assert find_sources (["/" ], options , fscache ) == [
335335 ("a2" , "/pkg" ),
@@ -339,15 +339,17 @@ def test_find_sources_exclude(self) -> None:
339339 with pytest .raises (InvalidSourceList ):
340340 find_sources (["/pkg/a1" ], options , fscache )
341341
342- options .exclude = "/(a1|a3)/"
343- fscache = FakeFSCache (files )
344- assert find_sources (["/" ], options , fscache ) == [
345- ("a2" , "/pkg" ),
346- ("a2.b.c.d.e" , "/pkg" ),
347- ("a2.b.f" , "/pkg" ),
348- ]
342+ # OR two patterns together
343+ for orred in [["/(a1|a3)/" ], ["a1" , "a3" ], ["a3" , "a1" ]]:
344+ options .exclude = orred
345+ fscache = FakeFSCache (files )
346+ assert find_sources (["/" ], options , fscache ) == [
347+ ("a2" , "/pkg" ),
348+ ("a2.b.c.d.e" , "/pkg" ),
349+ ("a2.b.f" , "/pkg" ),
350+ ]
349351
350- options .exclude = "b/c/"
352+ options .exclude = [ "b/c/" ]
351353 fscache = FakeFSCache (files )
352354 assert find_sources (["/" ], options , fscache ) == [
353355 ("a2" , "/pkg" ),
@@ -356,19 +358,22 @@ def test_find_sources_exclude(self) -> None:
356358 ]
357359
358360 # nothing should be ignored as a result of this
359- options . exclude = "|" . join ((
361+ big_exclude1 = [
360362 "/pkg/a/" , "/2" , "/1" , "/pk/" , "/kg" , "/g.py" , "/bc" , "/xxx/pkg/a2/b/f.py"
361363 "xxx/pkg/a2/b/f.py" ,
362- ))
363- fscache = FakeFSCache (files )
364- assert len (find_sources (["/" ], options , fscache )) == len (files )
365-
366- files = {
367- "pkg/a1/b/c/d/e.py" ,
368- "pkg/a1/b/f.py" ,
369- "pkg/a2/__init__.py" ,
370- "pkg/a2/b/c/d/e.py" ,
371- "pkg/a2/b/f.py" ,
372- }
373- fscache = FakeFSCache (files )
374- assert len (find_sources (["." ], options , fscache )) == len (files )
364+ ]
365+ big_exclude2 = ["|" .join (big_exclude1 )]
366+ for big_exclude in [big_exclude1 , big_exclude2 ]:
367+ options .exclude = big_exclude
368+ fscache = FakeFSCache (files )
369+ assert len (find_sources (["/" ], options , fscache )) == len (files )
370+
371+ files = {
372+ "pkg/a1/b/c/d/e.py" ,
373+ "pkg/a1/b/f.py" ,
374+ "pkg/a2/__init__.py" ,
375+ "pkg/a2/b/c/d/e.py" ,
376+ "pkg/a2/b/f.py" ,
377+ }
378+ fscache = FakeFSCache (files )
379+ assert len (find_sources (["." ], options , fscache )) == len (files )
0 commit comments