From a7dc13ec231faf917c3125eb4c158138d4edde10 Mon Sep 17 00:00:00 2001 From: Carl Meyer <carl@oddbird.net> Date: Mon, 20 May 2013 01:56:23 -0400 Subject: [PATCH] Fixed #20437 - marked a test-runner test as expected-fail under certain conditions. --- tests/test_runner/test_discover_runner.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py index 030a0bc40a..1a0fb88367 100644 --- a/tests/test_runner/test_discover_runner.py +++ b/tests/test_runner/test_discover_runner.py @@ -1,8 +1,22 @@ from contextlib import contextmanager import os +import sys from django.test import TestCase from django.test.runner import DiscoverRunner +from django.utils.unittest import expectedFailure + +try: + import unittest2 +except ImportError: + unittest2 = None + + +def expectedFailureIf(condition): + """Marks a test as an expected failure if ``condition`` is met.""" + if condition: + return expectedFailure + return lambda func: func class DiscoverRunnerTest(TestCase): @@ -35,6 +49,9 @@ class DiscoverRunnerTest(TestCase): self.assertEqual(count, 1) + # this test fails if unittest2 is installed from PyPI on Python 2.6 + # refs https://code.djangoproject.com/ticket/20437 + @expectedFailureIf(sys.version_info < (2, 7) and unittest2) def test_dotted_test_method_vanilla_unittest(self): count = DiscoverRunner().build_suite( ["test_discovery_sample.tests_sample.TestVanillaUnittest.test_sample"],