diff options
author | Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> | 2020-03-05 16:54:29 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-05 16:54:29 -0800 |
commit | b2e7e7edaa93f838d46ca62817b0215d089b048a (patch) | |
tree | 048be6778c88a761d67d233b86c7778121b97097 | |
parent | dd8afca9d8156434a95a1d7ff48bc62cce069558 (diff) | |
download | spack-b2e7e7edaa93f838d46ca62817b0215d089b048a.tar.gz spack-b2e7e7edaa93f838d46ca62817b0215d089b048a.tar.bz2 spack-b2e7e7edaa93f838d46ca62817b0215d089b048a.tar.xz spack-b2e7e7edaa93f838d46ca62817b0215d089b048a.zip |
Recover coverage from subprocesses during unit tests (#15354)
* Recover coverage from subprocesses during unit tests
-rw-r--r-- | lib/spack/spack/cmd/test.py | 2 | ||||
-rw-r--r-- | lib/spack/spack/test/cmd/test.py | 11 | ||||
-rw-r--r-- | lib/spack/spack/test/llnl/util/log.py | 9 | ||||
-rw-r--r-- | pytest.ini (renamed from lib/spack/spack/test/pytest.ini) | 2 | ||||
-rwxr-xr-x | share/spack/qa/run-unit-tests | 8 |
5 files changed, 16 insertions, 16 deletions
diff --git a/lib/spack/spack/cmd/test.py b/lib/spack/spack/cmd/test.py index f2ca8fc93b..8cbc0fbccf 100644 --- a/lib/spack/spack/cmd/test.py +++ b/lib/spack/spack/cmd/test.py @@ -154,7 +154,7 @@ def test(parser, args, unknown_args): # The default is to test the core of Spack. If the option `--extension` # has been used, then test that extension. - pytest_root = spack.paths.test_path + pytest_root = spack.paths.spack_root if args.extension: target = args.extension extensions = spack.config.get('config:extensions') diff --git a/lib/spack/spack/test/cmd/test.py b/lib/spack/spack/test/cmd/test.py index 9a64209cfa..a9ef735afe 100644 --- a/lib/spack/spack/test/cmd/test.py +++ b/lib/spack/spack/test/cmd/test.py @@ -6,6 +6,7 @@ from spack.main import SpackCommand spack_test = SpackCommand('test') +cmd_test_py = 'lib/spack/spack/test/cmd/test.py' def test_list(): @@ -16,13 +17,13 @@ def test_list(): def test_list_with_pytest_arg(): - output = spack_test('--list', 'cmd/test.py') - assert output.strip() == "cmd/test.py" + output = spack_test('--list', cmd_test_py) + assert output.strip() == cmd_test_py def test_list_with_keywords(): output = spack_test('--list', '-k', 'cmd/test.py') - assert output.strip() == "cmd/test.py" + assert output.strip() == cmd_test_py def test_list_long(capsys): @@ -44,7 +45,7 @@ def test_list_long(capsys): def test_list_long_with_pytest_arg(capsys): with capsys.disabled(): - output = spack_test('--list-long', 'cmd/test.py') + output = spack_test('--list-long', cmd_test_py) assert "test.py::\n" in output assert "test_list" in output assert "test_list_with_pytest_arg" in output @@ -74,7 +75,7 @@ def test_list_names(): def test_list_names_with_pytest_arg(): - output = spack_test('--list-names', 'cmd/test.py') + output = spack_test('--list-names', cmd_test_py) assert "test.py::test_list\n" in output assert "test.py::test_list_with_pytest_arg\n" in output assert "test.py::test_list_with_keywords\n" in output diff --git a/lib/spack/spack/test/llnl/util/log.py b/lib/spack/spack/test/llnl/util/log.py index 1eae1ccf69..0c879c5a6e 100644 --- a/lib/spack/spack/test/llnl/util/log.py +++ b/lib/spack/spack/test/llnl/util/log.py @@ -32,7 +32,8 @@ def test_log_python_output_with_fd_stream(capfd, tmpdir): with open('foo.txt') as f: assert f.read() == 'logged\n' - assert capfd.readouterr() == ('', '') + # Coverage is cluttering stderr during tests + assert capfd.readouterr()[0] == '' def test_log_python_output_and_echo_output(capfd, tmpdir): @@ -42,7 +43,8 @@ def test_log_python_output_and_echo_output(capfd, tmpdir): print('echo') print('logged') - assert capfd.readouterr() == ('echo\n', '') + # Coverage is cluttering stderr during tests + assert capfd.readouterr()[0] == 'echo\n' with open('foo.txt') as f: assert f.read() == 'echo\nlogged\n' @@ -75,7 +77,8 @@ def test_log_subproc_and_echo_output(capfd, tmpdir): echo('echo') print('logged') - assert capfd.readouterr() == ('echo\n', '') + # Coverage is cluttering stderr during tests + assert capfd.readouterr()[0] == 'echo\n' with open('foo.txt') as f: assert f.read() == 'logged\n' diff --git a/lib/spack/spack/test/pytest.ini b/pytest.ini index 59839c0005..baf163ef0b 100644 --- a/lib/spack/spack/test/pytest.ini +++ b/pytest.ini @@ -1,7 +1,7 @@ # content of pytest.ini [pytest] addopts = --durations=20 -ra -testpaths = . +testpaths = lib/spack/spack/test python_files = *.py markers = db: tests that require creating a DB diff --git a/share/spack/qa/run-unit-tests b/share/spack/qa/run-unit-tests index 52748dacdf..01f564e5e1 100755 --- a/share/spack/qa/run-unit-tests +++ b/share/spack/qa/run-unit-tests @@ -37,16 +37,12 @@ bin/spack -h bin/spack help -a # Profile and print top 20 lines for a simple call to spack spec -bin/spack -p --lines 20 spec mpileaks%gcc ^elfutils@0.170 +spack -p --lines 20 spec mpileaks%gcc ^elfutils@0.170 #----------------------------------------------------------- # Run unit tests with code coverage #----------------------------------------------------------- -extra_args="" -if [[ -n "$@" ]]; then - extra_args="-k $@" -fi -$coverage_run bin/spack test -x --verbose "$extra_args" +$coverage_run $(which spack) test -x --verbose #----------------------------------------------------------- # Run tests for setup-env.sh |