From c22ca31e3db6672131fbf7f4b9a4e2bbe7f1f2e8 Mon Sep 17 00:00:00 2001 From: Corentin Henry Date: Tue, 1 Mar 2016 13:25:22 +0100 Subject: [PATCH] fix bug in suite class fix #280 we should not try to delete the `_previousTestClass` attribute on a result instance, since it is a class attribute. instead, we just set it to `None` --- nose2/suite.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/nose2/suite.py b/nose2/suite.py index a531aa7c..32eebc42 100644 --- a/nose2/suite.py +++ b/nose2/suite.py @@ -41,9 +41,8 @@ def run(self, result): self._safeMethodCall(self.tearDown, result) def handle_previous_test_teardown(self, result): - try: - prev = result._previousTestClass - except AttributeError: + prev = getattr(result, '_previousTestClass', None) + if prev is None: return layer_attr = getattr(prev, 'layer', None) if isinstance(layer_attr, LayerSuite): @@ -53,7 +52,7 @@ def handle_previous_test_teardown(self, result): suite_obj._tearDownPreviousClass(None, result) suite_obj._handleModuleTearDown(result) finally: - delattr(result, '_previousTestClass') + result._previousTestClass = None def setUp(self): if self.layer is None: