Skip to content

Commit

Permalink
Removed tests for django.utils.unittest vs. unittest.
Browse files Browse the repository at this point in the history
Silenced warnings caused by the deprecation of django.utils.unittest.

Thanks Preston Timmons and Carl Meyer for their advice.

Fixed #20680.
  • Loading branch information
aaugustin committed Jul 1, 2013
1 parent a521d10 commit 909433f
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 49 deletions.
2 changes: 2 additions & 0 deletions django/test/simple.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
from django.test import _doctest as doctest
from django.test import runner
from django.test.utils import compare_xml, strip_quotes
# django.utils.unittest is deprecated, but so is django.test.simple,
# and the latter will be removed before the former.
from django.utils import unittest
from django.utils.importlib import import_module
from django.utils.module_loading import module_has_submodule
Expand Down
12 changes: 9 additions & 3 deletions django/test/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -377,13 +377,14 @@ def __exit__(self, exc_type, exc_value, traceback):

class IgnoreDeprecationWarningsMixin(object):

warning_class = DeprecationWarning
warning_classes = [DeprecationWarning]

def setUp(self):
super(IgnoreDeprecationWarningsMixin, self).setUp()
self.catch_warnings = warnings.catch_warnings()
self.catch_warnings.__enter__()
warnings.filterwarnings("ignore", category=self.warning_class)
for warning_class in self.warning_classes:
warnings.filterwarnings("ignore", category=warning_class)

def tearDown(self):
self.catch_warnings.__exit__(*sys.exc_info())
Expand All @@ -392,7 +393,12 @@ def tearDown(self):

class IgnorePendingDeprecationWarningsMixin(IgnoreDeprecationWarningsMixin):

warning_class = PendingDeprecationWarning
warning_classes = [PendingDeprecationWarning]


class IgnoreAllDeprecationWarningsMixin(IgnoreDeprecationWarningsMixin):

warning_classes = [PendingDeprecationWarning, DeprecationWarning]


@contextmanager
Expand Down
11 changes: 2 additions & 9 deletions tests/test_discovery_sample/tests_sample.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
from unittest import TestCase as UnitTestCase
from unittest import TestCase

from django.test import TestCase as DjangoTestCase
from django.utils.unittest import TestCase as UT2TestCase


class TestVanillaUnittest(UnitTestCase):

def test_sample(self):
self.assertEqual(1, 1)


class TestUnittest2(UT2TestCase):
class TestVanillaUnittest(TestCase):

def test_sample(self):
self.assertEqual(1, 1)
Expand Down
33 changes: 2 additions & 31 deletions tests/test_runner/test_discover_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@
from django.test import TestCase
from django.test.runner import DiscoverRunner

try:
import unittest2
except ImportError:
unittest2 = None


def expectedFailureIf(condition):
"""Marks a test as an expected failure if ``condition`` is met."""
Expand All @@ -26,7 +21,7 @@ def test_dotted_test_module(self):
["test_discovery_sample.tests_sample"],
).countTestCases()

self.assertEqual(count, 3)
self.assertEqual(count, 2)

def test_dotted_test_class_vanilla_unittest(self):
count = DiscoverRunner().build_suite(
Expand All @@ -35,37 +30,13 @@ def test_dotted_test_class_vanilla_unittest(self):

self.assertEqual(count, 1)

def test_dotted_test_class_unittest2(self):
count = DiscoverRunner().build_suite(
["test_discovery_sample.tests_sample.TestUnittest2"],
).countTestCases()

self.assertEqual(count, 1)

def test_dotted_test_class_django_testcase(self):
count = DiscoverRunner().build_suite(
["test_discovery_sample.tests_sample.TestDjangoTestCase"],
).countTestCases()

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"],
).countTestCases()

self.assertEqual(count, 1)

def test_dotted_test_method_unittest2(self):
count = DiscoverRunner().build_suite(
["test_discovery_sample.tests_sample.TestUnittest2.test_sample"],
).countTestCases()

self.assertEqual(count, 1)

def test_dotted_test_method_django_testcase(self):
count = DiscoverRunner().build_suite(
["test_discovery_sample.tests_sample.TestDjangoTestCase.test_sample"],
Expand Down Expand Up @@ -96,4 +67,4 @@ def change_cwd_to_tests():
["test_discovery_sample/"],
).countTestCases()

self.assertEqual(count, 4)
self.assertEqual(count, 3)
5 changes: 3 additions & 2 deletions tests/test_runner/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from django import db
from django.test import runner, TestCase, TransactionTestCase, skipUnlessDBFeature
from django.test.testcases import connections_support_transactions
from django.test.utils import IgnoreDeprecationWarningsMixin
from django.test.utils import IgnoreAllDeprecationWarningsMixin
from django.utils.importlib import import_module

from admin_scripts.tests import AdminScriptTestCase
Expand Down Expand Up @@ -225,7 +225,8 @@ def test_ticket_17477(self):
self.assertNoOutput(err)


class ModulesTestsPackages(IgnoreDeprecationWarningsMixin, unittest.TestCase):
class ModulesTestsPackages(IgnoreAllDeprecationWarningsMixin, unittest.TestCase):

def test_get_tests(self):
"Check that the get_tests helper function can find tests in a directory"
from django.test.simple import get_tests
Expand Down
5 changes: 3 additions & 2 deletions tests/test_suite_override/tests.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import unittest

from django.db.models import get_app
from django.test.utils import IgnoreDeprecationWarningsMixin
from django.test.utils import IgnoreAllDeprecationWarningsMixin


def suite():
Expand All @@ -10,7 +10,8 @@ def suite():
return testSuite


class SuiteOverrideTest(IgnoreDeprecationWarningsMixin, unittest.TestCase):
class SuiteOverrideTest(IgnoreAllDeprecationWarningsMixin, unittest.TestCase):

def test_suite_override(self):
"""
Validate that you can define a custom suite when running tests with
Expand Down
4 changes: 2 additions & 2 deletions tests/test_utils/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from django.template.loader import render_to_string
from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
from django.test.html import HTMLParseError, parse_html
from django.test.utils import CaptureQueriesContext, IgnoreDeprecationWarningsMixin
from django.test.utils import CaptureQueriesContext, IgnoreAllDeprecationWarningsMixin
from django.utils import six

from .models import Person
Expand Down Expand Up @@ -592,7 +592,7 @@ class MyCustomField(IntegerField):
self.assertFieldOutput(MyCustomField, {}, {}, empty_value=None)


class DoctestNormalizerTest(IgnoreDeprecationWarningsMixin, SimpleTestCase):
class DoctestNormalizerTest(IgnoreAllDeprecationWarningsMixin, SimpleTestCase):

def test_normalizer(self):
from django.test.simple import make_doctest
Expand Down

0 comments on commit 909433f

Please sign in to comment.