summaryrefslogtreecommitdiff
path: root/repoze/bfg/tests
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-30 23:09:17 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-30 23:09:17 +0000
commitb6c867e7d8f8c34138efadc5efd0c9f30bff9ecb (patch)
tree1923a3ff04976cfb031b00b2b78d7625cb6a4dcc /repoze/bfg/tests
parentcc0bc9b032d59c740dbf27fdb46cd6a541f8df47 (diff)
downloadpyramid-b6c867e7d8f8c34138efadc5efd0c9f30bff9ecb.tar.gz
pyramid-b6c867e7d8f8c34138efadc5efd0c9f30bff9ecb.tar.bz2
pyramid-b6c867e7d8f8c34138efadc5efd0c9f30bff9ecb.zip
- Bug fix: when a ``repoze.bfg.resource.PackageOverrides`` class was
instantiated, and the package it was overriding already had a ``__loader__`` attribute, it would fail at startup time, even if the ``__loader__`` attribute was another PackageOverrides instance. We now replace any ``__loader__`` that is also a PackageOverrides instance. Symptom: ``ConfigurationExecutionError: <type 'exceptions.TypeError'>: Package <module 'karl.views' from '/Users/chrism/projects/osi/bfgenv/src/karl/karl/views/__init__.pyc'> already has a __loader__ (probably a module in a zipped egg)``.
Diffstat (limited to 'repoze/bfg/tests')
-rw-r--r--repoze/bfg/tests/test_resource.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/repoze/bfg/tests/test_resource.py b/repoze/bfg/tests/test_resource.py
index 9f466b002..5bc1be152 100644
--- a/repoze/bfg/tests/test_resource.py
+++ b/repoze/bfg/tests/test_resource.py
@@ -123,11 +123,18 @@ class TestPackageOverrides(unittest.TestCase):
pkg_resources = DummyPkgResources()
return klass(package, pkg_resources=pkg_resources)
- def test_ctor_package_already_has_loader(self):
+ def test_ctor_package_already_has_loader_of_different_type(self):
package = DummyPackage('package')
package.__loader__ = True
self.assertRaises(TypeError, self._makeOne, package)
+ def test_ctor_package_already_has_loader_of_same_type(self):
+ dummy_pkg_resources = DummyPkgResources()
+ package = DummyPackage('package')
+ package.__loader__ = self._makeOne(package)
+ po = self._makeOne(package)
+ self.assertEqual(package.__loader__, po)
+
def test_ctor_sets_loader(self):
package = DummyPackage('package')
po = self._makeOne(package)