diff --git a/lib/spack/spack/cmd/clean.py b/lib/spack/spack/cmd/clean.py index 4006b645f91..813db89f812 100644 --- a/lib/spack/spack/cmd/clean.py +++ b/lib/spack/spack/cmd/clean.py @@ -6,12 +6,13 @@ import argparse import os import shutil +import collections import llnl.util.tty as tty import llnl.util.filesystem as fs import spack.caches -import spack.cmd +import spack.cmd.test import spack.cmd.common.arguments as arguments import spack.repo import spack.stage @@ -89,7 +90,8 @@ def clean(parser, args): if args.test_stage: tty.msg("Removing files in test stage") - spack.cmd.test.test_remove(NamedTuple({'name': None})) + test_remove_args = collections.namedtuple('args', ['name'])(None) + spack.cmd.test.test_remove(test_remove_args) if args.python_cache: tty.msg('Removing python cache files') diff --git a/lib/spack/spack/cmd/test.py b/lib/spack/spack/cmd/test.py index 6ec9f5d9b0a..9aa353033a6 100644 --- a/lib/spack/spack/cmd/test.py +++ b/lib/spack/spack/cmd/test.py @@ -148,7 +148,7 @@ def test_run(args): reporter.specs = specs_to_test # test_stage_dir - stage = _get_stage(test_name) + stage = get_stage(test_name) fs.mkdirp(stage) with reporter('test', stage): @@ -170,7 +170,7 @@ def test_run(args): def test_list(args): """List tests that are running or have available results.""" - stage_dir = _get_stage() + stage_dir = get_stage() tests = os.listdir(stage_dir) # Filter tests by filter argument @@ -200,7 +200,7 @@ def match(t, f): def test_status(args): """Get the current status for a particular Spack test.""" name = args.name - stage = _get_stage(name) + stage = get_stage(name) if os.path.exists(stage): # TODO: Make this handle capability tests too @@ -212,7 +212,7 @@ def test_status(args): def test_results(args): """Get the results for a particular Spack test.""" name = args.name - stage = _get_stage(name) + stage = get_stage(name) # TODO: Make this handle capability tests too # The results file may turn out to be a placeholder for future work @@ -241,7 +241,7 @@ def test_remove(args): Removed tests can no longer be accessed for results or status, and will not appear in `spack test list` results.""" - stage_dir = _get_stage(args.name) + stage_dir = get_stage(args.name) if args.name: shutil.rmtree(stage_dir) else: @@ -252,7 +252,7 @@ def test(parser, args): globals()['test_%s' % args.test_command](args) -def _get_stage(name=None): +def get_stage(name=None): """ Return the test stage for the named test or the overall test stage. """ @@ -265,5 +265,5 @@ def _get_results_file(name): """ Return the results file for the named test. """ - stage = _get_stage(name) + stage = get_stage(name) return os.path.join(stage, 'results.txt') diff --git a/lib/spack/spack/package.py b/lib/spack/spack/package.py index 6d908817538..0e0463435e2 100644 --- a/lib/spack/spack/package.py +++ b/lib/spack/spack/package.py @@ -1618,10 +1618,7 @@ def do_test(self, name, remove_directory=False, dirty=False): # Clear test failures self.test_failures = [] - self.test_stage = Prefix(os.path.join( - sup.canonicalize_path( - spack.config.get('config:test_stage', os.getcwd())), - name)) + self.test_stage = Prefix(spack.cmd.test.get_stage(name)) if not os.path.exists(self.test_stage): mkdirp(self.test_stage) self.test_log_file = os.path.join(self.test_stage, self.test_log_name)