From 1997b595bd926a1247616fdcfd23cb3b2784a5c3 2012-02-09 20:20:19 From: Thomas Kluyver Date: 2012-02-09 20:20:19 Subject: [PATCH] Make separate function to monkeypatch Xunit. --- diff --git a/IPython/testing/iptest.py b/IPython/testing/iptest.py index c32d3ed..16d86bb 100644 --- a/IPython/testing/iptest.py +++ b/IPython/testing/iptest.py @@ -84,21 +84,17 @@ warnings.filterwarnings('ignore', 'wxPython/wxWidgets release number mismatch', # ------------------------------------------------------------------------------ # Monkeypatch Xunit to count known failures as skipped. # ------------------------------------------------------------------------------ -if not hasattr(Xunit, 'orig_addError'): +def monkeypatch_xunit(): try: knownfailureif(True)(lambda: None)() except Exception as e: KnownFailureTest = type(e) - def addError(self, test, err, capt=None): if issubclass(err[0], KnownFailureTest): err = (SkipTest,) + err[1:] return self.orig_addError(test, err, capt) - #xunit.Xunit = Xunit - - Xunit.orig_addError = Xunit.addError Xunit.addError = addError @@ -410,6 +406,9 @@ def run_iptest(): `iptest all`. It simply calls nose with appropriate command line flags and accepts all of the standard nose arguments. """ + # Apply our monkeypatch to Xunit + if not hasattr(Xunit, 'orig_addError'): + monkeypatch_xunit() warnings.filterwarnings('ignore', 'This will be removed soon. Use IPython.testing.util instead')