diff options
author | Robert Collins <robertc@robertcollins.net> | 2013-01-20 23:15:33 +1300 |
---|---|---|
committer | Robert Collins <robertc@robertcollins.net> | 2013-01-20 23:15:33 +1300 |
commit | 4c2dc417782bdda3f4bf5e064339c0714ff93d8a (patch) | |
tree | a5132232b8d5c2b506f50e941460cb889e7a3884 | |
parent | 2a1ab3bc4d630c4d03232bf36da2a1cf2c971d4a (diff) | |
download | testresources-git-4c2dc417782bdda3f4bf5e064339c0714ff93d8a.tar.gz |
* TestResourceManager.reset() was not taking dependency dirtiness into
consideration. (Brian Sutherland, #783488)
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | lib/testresources/__init__.py | 2 | ||||
-rw-r--r-- | lib/testresources/tests/test_test_resource.py | 11 |
3 files changed, 15 insertions, 1 deletions
@@ -12,6 +12,9 @@ IMPROVEMENTS fixed (but will make OptimisingTestSuite trigger resets on every transition between tests). (Robert Collins, James Westby, #1023423) +* TestResourceManager.reset() was not taking dependency dirtiness into + consideration. (Brian Sutherland, #783488) + 0.2.6 ----- diff --git a/lib/testresources/__init__.py b/lib/testresources/__init__.py index 148ff1a..217280f 100644 --- a/lib/testresources/__init__.py +++ b/lib/testresources/__init__.py @@ -579,7 +579,7 @@ class TestResourceManager(object): :return: The new resource. :param result: An optional TestResult to report resource changes to. """ - if self._dirty: + if self.isDirty(): self._clean_all(old_resource, result) resource = self._make_all(result) else: diff --git a/lib/testresources/tests/test_test_resource.py b/lib/testresources/tests/test_test_resource.py index 74fb9ed..02524e7 100644 --- a/lib/testresources/tests/test_test_resource.py +++ b/lib/testresources/tests/test_test_resource.py @@ -212,6 +212,17 @@ class TestTestResource(testtools.TestCase): self.assertEqual(1, resource_manager.resets) resource_manager.finishedWith(resource) + def testIsResetIfDependenciesAreDirty(self): + resource_manager = MockResource() + dep1 = MockResource() + resource_manager.resources.append(("dep1", dep1)) + r = resource_manager.getResource() + dep1.dirtied(r.dep1) + # if we get the resource again, it should be clean + r = resource_manager.getResource() + self.assertFalse(resource_manager.isDirty()) + self.assertFalse(dep1.isDirty()) + def testUsedResourceResetBetweenUses(self): resource_manager = MockResettableResource() # take two refs; like happens with OptimisingTestSuite. |