diff options
Diffstat (limited to 'djangorestframework/compat.py')
| -rw-r--r-- | djangorestframework/compat.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/djangorestframework/compat.py b/djangorestframework/compat.py index 38119811..58ecb453 100644 --- a/djangorestframework/compat.py +++ b/djangorestframework/compat.py @@ -432,3 +432,32 @@ try: except ImportError: yaml = None +import unittest +try: + import unittest.skip +except ImportError: # python < 2.7 + from unittest import TestCase + import functools + + class SkipTest(Exception): + # Pasted from py27/lib/unittest/case.py + pass + + def skip(reason): + # Pasted from py27/lib/unittest/case.py + """ + Unconditionally skip a test. + """ + def decorator(test_item): + if not (isinstance(test_item, type) and issubclass(test_item, TestCase)): + @functools.wraps(test_item) + def skip_wrapper(*args, **kwargs): + raise SkipTest(reason) + test_item = skip_wrapper + + test_item.__unittest_skip__ = True + test_item.__unittest_skip_why__ = reason + return test_item + return decorator + + unittest.skip = skip |
