refactor: move pytest.ini and top-level conftest.py to lib/spack/spack/test
- removes two files from root of repository - `spack test` still works fine to run tests
This commit is contained in:
@@ -97,7 +97,7 @@ def test(parser, args, unknown_args):
|
||||
return
|
||||
|
||||
# pytest.ini lives in the root of the spack repository.
|
||||
with working_dir(spack.paths.prefix):
|
||||
with working_dir(spack.paths.test_path):
|
||||
# --list and --long-list print the test output better.
|
||||
if args.list or args.long_list:
|
||||
do_list(args, unknown_args)
|
||||
|
@@ -53,6 +53,32 @@
|
||||
from spack.version import Version
|
||||
|
||||
|
||||
# Hooks to add command line options or set other custom behaviors.
|
||||
# They must be placed here to be found by pytest. See:
|
||||
#
|
||||
# https://docs.pytest.org/en/latest/writing_plugins.html
|
||||
#
|
||||
def pytest_addoption(parser):
|
||||
group = parser.getgroup("Spack specific command line options")
|
||||
group.addoption(
|
||||
'--fast', action='store_true', default=False,
|
||||
help='runs only "fast" unit tests, instead of the whole suite')
|
||||
|
||||
|
||||
def pytest_collection_modifyitems(config, items):
|
||||
if not config.getoption('--fast'):
|
||||
# --fast not given, run all the tests
|
||||
return
|
||||
|
||||
slow_tests = ['db', 'network', 'maybeslow']
|
||||
skip_as_slow = pytest.mark.skip(
|
||||
reason='skipped slow test [--fast command line option given]'
|
||||
)
|
||||
for item in items:
|
||||
if any(x in item.keywords for x in slow_tests):
|
||||
item.add_marker(skip_as_slow)
|
||||
|
||||
|
||||
#
|
||||
# These fixtures are applied to all tests
|
||||
#
|
||||
|
9
lib/spack/spack/test/pytest.ini
Normal file
9
lib/spack/spack/test/pytest.ini
Normal file
@@ -0,0 +1,9 @@
|
||||
# content of pytest.ini
|
||||
[pytest]
|
||||
addopts = --durations=20 -ra
|
||||
testpaths = .
|
||||
python_files = *.py
|
||||
markers =
|
||||
db: tests that require creating a DB
|
||||
network: tests that require access to the network
|
||||
maybeslow: tests that may be slow (e.g. access a lot the filesystem, etc.)
|
Reference in New Issue
Block a user