diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-30 23:09:17 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-30 23:09:17 +0000 |
| commit | b6c867e7d8f8c34138efadc5efd0c9f30bff9ecb (patch) | |
| tree | 1923a3ff04976cfb031b00b2b78d7625cb6a4dcc /repoze/bfg/tests | |
| parent | cc0bc9b032d59c740dbf27fdb46cd6a541f8df47 (diff) | |
| download | pyramid-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.py | 9 |
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) |
