diff options
author | AcriusWinter <152348900+AcriusWinter@users.noreply.github.com> | 2024-08-13 16:48:25 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-13 17:48:25 -0600 |
commit | e40c10509d949f89e7ff442e8e5954a365550ec7 (patch) | |
tree | 8bd6caeb74c1e0ad54c4d3661b2d81a843dbfaed /var | |
parent | 21a2c3a5914d906b24d8d7881a54d127dfffc293 (diff) | |
download | spack-e40c10509d949f89e7ff442e8e5954a365550ec7.tar.gz spack-e40c10509d949f89e7ff442e8e5954a365550ec7.tar.bz2 spack-e40c10509d949f89e7ff442e8e5954a365550ec7.tar.xz spack-e40c10509d949f89e7ff442e8e5954a365550ec7.zip |
mptensor: Changed skiptest, test name, and added docstring (#44909)
* mptensor: Changed skiptest, test name, and added docstring
* mptensor: make stand-alone test method name and docstring more specific
---------
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/mptensor/package.py | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/var/spack/repos/builtin/packages/mptensor/package.py b/var/spack/repos/builtin/packages/mptensor/package.py index 5e243f1298..5558ca6242 100644 --- a/var/spack/repos/builtin/packages/mptensor/package.py +++ b/var/spack/repos/builtin/packages/mptensor/package.py @@ -70,33 +70,41 @@ class Mptensor(CMakePackage): def setup_build_tests(self): """Copy the build test files after the package is installed to an install test subdirectory for use during `spack test run`.""" + + # Tests only supported when spec built with mpi + if "+mpi" not in self.spec: + print("Skipping copy of stand-alone test files: requires +mpi build") + return + self.cache_extra_test_sources(".") - def test(self): + # Clean cached makefiles now so only done once + print("Converting cached Makefile for stand-alone test use") + with working_dir(join_path(install_test_root(self), "tests")): + make("clean") + makefile = FileFilter("Makefile") + makefile.filter("g++", f"{spack_cxx}", string=True) + + print("Converting cached Makefile.option for stand-alone test use") + with working_dir(join_path(install_test_root(self))): + makefile = FileFilter("Makefile.option") + makefile.filter("CXX =.*", f"CXX ={self.spec['mpi'].mpicxx}") + makefile.filter("CXXFLAGS =.*", f"CXXFLAGS ={self.compiler.cxx11_flag}") + + def test_tensor_test(self): + """build and run tensor_test""" if "+mpi" not in self.spec: - print("Test of mptensor only runs with +mpi option.") - else: - with working_dir(join_path(self.install_test_root, "tests"), create=False): - make("clean") - makefile = FileFilter("Makefile") - makefile.filter("g++", "{0}".format(spack_cxx), string=True) - - with working_dir(join_path(self.install_test_root), create=False): - makefile = FileFilter("Makefile.option") - makefile.filter("CXX =.*", "CXX ={0}".format(self.spec["mpi"].mpicxx)) - makefile.filter("CXXFLAGS =.*", "CXXFLAGS ={0}".format(self.compiler.cxx11_flag)) - - math_libs = ( - self.spec["scalapack"].libs + self.spec["lapack"].libs + self.spec["blas"].libs - ) + raise SkipTest("Package must be installed with +mpi") + + math_libs = self.spec["scalapack"].libs + self.spec["lapack"].libs + self.spec["blas"].libs - with working_dir(join_path(self.install_test_root, "tests"), create=False): - make("LDFLAGS={0}".format(math_libs.ld_flags)) + with working_dir(self.test_suite.current_test_cache_dir.tests): + make = which("make") + make(f"LDFLAGS={math_libs.ld_flags}") - mpirun = self.spec["mpi"].prefix.bin.mpirun - mpiexec = Executable(mpirun) - mpiexec("-n", "1", "tensor_test.out") + mpirun = which(self.spec["mpi"].prefix.bin.mpirun) + mpirun("-n", "1", "tensor_test.out") - # Test of mptensor has checker - # and checker is abort when check detect any errors. - print("Test of mptensor PASSED !") + # Test of mptensor has checker + # and checker is abort when check detect any errors. + print("Test of mptensor PASSED !") |