Skip to content

Commit

Permalink
Removed warnings level handling code as per deprecation TL.
Browse files Browse the repository at this point in the history
  • Loading branch information
ramiro committed Jun 29, 2013
1 parent e1dd24d commit 4f6be9a
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 75 deletions.
19 changes: 0 additions & 19 deletions django/test/testcases.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,6 @@ class SimpleTestCase(ut2.TestCase):
# Can be overridden in derived classes.
client_class = Client

_warn_txt = ("save_warnings_state/restore_warnings_state "
"django.test.*TestCase methods are deprecated. Use Python's "
"warnings.catch_warnings context manager instead.")

def __call__(self, result=None):
"""
Wrapper around default __call__ method to perform common Django test
Expand Down Expand Up @@ -225,21 +221,6 @@ def _urlconf_teardown(self):
settings.ROOT_URLCONF = self._old_root_urlconf
clear_url_caches()

def save_warnings_state(self):
"""
Saves the state of the warnings module
"""
warnings.warn(self._warn_txt, DeprecationWarning, stacklevel=2)
self._warnings_state = warnings.filters[:]

def restore_warnings_state(self):
"""
Restores the state of the warnings module to the state
saved by save_warnings_state()
"""
warnings.warn(self._warn_txt, DeprecationWarning, stacklevel=2)
warnings.filters = self._warnings_state[:]

def settings(self, **kwargs):
"""
A context manager that temporarily sets a setting and reverts
Expand Down
25 changes: 0 additions & 25 deletions django/test/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,31 +124,6 @@ def teardown_test_environment():
del mail.outbox


warn_txt = ("get_warnings_state/restore_warnings_state functions from "
"django.test.utils are deprecated. Use Python's warnings.catch_warnings() "
"context manager instead.")


def get_warnings_state():
"""
Returns an object containing the state of the warnings module
"""
# There is no public interface for doing this, but this implementation of
# get_warnings_state and restore_warnings_state appears to work on Python
# 2.4 to 2.7.
warnings.warn(warn_txt, DeprecationWarning, stacklevel=2)
return warnings.filters[:]


def restore_warnings_state(state):
"""
Restores the state of the warnings module when passed an object that was
returned by get_warnings_state()
"""
warnings.warn(warn_txt, DeprecationWarning, stacklevel=2)
warnings.filters = state[:]


def get_runner(settings, test_runner_class=None):
if not test_runner_class:
test_runner_class = settings.TEST_RUNNER
Expand Down
31 changes: 0 additions & 31 deletions tests/test_utils/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,37 +270,6 @@ def test_failure(self):
render_to_string('template_used/alternative.html')


class SaveRestoreWarningState(TestCase):
def test_save_restore_warnings_state(self):
"""
Ensure save_warnings_state/restore_warnings_state work correctly.
"""
# In reality this test could be satisfied by many broken implementations
# of save_warnings_state/restore_warnings_state (e.g. just
# warnings.resetwarnings()) , but it is difficult to test more.
with warnings.catch_warnings():
warnings.simplefilter("ignore", DeprecationWarning)

self.save_warnings_state()

class MyWarning(Warning):
pass

# Add a filter that causes an exception to be thrown, so we can catch it
warnings.simplefilter("error", MyWarning)
self.assertRaises(Warning, lambda: warnings.warn("warn", MyWarning))

# Now restore.
self.restore_warnings_state()
# After restoring, we shouldn't get an exception. But we don't want a
# warning printed either, so we have to silence the warning.
warnings.simplefilter("ignore", MyWarning)
warnings.warn("warn", MyWarning)

# Remove the filter we just added.
self.restore_warnings_state()


class HTMLEqualTests(TestCase):
def test_html_parser(self):
element = parse_html('<div><p>Hello</p></div>')
Expand Down

0 comments on commit 4f6be9a

Please sign in to comment.