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