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:
		
							
								
								
									
										52
									
								
								conftest.py
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								conftest.py
									
									
									
									
									
								
							| @@ -1,52 +0,0 @@ | |||||||
| ############################################################################## |  | ||||||
| # Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. |  | ||||||
| # Produced at the Lawrence Livermore National Laboratory. |  | ||||||
| # |  | ||||||
| # This file is part of Spack. |  | ||||||
| # Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. |  | ||||||
| # LLNL-CODE-647188 |  | ||||||
| # |  | ||||||
| # For details, see https://github.com/spack/spack |  | ||||||
| # Please also see the NOTICE and LICENSE files for our notice and the LGPL. |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU Lesser General Public License (as |  | ||||||
| # published by the Free Software Foundation) version 2.1, February 1999. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, but |  | ||||||
| # WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and |  | ||||||
| # conditions of the GNU Lesser General Public License for more details. |  | ||||||
| # |  | ||||||
| # You should have received a copy of the GNU Lesser General Public |  | ||||||
| # License along with this program; if not, write to the Free Software |  | ||||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |  | ||||||
| ############################################################################## |  | ||||||
|  |  | ||||||
| import pytest |  | ||||||
|  |  | ||||||
|  |  | ||||||
| # 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) |  | ||||||
| @@ -97,7 +97,7 @@ def test(parser, args, unknown_args): | |||||||
|         return |         return | ||||||
|  |  | ||||||
|     # pytest.ini lives in the root of the spack repository. |     # 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. |         # --list and --long-list print the test output better. | ||||||
|         if args.list or args.long_list: |         if args.list or args.long_list: | ||||||
|             do_list(args, unknown_args) |             do_list(args, unknown_args) | ||||||
|   | |||||||
| @@ -53,6 +53,32 @@ | |||||||
| from spack.version import Version | 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 | # These fixtures are applied to all tests | ||||||
| # | # | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| # content of pytest.ini | # content of pytest.ini | ||||||
| [pytest] | [pytest] | ||||||
| addopts = --durations=20 -ra | addopts = --durations=20 -ra | ||||||
| testpaths = lib/spack/spack/test | testpaths = . | ||||||
| python_files = *.py | python_files = *.py | ||||||
| markers = | markers = | ||||||
|   db: tests that require creating a DB |   db: tests that require creating a DB | ||||||
		Reference in New Issue
	
	Block a user
	 Todd Gamblin
					Todd Gamblin