Package slate: Improved MPI launcher search for smoke tests (#35448)
* Improved MPI launcher search for smoke tests * Improving mpi launcher search * Removing redundant logic
This commit is contained in:
parent
cb4c60c709
commit
27ee08f5bb
@ -114,6 +114,15 @@ def cache_test_sources(self):
|
|||||||
install test subdirectory for use during `spack test run`."""
|
install test subdirectory for use during `spack test run`."""
|
||||||
self.cache_extra_test_sources(["examples"])
|
self.cache_extra_test_sources(["examples"])
|
||||||
|
|
||||||
|
def mpi_launcher(self):
|
||||||
|
searchpath = [self.spec["mpi"].prefix.bin]
|
||||||
|
try:
|
||||||
|
searchpath.insert(0, self.spec["slurm"].prefix.bin)
|
||||||
|
except KeyError:
|
||||||
|
print("Slurm not found, ignoring.")
|
||||||
|
commands = ["srun", "mpirun", "mpiexec"]
|
||||||
|
return which(*commands, path=searchpath) or which(*commands)
|
||||||
|
|
||||||
def test(self):
|
def test(self):
|
||||||
if self.spec.satisfies("@2020.10.00") or "+mpi" not in self.spec:
|
if self.spec.satisfies("@2020.10.00") or "+mpi" not in self.spec:
|
||||||
print("Skipping: stand-alone tests")
|
print("Skipping: stand-alone tests")
|
||||||
@ -129,7 +138,8 @@ def test(self):
|
|||||||
self.run_test(cmake_bin, ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."])
|
self.run_test(cmake_bin, ["-DCMAKE_PREFIX_PATH=" + prefixes, ".."])
|
||||||
make()
|
make()
|
||||||
test_args = ["-n", "4", "./ex05_blas"]
|
test_args = ["-n", "4", "./ex05_blas"]
|
||||||
mpi_path = self.spec["mpi"].prefix.bin
|
launcher = self.mpi_launcher()
|
||||||
mpiexe_f = which("srun", "mpirun", "mpiexec", path=mpi_path)
|
if not launcher:
|
||||||
self.run_test(mpiexe_f.command, test_args, purpose="SLATE smoke test")
|
raise RuntimeError("Cannot run tests due to absence of MPI launcher")
|
||||||
|
self.run_test(launcher.command, test_args, purpose="SLATE smoke test")
|
||||||
make("clean")
|
make("clean")
|
||||||
|
Loading…
Reference in New Issue
Block a user