Updated last commit of TAU package with Dyninst test (#42387)
* Updated last commit of TAU package with Dyninst test * The path to dyninst was missing when loading TAU
This commit is contained in:
parent
28eea2994f
commit
376653ec3d
@ -393,17 +393,29 @@ def setup_run_environment(self, env):
|
|||||||
# in the latter case.
|
# in the latter case.
|
||||||
if files:
|
if files:
|
||||||
env.set("TAU_MAKEFILE", files[0])
|
env.set("TAU_MAKEFILE", files[0])
|
||||||
|
if "+dyninst" in self.spec:
|
||||||
|
path_to_dyn_lib = self.spec["dyninst"].prefix.lib
|
||||||
|
dyninst_apirt = join_path(path_to_dyn_lib, "libdyninstAPI_RT.so")
|
||||||
|
env.set("DYNINSTAPI_RT_LIB", dyninst_apirt)
|
||||||
|
env.append_path("LD_LIBRARY_PATH", path_to_dyn_lib)
|
||||||
|
env.append_path("LD_LIBRARY_PATH", self.prefix.lib)
|
||||||
|
|
||||||
matmult_test = join_path("examples", "mm")
|
matmult_test = join_path("examples", "mm")
|
||||||
|
dyninst_test = join_path("examples", "dyninst")
|
||||||
|
makefile_test = join_path("examples", "Makefile")
|
||||||
|
makefile_inc_test = join_path("include", "Makefile")
|
||||||
|
|
||||||
@run_after("install")
|
@run_after("install")
|
||||||
def setup_build_tests(self):
|
def setup_build_tests(self):
|
||||||
"""Copy the build test files after the package is installed to an
|
"""Copy the build test files after the package is installed to an
|
||||||
install test subdirectory for use during `spack test run`."""
|
install test subdirectory for use during `spack test run`."""
|
||||||
self.cache_extra_test_sources(self.matmult_test)
|
self.cache_extra_test_sources(self.matmult_test)
|
||||||
|
self.cache_extra_test_sources(self.dyninst_test)
|
||||||
|
self.cache_extra_test_sources(self.makefile_test)
|
||||||
|
self.cache_extra_test_sources(self.makefile_inc_test)
|
||||||
|
|
||||||
def _run_matmult_test(self):
|
def _run_matmult_test(self, test_dir):
|
||||||
mm_dir = join_path(self.test_suite.current_test_cache_dir, self.matmult_test)
|
mm_dir = join_path(test_dir, self.matmult_test)
|
||||||
self.run_test(
|
self.run_test(
|
||||||
"make",
|
"make",
|
||||||
["all"],
|
["all"],
|
||||||
@ -437,6 +449,39 @@ def _run_matmult_test(self):
|
|||||||
mm_dir,
|
mm_dir,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _run_dyninst_test(self, test_dir):
|
||||||
|
dyn_dir = join_path(test_dir, self.dyninst_test)
|
||||||
|
flags = "serial"
|
||||||
|
if "+mpi" in self.spec:
|
||||||
|
flags = "mpi"
|
||||||
|
self.run_test("make", ["all"], [], 0, False, "Build example code", False, dyn_dir)
|
||||||
|
self.run_test(
|
||||||
|
"tau_run",
|
||||||
|
["-T", flags, "./klargest", "-v", "-o", "./klargest.i"],
|
||||||
|
[],
|
||||||
|
0,
|
||||||
|
False,
|
||||||
|
"Instrument code with dyninst",
|
||||||
|
False,
|
||||||
|
dyn_dir,
|
||||||
|
)
|
||||||
|
self.run_test(
|
||||||
|
"./klargest.i", [], [], 0, False, "Execute instrumented code", False, dyn_dir
|
||||||
|
)
|
||||||
|
self.run_test(
|
||||||
|
"pprof",
|
||||||
|
[],
|
||||||
|
[],
|
||||||
|
0,
|
||||||
|
False,
|
||||||
|
"Run pprof profile analysis tool on profile output",
|
||||||
|
False,
|
||||||
|
dyn_dir,
|
||||||
|
)
|
||||||
|
|
||||||
def test(self):
|
def test(self):
|
||||||
|
test_dir = self.test_suite.current_test_cache_dir
|
||||||
# Run mm test program pulled from the build
|
# Run mm test program pulled from the build
|
||||||
self._run_matmult_test()
|
self._run_matmult_test(test_dir)
|
||||||
|
if "+dyninst" in self.spec:
|
||||||
|
self._run_dyninst_test(test_dir)
|
||||||
|
Loading…
Reference in New Issue
Block a user