Author: astaric
Date: Mon May 27 16:33:02 2013
New Revision: 1486658
URL: http://svn.apache.org/r1486658
Log:
Unregister class with invalid __module__ after test is done.
Components are saved to ComponentMeta._components class variable (shared
between all tests run in the same process). When get_plugin_info is called,
it traverses this list of registered classes, and fails if a class with
invalid __module__ is encountered.
Modified:
bloodhound/trunk/bloodhound_multiproduct/tests/env.py
Modified: bloodhound/trunk/bloodhound_multiproduct/tests/env.py
URL:
http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/env.py?rev=1486658&r1=1486657&r2=1486658&view=diff
==============================================================================
--- bloodhound/trunk/bloodhound_multiproduct/tests/env.py (original)
+++ bloodhound/trunk/bloodhound_multiproduct/tests/env.py Mon May 27 16:33:02
2013
@@ -35,7 +35,7 @@ else:
from unittest.case import _AssertRaisesContext
from trac.config import Option
-from trac.core import Component
+from trac.core import Component, ComponentMeta
from trac.env import Environment
from trac.test import EnvironmentStub, MockPerm
from trac.tests.env import EnvironmentTestCase
@@ -472,6 +472,10 @@ class ProductEnvApiTestCase(Multiproduct
# Test the rules against Trac component class
_test_component_enabled(TicketModule)
+ # ComponentMeta._components is shared between multiple tests.
+ # Unregister class C as its fake module might break something else.
+ ComponentMeta._components.remove(C)
+
def test_path(self):
"""Testing env.path"""
self.assertEqual(self.product_env.path,