Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
opt
/
alt
/
python35
/
lib64
/
python3.5
/
site-packages
/
numpy
/
testing
/
__pycache__
/
File Content:
decorators.cpython-35.pyc
X��f ! � @ s� d Z d d l m Z m Z m Z d d l Z d d l Z d d l m Z d d � Z d d d � Z d d d � Z d d d � Z d d d � Z d S)a� Decorators for labeling and modifying behavior of test objects. Decorators that merely return a modified version of the original function object are straightforward. Decorators that return a new function object need to use :: nose.tools.make_decorator(original_function)(decorator) in returning the decorator, in order to preserve meta-data such as function name, setup and teardown functions and so on - see ``nose.tools`` for more information. � )�division�absolute_import�print_functionN� )�SkipTestc C s d | _ | S)a� Label a test as 'slow'. The exact definition of a slow test is obviously both subjective and hardware-dependent, but in general any individual test that requires more than a second or two should be labeled as slow (the whole suite consits of thousands of tests, so even a second is significant). Parameters ---------- t : callable The test to label as slow. Returns ------- t : callable The decorated test `t`. Examples -------- The `numpy.testing` module includes ``import decorators as dec``. A test can be decorated as slow like this:: from numpy.testing import * @dec.slow def test_big(self): print('Big, slow test') T)�slow)�t� r �/decorators.pyr s r Tc s � f d d � } | S)a� Signals to nose that this function is or is not a test. Parameters ---------- tf : bool If True, specifies that the decorated callable is a test. If False, specifies that the decorated callable is not a test. Default is True. Notes ----- This decorator can't use the nose namespace, because it can be called from a non-test module. See also ``istest`` and ``nottest`` in ``nose.tools``. Examples -------- `setastest` can be used in the following way:: from numpy.testing.decorators import setastest @setastest(False) def func_with_test_in_name(arg1, arg2): pass c s � | _ | S)N)Z__test__)r )�tfr r �set_testV s zsetastest.<locals>.set_testr )r r r )r r � setastest: s r c s � � f d d � } | S)a� Make function raise SkipTest exception if a given condition is true. If the condition is a callable, it is used at runtime to dynamically make the decision. This is useful for tests that may require costly imports, to delay the cost until the test suite is actually executed. Parameters ---------- skip_condition : bool or callable Flag to determine whether to skip the decorated test. msg : str, optional Message to give on raising a SkipTest exception. Default is None. Returns ------- decorator : function Decorator which, when applied to a function, causes SkipTest to be raised when `skip_condition` is True, and the function to be called normally otherwise. Notes ----- The decorator itself is decorated with the ``nose.tools.make_decorator`` function in order to transmit function name, and various other metadata. c s� d d l } t � t j � r3 � f d d � � n � f d d � � d d d � � � � � � f d d � } � � � � f d d � } | j j � � r� | } n | } | j j � � | � S)Nr c s � � S)Nr r )�skip_conditionr r �<lambda> s z0skipif.<locals>.skip_decorator.<locals>.<lambda>c s � S)Nr r )r r r r � s c S s, | d k r d } n | } d | j | f S)z;Skip message with information about function being skipped.Nz"Test skipped due to test conditionzSkipping test: %s: %s)�__name__)�func�msg�outr r r �get_msg� s z/skipif.<locals>.skip_decorator.<locals>.get_msgc s2 � � r! t � � � � � � n � | | � Sd S)z"Skipper for normal test functions.N)r )�args�kwargs)�fr r �skip_valr r �skipper_func� s z4skipif.<locals>.skip_decorator.<locals>.skipper_funcc ? sD � � r! t � � � � � � n x � | | � D] } | Vq1 Wd S)zSkipper for test generators.N)r )r r �x)r r r r r r �skipper_gen� s z3skipif.<locals>.skip_decorator.<locals>.skipper_gen)�nose� isinstance�collections�Callable�utilZisgenerator�tools�make_decorator)r r r r Zskipper)r r )r r r r �skip_decoratorx s zskipif.<locals>.skip_decoratorr )r r r# r )r r r �skipif[ s -r$ c sd � d k r d � t � t j � r9 � f d d � � n � f d d � � � � f d d � } | S)a Make function raise KnownFailureException exception if given condition is true. If the condition is a callable, it is used at runtime to dynamically make the decision. This is useful for tests that may require costly imports, to delay the cost until the test suite is actually executed. Parameters ---------- fail_condition : bool or callable Flag to determine whether to mark the decorated test as a known failure (if True) or not (if False). msg : str, optional Message to give on raising a KnownFailureException exception. Default is None. Returns ------- decorator : function Decorator, which, when applied to a function, causes KnownFailureException to be raised when `fail_condition` is True, and the function to be called normally otherwise. Notes ----- The decorator itself is decorated with the ``nose.tools.make_decorator`` function in order to transmit function name, and various other metadata. Nz!Test skipped due to known failurec s � � S)Nr r )�fail_conditionr r r � s z knownfailureif.<locals>.<lambda>c s � S)Nr r )r% r r r � s c sM d d l } d d l m � � � � � f d d � } | j j � � | � S)Nr r )�KnownFailureExceptionc s) � � r � � � � n � | | � Sd S)Nr )r r )r&