diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py index 49cf8bfd97b..f438139702d 100644 --- a/var/spack/repos/builtin/packages/berkeley-db/package.py +++ b/var/spack/repos/builtin/packages/berkeley-db/package.py @@ -50,5 +50,5 @@ def test(self): for exe in exes: reason = 'test version of {0} is {1}'.format(exe, self.spec.version) - self.run_test(exe, ['-V'], [self.spec.version.string], None, + self.run_test(exe, ['-V'], [self.spec.version.string], installed=True, purpose=reason, skip_missing=True) diff --git a/var/spack/repos/builtin/packages/emacs/package.py b/var/spack/repos/builtin/packages/emacs/package.py index c7a9203b2df..09e0aff59fd 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -85,20 +85,12 @@ def configure_args(self): def _test_check_versions(self): """Perform version checks on installed package binaries.""" - spec_vers = str(self.spec.version) - - checks = { - 'ctags': ([spec_vers], None), - 'ebrowse': ([spec_vers], None), - 'emacs': ([spec_vers], None), - 'emacsclient': ([spec_vers], None), - 'etags': ([spec_vers], None), - } + checks = ['ctags', 'ebrowse', 'emacs', 'emacsclient', 'etags'] for exe in checks: - expected, status = checks[exe] - reason = 'test version of {0} is {1}'.format(exe, expected[0]) - self.run_test(exe, ['--version'], expected, status, installed=True, + expected = str(self.spec.version) + reason = 'test version of {0} is {1}'.format(exe, expected) + self.run_test(exe, ['--version'], expected, installed=True, purpose=reason, skip_missing=True) def test(self): diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py index a6bc4543fbb..143967f0726 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -390,7 +390,7 @@ def _test_check_versions(self): for exe in exes: reason = 'test version of {0} is {1}'.format(exe, spec_vers_str) option = '-V' if exe in use_short_opt else '--version' - self.run_test(exe, [option], spec_vers_str, None, installed=True, + self.run_test(exe, [option], spec_vers_str, installed=True, purpose=reason, skip_missing=True) def _test_example(self): @@ -402,17 +402,17 @@ def _test_example(self): output = '' with open(dump_file) as fd: output == fd.read() - self.run_test('h5dump', [h5_file], output, None, installed=True, + self.run_test('h5dump', [h5_file], output, installed=True, purpose=reason, skip_missing=True, work_dir='.') reason = 'test: ensure h5copy runs' options = ['-i', h5_file, '-s', 'Spack', '-o', 'test.h5', '-d', 'Spack'] - self.run_test('h5copy', options, '', None, installed=True, + self.run_test('h5copy', options, installed=True, purpose=reason, skip_missing=True, work_dir='.') reason = 'test: ensure h5diff shows no differences in orig and copy' options = [h5_file, 'test.h5'] - self.run_test('h5diff', options, '', None, installed=True, + self.run_test('h5diff', options, installed=True, purpose=reason, skip_missing=True, work_dir='.') def test(self): diff --git a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py index dda0cb603e3..3010fdb4d33 100644 --- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py +++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py @@ -234,7 +234,3 @@ def setup_run_environment(self, env): for name, value in self.mpi_compiler_wrappers.items(): env.set(name, value) - - def test(self): - self.test_compiler() - # TODO: test other components diff --git a/var/spack/repos/builtin/packages/kcov/package.py b/var/spack/repos/builtin/packages/kcov/package.py index 8f01ffc9855..5e7bf48bd53 100644 --- a/var/spack/repos/builtin/packages/kcov/package.py +++ b/var/spack/repos/builtin/packages/kcov/package.py @@ -27,7 +27,7 @@ def cmake_args(self): @run_after('install') @on_package_attributes(run_tests=True) - def test(self): + def test_install(self): # The help message exits with an exit code of 1 kcov = Executable(self.prefix.bin.kcov) kcov('-h', ignore_errors=1) diff --git a/var/spack/repos/builtin/packages/libsigsegv/package.py b/var/spack/repos/builtin/packages/libsigsegv/package.py index dac814963a6..024fc14b1ac 100644 --- a/var/spack/repos/builtin/packages/libsigsegv/package.py +++ b/var/spack/repos/builtin/packages/libsigsegv/package.py @@ -53,7 +53,7 @@ def _run_smoke_tests(self): with open('./data/smoke_test.out', 'r') as fd: expected = fd.read() reason = 'test ability to use the library' - self.run_test(prog, [], expected, None, False, purpose=reason) + self.run_test(prog, [], expected, purpose=reason) def _run_build_tests(self): """Build and run selected tests pulled from the build.""" @@ -63,18 +63,16 @@ def _run_build_tests(self): # Run the build tests to confirm the expected output passed = 'Test passed' checks = { - 'sigsegv1': ([passed], None), - 'sigsegv2': ([passed], None), - 'sigsegv3': (['caught', passed], None), - 'stackoverflow1': (['recursion', 'Stack overflow', passed], None), - 'stackoverflow2': (['recursion', 'overflow', 'violation', passed], - None), + 'sigsegv1': [passed], + 'sigsegv2': [passed], + 'sigsegv3': ['caught', passed], + 'stackoverflow1': ['recursion', 'Stack overflow', passed], + 'stackoverflow2': ['recursion', 'overflow', 'violation', passed], } - for exe in checks: - expected, status = checks[exe] + for exe, expected in checks.items(): reason = 'test {0} output'.format(exe) - self.run_test(exe, [], expected, status, installed=False, + self.run_test(exe, [], expected, installed=True, purpose=reason, skip_missing=True, work_dir=work_dir) def test(self): diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index e1334f183ab..110149cfcba 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -735,10 +735,10 @@ def setup_install_tests(self): def _test_bin_ops(self): info = ([], ['Ident string: {0}'.format(self.spec.version), 'MCA'], - None) + 0) ls = (['-n', '1', 'ls', '..'], - ['openmpi-{0}'.format(self.spec.version)], None) + ['openmpi-{0}'.format(self.spec.version)], 0) checks = { 'mpirun': ls, @@ -760,55 +760,55 @@ def _test_check_versions(self): bad_option = 'unknown option' checks = { # Binaries available in at least versions 2.0.0 through 4.0.3 - 'mpiCC': ([comp_vers], None), - 'mpic++': ([comp_vers], None), - 'mpicc': ([comp_vers], None), - 'mpicxx': ([comp_vers], None), - 'mpiexec': ([spec_vers], None), - 'mpif77': ([comp_vers], None), - 'mpif90': ([comp_vers], None), - 'mpifort': ([comp_vers], None), - 'mpirun': ([spec_vers], None), + 'mpiCC': ([comp_vers], 0), + 'mpic++': ([comp_vers], 0), + 'mpicc': ([comp_vers], 0), + 'mpicxx': ([comp_vers], 0), + 'mpiexec': ([spec_vers], 0), + 'mpif77': ([comp_vers], 0), + 'mpif90': ([comp_vers], 0), + 'mpifort': ([comp_vers], 0), + 'mpirun': ([spec_vers], 0), 'ompi-clean': ([bad_option], 213), 'ompi-server': ([bad_option], 1), - 'ompi_info': ([spec_vers], None), + 'ompi_info': ([spec_vers], 0), 'opal_wrapper': (['Cannot open configuration file'], 243), 'orte-clean': ([bad_option], 213), 'orte-info': (['did not have enough parameters'], 1), 'orte-server': ([bad_option], 1), - 'ortecc': ([comp_vers], None), + 'ortecc': ([comp_vers], 0), 'orted': ([bad_option], 213), - 'orterun': ([spec_vers], None), + 'orterun': ([spec_vers], 0), # Binaries available in versions 2.0.0 through 2.1.6 - 'ompi-submit': ([spec_vers], None), - 'orte-submit': ([spec_vers], None), + 'ompi-submit': ([spec_vers], 0), + 'orte-submit': ([spec_vers], 0), # Binaries available in versions 2.0.0 through 3.1.5 - 'ompi-dvm': ([spec_vers], None), + 'ompi-dvm': ([spec_vers], 0), 'ompi-ps': ([bad_option], 213), 'ompi-top': ([bad_option], 1), - 'orte-dvm': ([spec_vers], None), + 'orte-dvm': ([spec_vers], 0), 'orte-ps': ([bad_option], 213), 'orte-top': ([bad_option], 1), - 'oshcc': ([comp_vers], None), - 'oshfort': ([comp_vers], None), - 'oshmem_info': ([spec_vers], None), - 'oshrun': ([spec_vers], None), - 'shmemcc': ([comp_vers], None), - 'shmemfort': ([comp_vers], None), - 'shmemrun': ([spec_vers], None), + 'oshcc': ([comp_vers], 0), + 'oshfort': ([comp_vers], 0), + 'oshmem_info': ([spec_vers], 0), + 'oshrun': ([spec_vers], 0), + 'shmemcc': ([comp_vers], 0), + 'shmemfort': ([comp_vers], 0), + 'shmemrun': ([spec_vers], 0), # Binary available in version 3.1.0 through 3.1.5 - 'prun': ([spec_vers], None), + 'prun': ([spec_vers], 0), # Binaries available in versions 3.0.0 through 3.1.5 - 'oshCC': ([comp_vers], None), - 'oshc++': ([comp_vers], None), - 'oshcxx': ([comp_vers], None), - 'shmemCC': ([comp_vers], None), - 'shmemc++': ([comp_vers], None), - 'shmemcxx': ([comp_vers], None), + 'oshCC': ([comp_vers], 0), + 'oshc++': ([comp_vers], 0), + 'oshcxx': ([comp_vers], 0), + 'shmemCC': ([comp_vers], 0), + 'shmemc++': ([comp_vers], 0), + 'shmemcxx': ([comp_vers], 0), } for exe in checks: @@ -821,21 +821,21 @@ def _test_examples(self): # First build the examples work_dir = os.path.join(self.install_test_root, self.extra_install_tests) - self.run_test('make', ['all'], [], None, False, + self.run_test('make', ['all'], [], purpose='test build the examples', work_dir=work_dir) # Now run those with known results have_spml = self.spec.satisfies('@2.0.0:2.1.6') - hello_world = (['Hello, world', 'I am', '0 of', '1'], None) + hello_world = (['Hello, world', 'I am', '0 of', '1'], 0) - max_red = (['0/1 dst = 0 1 2'], None) + max_red = (['0/1 dst = 0 1 2'], 0) missing_spml = (['No available spml components'], 1) - no_out = ([''], None) + no_out = ([''], 0) - ring_out = (['1 processes in ring', '0 exiting'], None) + ring_out = (['1 processes in ring', '0 exiting'], 0) strided = (['not in valid range'], 255) @@ -865,7 +865,7 @@ def _test_examples(self): for exe in checks: expected, status = checks[exe] reason = 'test {0} output'.format(exe) - self.run_test(exe, [], expected, status, installed=False, + self.run_test(exe, [], expected, status, installed=True, purpose=reason, skip_missing=True, work_dir=work_dir) def test(self): diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py index 6dc62888abc..c03106a6be4 100644 --- a/var/spack/repos/builtin/packages/py-shapely/package.py +++ b/var/spack/repos/builtin/packages/py-shapely/package.py @@ -64,5 +64,5 @@ def setup_build_environment(self, env): else: env.prepend_path('LD_LIBRARY_PATH', libs) - def test(self): + def test_install(self): python('-m', 'pytest') diff --git a/var/spack/repos/builtin/packages/sqlite/package.py b/var/spack/repos/builtin/packages/sqlite/package.py index d753788814e..c84cf588408 100644 --- a/var/spack/repos/builtin/packages/sqlite/package.py +++ b/var/spack/repos/builtin/packages/sqlite/package.py @@ -147,7 +147,7 @@ def _test_example(self): # Ensure the database only contains one table reason = 'test to ensure only table is "packages"' opts = ['./data/packages.db', '.tables'] - self.run_test('sqlite3', opts, 'packages', None, installed=True, + self.run_test('sqlite3', opts, 'packages', installed=True, purpose=reason, skip_missing=False) # Ensure the database dump matches expectations, where special @@ -156,16 +156,16 @@ def _test_example(self): reason = 'test dump output' opts = ['./data/packages.db', '.dump'] expected = _get_output('dump.out') - self.run_test('sqlite3', opts, expected, None, installed=True, + self.run_test('sqlite3', opts, expected, installed=True, purpose=reason, skip_missing=False) - + def _test_version(self): """Perform version check on the installed package.""" exe = 'sqlite3' vers_str = str(self.spec.version) reason = 'test version of {0} is {1}'.format(exe, vers_str) - self.run_test(exe, '-version', vers_str, None, installed=True, + self.run_test(exe, '-version', vers_str, installed=True, purpose=reason, skip_missing=False) def test(self): diff --git a/var/spack/repos/builtin/packages/umpire/package.py b/var/spack/repos/builtin/packages/umpire/package.py index 58cd882b59d..6f66d6faeb2 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -166,9 +166,9 @@ def _run_bench_checks(self): ['Malloc/malloc', 'Malloc/free', 'ns', 'Host/allocate', 'Host/deallocate', 'FixedPoolHost/allocate', - 'FixedPoolHost/deallocate'], None), - 'copy_benchmarks': (['benchmark_copy/host_host', 'ns'], None), - 'debuglog_benchmarks': (['benchmark_DebugLogger', 'ns'], None), + 'FixedPoolHost/deallocate'], 0), + 'copy_benchmarks': (['benchmark_copy/host_host', 'ns'], 0), + 'debuglog_benchmarks': (['benchmark_DebugLogger', 'ns'], 0), } self._run_checks(dirs, checks) @@ -190,8 +190,8 @@ def _run_cookbook_checks(self): # Versions 2.0.0:2.1.0 (spack-build/bin) # Versions 1.1.0 (prefix.bin/examples/cookbook) # Versions 2.0.0:2.1.0 (prefix.bin) - 'recipe_dynamic_pool_heuristic': (['in the pool', 'releas'], None), - 'recipe_no_introspection': (['has allocated', 'used'], None), + 'recipe_dynamic_pool_heuristic': (['in the pool', 'releas'], 0), + 'recipe_no_introspection': (['has allocated', 'used'], 0), } self._run_checks(dirs, checks) @@ -217,9 +217,9 @@ def _run_example_checks(self): # Versions 2.0.0:2.1.0 (spack-build/bin) # Version 1.1.0 (prefix.bin/examples) # Versions 2.0.0:2.1.0 (prefix.bin) - 'malloc': (['99 should be 99'], None), - 'strategy_example': (['Available allocators', 'HOST'], None), - 'vector_allocator': ([''], None), + 'malloc': (['99 should be 99'], 0), + 'strategy_example': (['Available allocators', 'HOST'], 0), + 'vector_allocator': ([''], 0), } self._run_checks(dirs, checks) @@ -230,7 +230,7 @@ def _run_plots_checks(self): dirs = [self.prefix.bin] if self.spec.satisfies('@0.3.3:0.3.5') else [] checks = { # Versions 0.3.3:0.3.5 (prefix.bin) - 'plot_allocations': ([''], None), + 'plot_allocations': ([''], 0), } self._run_checks(dirs, checks) @@ -241,7 +241,7 @@ def _run_tools_checks(self): dirs = [self.prefix.bin] if self.spec.satisfies('@0.3.3:0.3.5') else [] checks = { # Versions 0.3.3:0.3.5 (spack-build/bin/tools) - 'replay': (['No input file'], None), + 'replay': (['No input file'], 0), } self._run_checks(dirs, checks) @@ -266,12 +266,12 @@ def _run_tut_checks(self): # Versions 2.0.0:2.1.0 (spack-build/bin) # Version 1.1.0 (prefix.bin/examples/tutorial) # Versions 2.0.0:2.1.0 (prefix.bin) - 'tut_copy': (['Copied source data'], None), + 'tut_copy': (['Copied source data'], 0), 'tut_introspection': ( - ['Allocator used is HOST', 'size of the allocation'], None), - 'tut_memset': (['Set data from HOST'], None), - 'tut_move': (['Moved source data', 'HOST'], None), - 'tut_reallocate': (['Reallocated data'], None), + ['Allocator used is HOST', 'size of the allocation'], 0), + 'tut_memset': (['Set data from HOST'], 0), + 'tut_move': (['Moved source data', 'HOST'], 0), + 'tut_reallocate': (['Reallocated data'], 0), } self._run_checks(dirs, checks)