Loading django/test/utils.py +14 −0 Original line number Diff line number Diff line Loading @@ -541,3 +541,17 @@ def captured_stdin(): self.assertEqual(captured, "hello") """ return captured_output("stdin") def reset_warning_registry(): """ Clear warning registry for all modules. This is required in some tests because of a bug in Python that prevents warnings.simplefilter("always") from always making warnings appear: http://bugs.python.org/issue4180 The bug was fixed in Python 3.4.2. """ key = "__warningregistry__" for mod in sys.modules.values(): if hasattr(mod, key): getattr(mod, key).clear() tests/deprecation/tests.py +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import unittest import warnings from django.test import SimpleTestCase, RequestFactory, override_settings from django.test.utils import reset_warning_registry from django.utils import six, translation from django.utils.deprecation import RenameMethodsBase from django.utils.encoding import force_text Loading @@ -28,6 +29,7 @@ class RenameMethodsTests(SimpleTestCase): Ensure a warning is raised upon class definition to suggest renaming the faulty method. """ reset_warning_registry() with warnings.catch_warnings(record=True) as recorded: warnings.simplefilter('always') Loading tests/utils_tests/test_text.py +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ from unittest import skipUnless import warnings from django.test import SimpleTestCase from django.test.utils import reset_warning_registry from django.utils import six, text from django.utils.deprecation import RemovedInDjango19Warning from django.utils.encoding import force_text Loading Loading @@ -219,6 +220,7 @@ class TestUtilsText(SimpleTestCase): self.assertEqual(text.javascript_quote(input), output) def test_deprecation(self): reset_warning_registry() with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") text.javascript_quote('thingy') Loading Loading
django/test/utils.py +14 −0 Original line number Diff line number Diff line Loading @@ -541,3 +541,17 @@ def captured_stdin(): self.assertEqual(captured, "hello") """ return captured_output("stdin") def reset_warning_registry(): """ Clear warning registry for all modules. This is required in some tests because of a bug in Python that prevents warnings.simplefilter("always") from always making warnings appear: http://bugs.python.org/issue4180 The bug was fixed in Python 3.4.2. """ key = "__warningregistry__" for mod in sys.modules.values(): if hasattr(mod, key): getattr(mod, key).clear()
tests/deprecation/tests.py +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import unittest import warnings from django.test import SimpleTestCase, RequestFactory, override_settings from django.test.utils import reset_warning_registry from django.utils import six, translation from django.utils.deprecation import RenameMethodsBase from django.utils.encoding import force_text Loading @@ -28,6 +29,7 @@ class RenameMethodsTests(SimpleTestCase): Ensure a warning is raised upon class definition to suggest renaming the faulty method. """ reset_warning_registry() with warnings.catch_warnings(record=True) as recorded: warnings.simplefilter('always') Loading
tests/utils_tests/test_text.py +2 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ from unittest import skipUnless import warnings from django.test import SimpleTestCase from django.test.utils import reset_warning_registry from django.utils import six, text from django.utils.deprecation import RemovedInDjango19Warning from django.utils.encoding import force_text Loading Loading @@ -219,6 +220,7 @@ class TestUtilsText(SimpleTestCase): self.assertEqual(text.javascript_quote(input), output) def test_deprecation(self): reset_warning_registry() with warnings.catch_warnings(record=True) as w: warnings.simplefilter("always") text.javascript_quote('thingy') Loading