diff options
author | Vicente Bolea <vicente.bolea@kitware.com> | 2024-08-20 11:46:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-20 10:46:45 -0500 |
commit | 6c268234ba2dea75bb4551199fc6663c7f972a2b (patch) | |
tree | 7d8b4502e946bc12598259fd54e36cfc61ed8997 /var | |
parent | c1736077bb9e32a99b116f471d12a4941771d9ab (diff) | |
download | spack-6c268234ba2dea75bb4551199fc6663c7f972a2b.tar.gz spack-6c268234ba2dea75bb4551199fc6663c7f972a2b.tar.bz2 spack-6c268234ba2dea75bb4551199fc6663c7f972a2b.tar.xz spack-6c268234ba2dea75bb4551199fc6663c7f972a2b.zip |
paraview: add smoke tests (#45759)
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/paraview/package.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/paraview/package.py b/var/spack/repos/builtin/packages/paraview/package.py index 8edec4e3f3..e185592972 100644 --- a/var/spack/repos/builtin/packages/paraview/package.py +++ b/var/spack/repos/builtin/packages/paraview/package.py @@ -6,6 +6,7 @@ import itertools import os import sys +from subprocess import Popen from spack.package import * @@ -706,3 +707,54 @@ class Paraview(CMakePackage, CudaPackage, ROCmPackage): cmake_args.append(self.define_from_variant("VTKOSPRAY_ENABLE_DENOISER", "raytracing")) return cmake_args + + def test_smoke_test(self): + """Simple smoke test for ParaView""" + spec = self.spec + + pvserver = Executable(spec["paraview"].prefix.bin.pvserver) + pvserver("--help") + + def test_pvpython(self): + """Test pvpython""" + spec = self.spec + + if "~python" in spec: + raise SkipTest("Package must be installed with +python") + + pvpython = Executable(spec["paraview"].prefix.bin.pvpython) + pvpython("-c", "import paraview") + + def test_mpi_ensemble(self): + """Test MPI ParaView Client/Server ensemble""" + spec = self.spec + + if "~mpi" in spec or "~python" in spec: + raise SkipTest("Package must be installed with +mpi and +python") + + mpirun = spec["mpi"].prefix.bin.mpirun + pvserver = spec["paraview"].prefix.bin.pvserver + pvpython = Executable(spec["paraview"].prefix.bin.pvpython) + + with working_dir("smoke_test_build", create=True): + with Popen( + [mpirun, "-np", "3", pvserver, "--mpi", "--force-offscreen-rendering"] + ) as servers: + pvpython( + "--force-offscreen-rendering", + "-c", + "from paraview.simple import *;" + "Connect('127.0.0.1');" + "sphere = Sphere(ThetaResolution=16, PhiResolution=32);" + "sphere_remote = servermanager.Fetch(sphere);" + "Show(sphere);" + "Render()", + ) + servers.terminate() + + @run_after("install") + @on_package_attributes(run_tests=True) + def build_test(self): + self.test_smoke_test() + self.test_pvpython() + self.test_mpi_ensemble() |