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,