summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscheibelp <scheibel1@llnl.gov>2018-01-12 19:02:54 -0800
committerGitHub <noreply@github.com>2018-01-12 19:02:54 -0800
commit278901c02cd51b5d89febbb57d5b04157ea54488 (patch)
tree5e1014a0f9e023d39d76d2f42a4cbbe8bdea1762
parent761b8f76d24ad7b5b58945477a35aaece41d5424 (diff)
downloadspack-278901c02cd51b5d89febbb57d5b04157ea54488.tar.gz
spack-278901c02cd51b5d89febbb57d5b04157ea54488.tar.bz2
spack-278901c02cd51b5d89febbb57d5b04157ea54488.tar.xz
spack-278901c02cd51b5d89febbb57d5b04157ea54488.zip
Handle test dependencies that are python extensions (#6904)
See #6794 This fixes cases where test-only dependencies were omitted from consideration when modifying the environment at build time. This includes an update to the python package definition to add testing-related python extensions to its specialized environment setup.
-rw-r--r--lib/spack/spack/build_environment.py3
-rw-r--r--var/spack/repos/builtin/packages/python/package.py2
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py
index cb3bc6169e..dcc6e46ec6 100644
--- a/lib/spack/spack/build_environment.py
+++ b/lib/spack/spack/build_environment.py
@@ -581,7 +581,8 @@ def setup_package(pkg, dirty):
# traverse in postorder so package can use vars from its dependencies
spec = pkg.spec
- for dspec in pkg.spec.traverse(order='post', root=False, deptype='build'):
+ for dspec in pkg.spec.traverse(order='post', root=False,
+ deptype=('build', 'test')):
# If a user makes their own package repo, e.g.
# spack.repos.mystuff.libelf.Libelf, and they inherit from
# an existing class like spack.repos.original.libelf.Libelf,
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index 37ef38697e..8df3eb86fa 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -509,7 +509,7 @@ class Python(AutotoolsPackage):
python_paths = []
for d in dependent_spec.traverse(
- deptype=('build', 'run'), deptype_query='run'):
+ deptype=('build', 'run', 'test')):
if d.package.extends(self.spec):
python_paths.append(join_path(d.prefix,
self.site_packages_dir))