summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/unit_tests.yaml4
-rw-r--r--lib/spack/spack/spec.py7
2 files changed, 10 insertions, 1 deletions
diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml
index 6436b6f6ad..29c251503c 100644
--- a/.github/workflows/unit_tests.yaml
+++ b/.github/workflows/unit_tests.yaml
@@ -337,10 +337,14 @@ jobs:
run: |
brew install dash fish gcc gnupg2 kcov
- name: Run unit tests
+ env:
+ SPACK_TEST_SOLVER: clingo
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
+ $(which spack) bootstrap untrust spack-install
+ $(which spack) solve zlib
if [ "${{ needs.changes.outputs.with_coverage }}" == "true" ]
then
coverage run $(which spack) unit-test -x
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index af282e4425..7ab0ffa5fd 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -1019,7 +1019,9 @@ class SpecBuildInterface(lang.ObjectWrapper):
def __init__(self, spec, name, query_parameters):
super(SpecBuildInterface, self).__init__(spec)
-
+ # Adding new attributes goes after super() call since the ObjectWrapper
+ # resets __dict__ to behave like the passed object
+ self.token = spec, name, query_parameters
is_virtual = spack.repo.path.is_virtual(name)
self.last_query = QueryState(
name=name,
@@ -1027,6 +1029,9 @@ class SpecBuildInterface(lang.ObjectWrapper):
isvirtual=is_virtual
)
+ def __reduce__(self):
+ return SpecBuildInterface, self.token
+
@lang.lazy_lexicographic_ordering(set_hash=False)
class Spec(object):