From eda8b02a8dad317b506c8703bc5b0c7dd25e4031 Mon Sep 17 00:00:00 2001 From: Ronny Pfannschmidt Date: Tue, 19 Nov 2013 10:58:24 +0100 Subject: [PATCH] fix issue384 by removing the trial support code --- CHANGELOG | 4 ++++ _pytest/unittest.py | 6 ------ testing/test_unittest.py | 37 +++++++++++++++++++++++++++++++++---- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 601415620..a8aea020b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,10 @@ Unreleased ----------------------------------- +- fix issue384 by removing the trial support code + since the unittest compat enhancements allow + trial to handle it on its own + - fix pexpect-3.0 compatibility for pytest's own tests. (fixes issue386) diff --git a/_pytest/unittest.py b/_pytest/unittest.py index 04e6ae105..e6fefbd43 100644 --- a/_pytest/unittest.py +++ b/_pytest/unittest.py @@ -50,8 +50,6 @@ class UnitTestCase(pytest.Class): x = getattr(self.obj, name) funcobj = getattr(x, 'im_func', x) transfer_markers(funcobj, cls, module) - if hasattr(funcobj, 'todo'): - pytest.mark.xfail(reason=str(funcobj.todo))(funcobj) yield TestCaseFunction(name, parent=self) foundsomething = True @@ -70,10 +68,6 @@ class TestCaseFunction(pytest.Function): def setup(self): self._testcase = self.parent.obj(self.name) self._obj = getattr(self._testcase, self.name) - if hasattr(self._testcase, 'skip'): - pytest.skip(self._testcase.skip) - if hasattr(self._obj, 'skip'): - pytest.skip(self._obj.skip) if hasattr(self._testcase, 'setup_method'): self._testcase.setup_method(self._obj) if hasattr(self, "_request"): diff --git a/testing/test_unittest.py b/testing/test_unittest.py index 031f166df..eccb464da 100644 --- a/testing/test_unittest.py +++ b/testing/test_unittest.py @@ -310,9 +310,10 @@ def test_module_level_pytestmark(testdir): reprec.assertoutcome(skipped=1) -def test_testcase_skip_property(testdir): +def test_trial_testcase_skip_property(testdir): + testpath = testdir.makepyfile(""" - import unittest + from twisted.trial import unittest class MyTestCase(unittest.TestCase): skip = 'dont run' def test_func(self): @@ -321,9 +322,11 @@ def test_testcase_skip_property(testdir): reprec = testdir.inline_run(testpath, "-s") reprec.assertoutcome(skipped=1) -def test_testfunction_skip_property(testdir): + +def test_trial_testfunction_skip_property(testdir): + pytest.importorskip('twisted.trial.unittest') testpath = testdir.makepyfile(""" - import unittest + from twisted.trial import unittest class MyTestCase(unittest.TestCase): def test_func(self): pass @@ -333,6 +336,32 @@ def test_testfunction_skip_property(testdir): reprec.assertoutcome(skipped=1) +def test_trial_testcase_todo_property(testdir): + + testpath = testdir.makepyfile(""" + from twisted.trial import unittest + class MyTestCase(unittest.TestCase): + todo = 'dont run' + def test_func(self): + assert 0 + """) + reprec = testdir.inline_run(testpath, "-s") + reprec.assertoutcome(skipped=1) + + +def test_trial_testfunction_todo_property(testdir): + pytest.importorskip('twisted.trial.unittest') + testpath = testdir.makepyfile(""" + from twisted.trial import unittest + class MyTestCase(unittest.TestCase): + def test_func(self): + assert 0 + test_func.todo = 'dont run' + """) + reprec = testdir.inline_run(testpath, "-s") + reprec.assertoutcome(skipped=1) + + class TestTrialUnittest: def setup_class(cls): cls.ut = pytest.importorskip("twisted.trial.unittest")