From 7607c4e3fa38a4333369a03a3d0c04a826532d91 Mon Sep 17 00:00:00 2001 From: Gregory Becker <becker33@llnl.gov> Date: Mon, 10 Aug 2020 09:47:30 -0700 Subject: [PATCH] update tests to use status=0 over status=None --- .../builtin/packages/berkeley-db/package.py | 2 +- .../repos/builtin/packages/emacs/package.py | 16 +--- .../repos/builtin/packages/hdf5/package.py | 8 +- .../packages/intel-parallel-studio/package.py | 4 - .../repos/builtin/packages/kcov/package.py | 2 +- .../builtin/packages/libsigsegv/package.py | 18 ++--- .../repos/builtin/packages/openmpi/package.py | 76 +++++++++---------- .../builtin/packages/py-shapely/package.py | 2 +- .../repos/builtin/packages/sqlite/package.py | 8 +- .../repos/builtin/packages/umpire/package.py | 30 ++++---- 10 files changed, 76 insertions(+), 90 deletions(-) diff --git a/var/spack/repos/builtin/packages/berkeley-db/package.py b/var/spack/repos/builtin/packages/berkeley-db/package.py index 69f16216e4..41533339d0 100644 --- a/var/spack/repos/builtin/packages/berkeley-db/package.py +++ b/var/spack/repos/builtin/packages/berkeley-db/package.py @@ -42,5 +42,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 aba20bb0d0..b77eaaf136 100644 --- a/var/spack/repos/builtin/packages/emacs/package.py +++ b/var/spack/repos/builtin/packages/emacs/package.py @@ -82,20 +82,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 6d0e442964..37e9d0038b 100644 --- a/var/spack/repos/builtin/packages/hdf5/package.py +++ b/var/spack/repos/builtin/packages/hdf5/package.py @@ -386,7 +386,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): @@ -398,17 +398,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 5322cc1590..31b77d355a 100644 --- a/var/spack/repos/builtin/packages/intel-parallel-studio/package.py +++ b/var/spack/repos/builtin/packages/intel-parallel-studio/package.py @@ -231,7 +231,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 8f01ffc985..5e7bf48bd5 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 dac814963a..024fc14b1a 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 382199e7de..6f7b764373 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -720,10 +720,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, @@ -745,55 +745,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: @@ -806,21 +806,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) @@ -850,7 +850,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 a25e4d214f..7e3a8a93af 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 216fc658ee..1c91f24904 100644 --- a/var/spack/repos/builtin/packages/sqlite/package.py +++ b/var/spack/repos/builtin/packages/sqlite/package.py @@ -146,7 +146,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 @@ -155,16 +155,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 93c5ab3591..e6ca305e25 100644 --- a/var/spack/repos/builtin/packages/umpire/package.py +++ b/var/spack/repos/builtin/packages/umpire/package.py @@ -151,9 +151,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) @@ -175,8 +175,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) @@ -202,9 +202,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) @@ -215,7 +215,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) @@ -226,7 +226,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) @@ -251,12 +251,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) -- GitLab