[Erp5-report] r35435 jm - /erp5/trunk/products/ERP5Type/tests/backportUnittest.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue May 18 23:33:52 CEST 2010


Author: jm
Date: Tue May 18 23:33:50 2010
New Revision: 35435

URL: http://svn.erp5.org?rev=35435&view=rev
Log:
Exit status for an interrupted test should not be 0

Also display traceback of interrupt.

Modified:
    erp5/trunk/products/ERP5Type/tests/backportUnittest.py

Modified: erp5/trunk/products/ERP5Type/tests/backportUnittest.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/backportUnittest.py?rev=35435&r1=35434&r2=35435&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/backportUnittest.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/backportUnittest.py [utf8] Tue May 18 23:33:50 2010
@@ -90,6 +90,12 @@
     wrapper.__name__ = func.__name__
     wrapper.__doc__ = func.__doc__
     return wrapper
+
+try:
+    BaseException
+except NameError:
+    # BACK: python < 2.5
+    BaseException = Exception
 
 class TestCase(unittest.TestCase):
     """We redefine here the run() method, and add a skipTest() method.
@@ -136,10 +142,10 @@
                 result.addSkip(self, str(e))
             except SetupSiteError, e:
                 result.errors.append(None)
-            except (KeyboardInterrupt, SystemExit): # BACK: Not needed for
-                raise                               #       Python >= 2.5
-            except Exception:
+            except BaseException, e:
                 result.addError(self, sys.exc_info())
+                if isinstance(e, (KeyboardInterrupt, SystemExit)):
+                    raise
             else:
                 try:
                     testMethod()
@@ -151,19 +157,19 @@
                     result.addUnexpectedSuccess(self)
                 except SkipTest, e:
                     result.addSkip(self, str(e))
-                except (KeyboardInterrupt, SystemExit): # BACK: Not needed for
-                    raise                               #       Python >= 2.5
-                except Exception:
+                except BaseException, e:
                     result.addError(self, sys.exc_info())
+                    if isinstance(e, (KeyboardInterrupt, SystemExit)):
+                        raise
                 else:
                     success = True
 
                 try:
                     self.tearDown()
-                except (KeyboardInterrupt, SystemExit): # BACK: Not needed for
-                    raise                               #       Python >= 2.5
-                except Exception:
+                except BaseException, e:
                     result.addError(self, sys.exc_info())
+                    if isinstance(e, (KeyboardInterrupt, SystemExit)):
+                        raise
                     success = False
 
             # BACK: Not needed for Python < 2.7




More information about the Erp5-report mailing list