mptensor: Add test method (#21712)
* mptensor: Add test method * mptensor: Reverted the receipe on merged style * mptensor: Changed """ to #
This commit is contained in:
parent
21b2d7109a
commit
40147d9955
@ -25,6 +25,8 @@ class Mptensor(CMakePackage):
|
|||||||
depends_on('scalapack', when="+mpi")
|
depends_on('scalapack', when="+mpi")
|
||||||
depends_on('doxygen@:1.8.11', type="build", when="+doc")
|
depends_on('doxygen@:1.8.11', type="build", when="+doc")
|
||||||
|
|
||||||
|
test_requires_compiler = True
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
options = []
|
options = []
|
||||||
@ -53,3 +55,42 @@ def cmake_args(self):
|
|||||||
])
|
])
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
|
@run_after("install")
|
||||||
|
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`."""
|
||||||
|
self.cache_extra_test_sources('.')
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
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
|
||||||
|
)
|
||||||
|
|
||||||
|
with working_dir(join_path(self.install_test_root, "tests"), create=False):
|
||||||
|
make("LDFLAGS={0}".format(math_libs.ld_flags))
|
||||||
|
|
||||||
|
mpirun = self.spec["mpi"].prefix.bin.mpirun
|
||||||
|
mpiexec = Executable(mpirun)
|
||||||
|
mpiexec("-n", "1", "tensor_test.out")
|
||||||
|
|
||||||
|
# Test of mptensor has checker
|
||||||
|
# and checker is abort when check detect any errors.
|
||||||
|
print("Test of mptensor PASSED !")
|
||||||
|
Loading…
Reference in New Issue
Block a user