summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoralalazo <massimiliano.culpo@googlemail.com>2016-01-02 19:04:06 +0100
committeralalazo <massimiliano.culpo@googlemail.com>2016-01-02 19:04:06 +0100
commitd95d169ac50a3c253ef9712782626af1e1610ca7 (patch)
tree4614f5549d1eb84a51621c21109c2084f0f5f4f3 /lib
parentf499f71f64994d1914ca3e8195a79828f442f6e8 (diff)
downloadspack-d95d169ac50a3c253ef9712782626af1e1610ca7.tar.gz
spack-d95d169ac50a3c253ef9712782626af1e1610ca7.tar.bz2
spack-d95d169ac50a3c253ef9712782626af1e1610ca7.tar.xz
spack-d95d169ac50a3c253ef9712782626af1e1610ca7.zip
fixed broken unit tests
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/test/install.py7
-rw-r--r--lib/spack/spack/util/pattern.py26
2 files changed, 27 insertions, 6 deletions
diff --git a/lib/spack/spack/test/install.py b/lib/spack/spack/test/install.py
index 1ef4171fb2..bb7d3f4fd4 100644
--- a/lib/spack/spack/test/install.py
+++ b/lib/spack/spack/test/install.py
@@ -31,7 +31,7 @@ from llnl.util.filesystem import *
import spack
from spack.stage import Stage
-from spack.fetch_strategy import URLFetchStrategy
+from spack.fetch_strategy import URLFetchStrategy, FetchStrategyComposite
from spack.directory_layout import YamlDirectoryLayout
from spack.util.executable import which
from spack.test.mock_packages_test import *
@@ -81,7 +81,10 @@ class InstallTest(MockPackagesTest):
pkg = spack.db.get(spec)
# Fake the URL for the package so it downloads from a file.
- pkg.fetcher = URLFetchStrategy(self.repo.url)
+
+ fetcher = FetchStrategyComposite()
+ fetcher.append(URLFetchStrategy(self.repo.url))
+ pkg.fetcher = fetcher
try:
pkg.do_install()
diff --git a/lib/spack/spack/util/pattern.py b/lib/spack/spack/util/pattern.py
index 8d1584b4c2..73c1e26aa5 100644
--- a/lib/spack/spack/util/pattern.py
+++ b/lib/spack/spack/util/pattern.py
@@ -81,17 +81,35 @@ def composite(interface=None, method_list=None, container=list):
dictionary_for_type_call = {}
# Construct a dictionary with the methods explicitly passed as name
if method_list is not None:
- method_list_dict = {name: IterateOver(name) for name in method_list}
+ # python@2.7: method_list_dict = {name: IterateOver(name) for name in method_list}
+ method_list_dict = {}
+ for name in method_list:
+ method_list_dict[name] = IterateOver(name)
dictionary_for_type_call.update(method_list_dict)
# Construct a dictionary with the methods inspected from the interface
if interface is not None:
- interface_methods = {name: method for name, method in inspect.getmembers(interface, predicate=no_special_no_private)}
- interface_methods_dict = {name: IterateOver(name, method) for name, method in interface_methods.iteritems()}
+ ##########
+ # python@2.7: interface_methods = {name: method for name, method in inspect.getmembers(interface, predicate=no_special_no_private)}
+ interface_methods = {}
+ for name, method in inspect.getmembers(interface, predicate=no_special_no_private):
+ interface_methods[name] = method
+ ##########
+ # python@2.7: interface_methods_dict = {name: IterateOver(name, method) for name, method in interface_methods.iteritems()}
+ interface_methods_dict = {}
+ for name, method in interface_methods.iteritems():
+ interface_methods_dict[name] = IterateOver(name, method)
+ ##########
dictionary_for_type_call.update(interface_methods_dict)
# Get the methods that are defined in the scope of the composite class and override any previous definition
- cls_method = {name: method for name, method in inspect.getmembers(cls, predicate=inspect.ismethod)}
+ ##########
+ # python@2.7: cls_method = {name: method for name, method in inspect.getmembers(cls, predicate=inspect.ismethod)}
+ cls_method = {}
+ for name, method in inspect.getmembers(cls, predicate=inspect.ismethod):
+ cls_method[name] = method
+ ##########
dictionary_for_type_call.update(cls_method)
# Generate the new class on the fly and return it
+ # FIXME : inherit from interface if we start to use ABC classes?
wrapper_class = type(cls.__name__, (cls, container), dictionary_for_type_call)
return wrapper_class