slate: changed stand-alone test from old to new API (#44953)

* slate: changed from old to new format
* make code tighter
* replace assert method
* SkipTest plus other cleanup

---------

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
This commit is contained in:
AcriusWinter 2024-07-15 20:10:50 -07:00 committed by GitHub
parent 5c3a23a481
commit d85668f096
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -165,25 +165,26 @@ def mpi_launcher(self):
commands = ["srun", "mpirun", "mpiexec"]
return which(*commands, path=searchpath) or which(*commands)
def test(self):
def test_example(self):
"""build and run slate example"""
if self.spec.satisfies("@2020.10.00") or "+mpi" not in self.spec:
print("Skipping: stand-alone tests")
return
raise SkipTest("Package must be installed with +mpi and version @2021.05.01 or later")
test_dir = join_path(self.test_suite.current_test_cache_dir, "examples", "build")
with working_dir(test_dir, create=True):
cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
cmake = self.spec["cmake"].command
# This package must directly depend on all packages listed here.
# Otherwise, it will not work when some packages are external to spack.
deps = "slate blaspp lapackpp mpi"
if self.spec.satisfies("+rocm"):
deps += " rocblas hip llvm-amdgpu comgr hsa-rocr-dev rocsolver "
prefixes = ";".join([self.spec[x].prefix for x in deps.split()])
self.run_test(cmake_bin, ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."])
cmake("-DCMAKE_PREFIX_PATH=" + prefixes, "..")
make = which("make")
make()
test_args = ["-n", "4", "./ex05_blas"]
launcher = self.mpi_launcher()
if not launcher:
raise RuntimeError("Cannot run tests due to absence of MPI launcher")
self.run_test(launcher.command, test_args, purpose="SLATE smoke test")
make("clean")
assert launcher is not None, "Cannot run tests due to absence of MPI launcher"
launcher("-n", "4", "./ex05_blas")