tests/amrex: convert to new stand-alone test process (#35698)
* amrex: convert to new stand-alone test process * smoke->stand-alone
This commit is contained in:
parent
fb0f14eb06
commit
c8eb0f9361
@ -314,43 +314,20 @@ def cmake_args(self):
|
|||||||
|
|
||||||
return args
|
return args
|
||||||
|
|
||||||
# TODO: Replace this method and its 'get' use for cmake path with
|
|
||||||
# join_path(self.spec['cmake'].prefix.bin, 'cmake') once stand-alone
|
|
||||||
# tests can access build dependencies through self.spec['cmake'].
|
|
||||||
def cmake_bin(self, set=True):
|
|
||||||
"""(Hack) Set/get cmake dependency path."""
|
|
||||||
filepath = join_path(self.install_test_root, "cmake_bin_path.txt")
|
|
||||||
if set:
|
|
||||||
with open(filepath, "w") as out_file:
|
|
||||||
cmake_bin = join_path(self.spec["cmake"].prefix.bin, "cmake")
|
|
||||||
out_file.write("{0}\n".format(cmake_bin))
|
|
||||||
else:
|
|
||||||
with open(filepath, "r") as in_file:
|
|
||||||
return in_file.read().strip()
|
|
||||||
|
|
||||||
@run_after("build")
|
@run_after("build")
|
||||||
def setup_smoke_test(self):
|
def setup_standalone_test(self):
|
||||||
"""Skip setup smoke tests for AMReX versions less than 21.12."""
|
"""Setup stand-alonetests for AMReX versions from 21.12 on."""
|
||||||
if self.spec.satisfies("@:21.11"):
|
if self.spec.satisfies("@:21.11"):
|
||||||
return
|
return
|
||||||
|
|
||||||
self.cache_extra_test_sources(["Tests"])
|
self.cache_extra_test_sources(["Tests"])
|
||||||
|
|
||||||
# TODO: Remove once self.spec['cmake'] is available here
|
def test_run_install_test(self):
|
||||||
self.cmake_bin(set=True)
|
"""build and run AmrCore test"""
|
||||||
|
|
||||||
def test(self):
|
|
||||||
"""Skip smoke tests for AMReX versions less than 21.12."""
|
|
||||||
if self.spec.satisfies("@:21.11"):
|
if self.spec.satisfies("@:21.11"):
|
||||||
print("SKIPPED: Stand-alone tests not supported for this version of AMReX.")
|
raise SkipTest("Test is not supported for versions @:21.11")
|
||||||
return
|
|
||||||
|
|
||||||
"""Perform smoke tests on installed package."""
|
args = ["-S{0}".format(join_path(".", "cache", "amrex", "Tests", "SpackSmokeTest"))]
|
||||||
# TODO: Remove/replace once self.spec['cmake'] is available here
|
|
||||||
cmake_bin = self.cmake_bin(set=False)
|
|
||||||
|
|
||||||
args = []
|
|
||||||
args.append("-S./cache/amrex/Tests/SpackSmokeTest")
|
|
||||||
args.append("-DAMReX_ROOT=" + self.prefix)
|
args.append("-DAMReX_ROOT=" + self.prefix)
|
||||||
if "+mpi" in self.spec:
|
if "+mpi" in self.spec:
|
||||||
args.append("-DMPI_C_COMPILER=" + self.spec["mpi"].mpicc)
|
args.append("-DMPI_C_COMPILER=" + self.spec["mpi"].mpicc)
|
||||||
@ -360,15 +337,15 @@ def test(self):
|
|||||||
args.append("-DCMAKE_CUDA_COMPILER=" + join_path(self.spec["cuda"].prefix.bin, "nvcc"))
|
args.append("-DCMAKE_CUDA_COMPILER=" + join_path(self.spec["cuda"].prefix.bin, "nvcc"))
|
||||||
|
|
||||||
args.extend(self.cmake_args())
|
args.extend(self.cmake_args())
|
||||||
self.run_test(cmake_bin, args, purpose="Configure with CMake")
|
cmake = which(self.spec["cmake"].prefix.bin.cmake)
|
||||||
|
cmake(*args)
|
||||||
|
|
||||||
self.run_test("make", [], purpose="Compile")
|
make = which("make")
|
||||||
|
make()
|
||||||
|
|
||||||
self.run_test(
|
install_test = which("install_test")
|
||||||
"install_test",
|
inputs_path = join_path(
|
||||||
["./cache/amrex/Tests/Amr/Advection_AmrCore/Exec/inputs-ci"],
|
".", "cache", "amrex", "Tests", "Amr", "Advection_AmrCore", "Exec", "inputs-ci"
|
||||||
["finalized"],
|
|
||||||
installed=False,
|
|
||||||
purpose="AMReX Stand-Alone Smoke Test -- AmrCore",
|
|
||||||
skip_missing=False,
|
|
||||||
)
|
)
|
||||||
|
out = install_test(inputs_path, output=str.split, error=str.split)
|
||||||
|
assert "finalized" in out
|
||||||
|
Loading…
Reference in New Issue
Block a user