summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAcriusWinter <152348900+AcriusWinter@users.noreply.github.com>2024-08-13 16:48:25 -0700
committerGitHub <noreply@github.com>2024-08-13 17:48:25 -0600
commite40c10509d949f89e7ff442e8e5954a365550ec7 (patch)
tree8bd6caeb74c1e0ad54c4d3661b2d81a843dbfaed /var
parent21a2c3a5914d906b24d8d7881a54d127dfffc293 (diff)
downloadspack-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.py56
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 !")