Skip to content

Commit 30e31cc

Browse files
committed
Add --enable-extension option
1 parent f37b17c commit 30e31cc

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

array_api_tests/conftest.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,18 @@
99
def pytest_addoption(parser):
1010
parser.addoption(
1111
'--disable-extension',
12+
metavar='ext',
1213
nargs='+',
1314
default=[],
1415
help='disable testing for Array API extension(s)',
1516
)
17+
parser.addoption(
18+
'--enable-extension',
19+
metavar='ext',
20+
nargs='+',
21+
default=[],
22+
help='enable testing for Array API extension(s)',
23+
)
1624

1725

1826
def pytest_configure(config):
@@ -31,6 +39,10 @@ def xp_has_ext(ext: str) -> bool:
3139

3240
def pytest_collection_modifyitems(config, items):
3341
disabled_exts = config.getoption('--disable-extension')
42+
enabled_exts = config.getoption('--enable-extension')
43+
for ext in disabled_exts:
44+
if ext in enabled_exts:
45+
raise ValueError(f'{ext=} both enabled and disabled')
3446
for item in items:
3547
try:
3648
ext_mark = next(
@@ -41,5 +53,5 @@ def pytest_collection_modifyitems(config, items):
4153
ext = ext_mark.args[0]
4254
if ext in disabled_exts:
4355
item.add_marker(mark.skip(reason=f'{ext} disabled in --disable-extensions'))
44-
elif not xp_has_ext(ext):
56+
elif not ext in enabled_exts and not xp_has_ext(ext):
4557
item.add_marker(mark.skip(reason=f'{ext} not found in array module'))

0 commit comments

Comments
 (0)