From 7bb7b946667723aa0121551aaf4cb1ac6509c797 Mon Sep 17 00:00:00 2001 From: Gregory Becker Date: Mon, 3 Dec 2018 17:14:43 -0800 Subject: Added test for multimethod inheritance --- lib/spack/spack/test/multimethod.py | 4 ++++ .../builtin.mock/packages/multimethod-inheritor/package.py | 13 +++++++++++++ var/spack/repos/builtin/packages/zlib/package.py | 4 ++++ 3 files changed, 21 insertions(+) create mode 100644 var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py diff --git a/lib/spack/spack/test/multimethod.py b/lib/spack/spack/test/multimethod.py index de694c1498..2780c57fc5 100644 --- a/lib/spack/spack/test/multimethod.py +++ b/lib/spack/spack/test/multimethod.py @@ -107,3 +107,7 @@ def test_multimethod_with_base_class(mock_packages): pkg = spack.repo.get('multimethod@1') assert pkg.base_method() == "base_method" + +def test_multimethod_inheritance(mock_packages): + pkg = spack.repo.get('multimethod-inheritor@1.0') + assert pkg.no_version_2() == 1 diff --git a/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py b/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py new file mode 100644 index 0000000000..066a23c6fd --- /dev/null +++ b/var/spack/repos/builtin.mock/packages/multimethod-inheritor/package.py @@ -0,0 +1,13 @@ +# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.pkg.builtin.mock.multimethod import Multimethod + + +class MultimethodInheritor(Multimethod): + """This package is designed for use with Spack's multimethod test. + It has a bunch of test cases for the @when decorator that the + test uses. + """ diff --git a/var/spack/repos/builtin/packages/zlib/package.py b/var/spack/repos/builtin/packages/zlib/package.py index eb34730906..81bbe00ee0 100644 --- a/var/spack/repos/builtin/packages/zlib/package.py +++ b/var/spack/repos/builtin/packages/zlib/package.py @@ -31,6 +31,10 @@ class Zlib(Package): patch('w_patch.patch', when="@1.2.11%cce") + @when('%pgi') + def patch(self): + print "patching" + @property def libs(self): shared = '+shared' in self.spec -- cgit v1.2.3-70-g09d2