summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. Christian Tacke <58549698+ChristianTackeGSI@users.noreply.github.com>2020-02-20 05:59:16 +0100
committerGitHub <noreply@github.com>2020-02-19 22:59:16 -0600
commit66c3f89b7859e9acd6811e2271f6b5e34099517d (patch)
treed957c873764bc72a25b7c117142eb5dce0e33f84
parent47e8084fab53ede23c0fddb05aff14cec0ed002c (diff)
downloadspack-66c3f89b7859e9acd6811e2271f6b5e34099517d.tar.gz
spack-66c3f89b7859e9acd6811e2271f6b5e34099517d.tar.bz2
spack-66c3f89b7859e9acd6811e2271f6b5e34099517d.tar.xz
spack-66c3f89b7859e9acd6811e2271f6b5e34099517d.zip
libfabric: Always install fabtests (#15081)
libfabric used to install fabtests only when installed using --test. fabtests has tools that are useful on a running system, so they should be installed always. * Rewrote the build/install part to always install fabtests alongside libfabric. * Updated a few fabtests resources. * Updated the test related stuff. Works for most versions now. * Include tcp and udp fabrics so that the test suite works.
-rw-r--r--var/spack/repos/builtin/packages/libfabric/package.py31
1 files changed, 25 insertions, 6 deletions
diff --git a/var/spack/repos/builtin/packages/libfabric/package.py b/var/spack/repos/builtin/packages/libfabric/package.py
index da5edc48f4..030b4b0788 100644
--- a/var/spack/repos/builtin/packages/libfabric/package.py
+++ b/var/spack/repos/builtin/packages/libfabric/package.py
@@ -3,6 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+import os.path
from spack import *
@@ -47,7 +48,7 @@ class Libfabric(AutotoolsPackage):
'shm')
variant('fabrics',
- default='sockets',
+ default='sockets,tcp,udp',
description='A list of enabled fabrics',
values=fabrics,
multi=True)
@@ -80,6 +81,10 @@ class Libfabric(AutotoolsPackage):
sha256='60cc21db7092334904cbdafd142b2403572976018a22218e7c453195caef366e',
placement='fabtests', when='@1.9.0')
resource(name='fabtests',
+ url='https://github.com/ofiwg/libfabric/releases/download/v1.8.0/fabtests-1.8.0.tar.gz',
+ sha256='4b9af18c9c7c8b28eaeac4e6e9148bd2ea7dc6b6f00f8e31c90a6fc536c5bb6c',
+ placement='fabtests', when='@1.8.0')
+ resource(name='fabtests',
url='https://github.com/ofiwg/libfabric/releases/download/v1.7.0/fabtests-1.7.0.tar.gz',
sha256='ebb4129dc69dc0e1f48310ce1abb96673d8ddb18166bc595312ebcb96e803de9',
placement='fabtests', when='@1.7.0')
@@ -102,7 +107,7 @@ class Libfabric(AutotoolsPackage):
resource(name='fabtests',
url='https://github.com/ofiwg/fabtests/releases/download/v1.4.2/fabtests-1.4.2.tar.gz',
sha256='3b78d0ca1b223ff21b7f5b3627e67e358e3c18b700f86b017e2233fee7e88c2e',
- placement='fabtests', when='@1.5.0')
+ placement='fabtests', when='@1.4.2')
def setup_build_environment(self, env):
if self.run_tests:
@@ -133,15 +138,29 @@ class Libfabric(AutotoolsPackage):
return args
- def installcheck(self):
- fi_info = Executable(self.prefix.bin.fi_info)
- fi_info()
+ def install(self, spec, prefix):
+ # Call main install method
+ super(Libfabric, self).install(spec, prefix)
- # Build and run more extensive tests
+ # Build and install fabtests, if available
+ if not os.path.isdir('fabtests'):
+ return
with working_dir('fabtests'):
configure = Executable('./configure')
configure('--prefix={0}'.format(self.prefix),
'--with-libfabric={0}'.format(self.prefix))
make()
make('install')
+
+ def installcheck(self):
+ fi_info = Executable(self.prefix.bin.fi_info)
+ fi_info()
+
+ # Run fabtests test suite if available
+ if not os.path.isdir('fabtests'):
+ return
+ if self.spec.satisfies('@1.8.0,1.9.0'):
+ # make test seems broken.
+ return
+ with working_dir('fabtests'):
make('test')