Initial commit
This commit is contained in:
47
venv/lib/python3.7/site-packages/nltk/test/unit/utils.py
Normal file
47
venv/lib/python3.7/site-packages/nltk/test/unit/utils.py
Normal file
@@ -0,0 +1,47 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from __future__ import absolute_import
|
||||
from unittest import TestCase
|
||||
from functools import wraps
|
||||
from nose.plugins.skip import SkipTest
|
||||
from nltk.util import py26
|
||||
|
||||
|
||||
def skip(reason):
|
||||
"""
|
||||
Unconditionally skip a test.
|
||||
"""
|
||||
|
||||
def decorator(test_item):
|
||||
is_test_class = isinstance(test_item, type) and issubclass(test_item, TestCase)
|
||||
|
||||
if is_test_class and py26():
|
||||
# Patch all test_ methods to raise SkipText exception.
|
||||
# This is necessary for Python 2.6 because its unittest
|
||||
# doesn't understand __unittest_skip__.
|
||||
for meth_name in (m for m in dir(test_item) if m.startswith('test_')):
|
||||
patched_method = skip(reason)(getattr(test_item, meth_name))
|
||||
setattr(test_item, meth_name, patched_method)
|
||||
|
||||
if not is_test_class:
|
||||
|
||||
@wraps(test_item)
|
||||
def skip_wrapper(*args, **kwargs):
|
||||
raise SkipTest(reason)
|
||||
|
||||
skip_wrapper.__name__ = test_item.__name__
|
||||
test_item = skip_wrapper
|
||||
|
||||
test_item.__unittest_skip__ = True
|
||||
test_item.__unittest_skip_why__ = reason
|
||||
return test_item
|
||||
|
||||
return decorator
|
||||
|
||||
|
||||
def skipIf(condition, reason):
|
||||
"""
|
||||
Skip a test if the condition is true.
|
||||
"""
|
||||
if condition:
|
||||
return skip(reason)
|
||||
return lambda obj: obj
|
||||
Reference in New Issue
Block a user