Bladeren bron

Tests passing

Ask Solem 11 jaren geleden
bovenliggende
commit
a665094b0a
2 gewijzigde bestanden met toevoegingen van 3 en 2 verwijderingen
  1. 2 2
      celery/local.py
  2. 1 0
      celery/tests/utils/test_local.py

+ 2 - 2
celery/local.py

@@ -249,11 +249,10 @@ class PromiseProxy(Proxy):
                              '_Proxy__kwargs')):
         try:
             thing = Proxy._get_current_object(self)
-            object.__setattr__(self, '__thing', thing)
-            return thing
         except:
             raise
         else:
+            object.__setattr__(self, '__thing', thing)
             for attr in _clean:
                 try:
                     object.__delattr__(self, attr)
@@ -274,6 +273,7 @@ class PromiseProxy(Proxy):
                         object.__delattr__(self, '__pending__')
                     except AttributeError:
                         pass
+            return thing
 
 
 def maybe_evaluate(obj):

+ 1 - 0
celery/tests/utils/test_local.py

@@ -341,6 +341,7 @@ class test_PromiseProxy(Case):
         self.assertTrue(object.__getattribute__(p, '__pending__'))
 
         self.assertTrue(repr(p))
+        self.assertTrue(p.__evaluated__())
         with self.assertRaises(AttributeError):
             object.__getattribute__(p, '__pending__')
         cbA.assert_called_with(p)