OwlCyberSecurity - MANAGER
Edit File: decorators.cpython-38.pyc
U �i]7# � @ s� d Z ddlmZmZmZ zddlmZ W n ek rD ddl ZY nX ddl mZmZm Z dddd d ddgZd d� Zddd�Zddd�Zddd �Zddd �Zdd� Zee d�ZdS )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� )�SkipTest�assert_warns�HAS_REFCOUNT�slow� setastest�skipif�knownfailureif� deprecated�parametrize�_needs_refcountc 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 consists 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)r ��t� r �C/usr/lib/python3/dist-packages/numpy/testing/_private/decorators.pyr s Tc s � fdd�}|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 import dec @dec.setastest(False) def func_with_test_in_name(arg1, arg2): pass c s � | _ | S �N)Z__test__r ��tfr r �set_test^ s zsetastest.<locals>.set_testr )r r r r r r B s c s � �fdd�}|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� dd l }t�tj�r"�fdd��n�fdd��ddd��� ���fdd�}� ���fd d �}|j�� �rn|}n|}|j�� �|�S )Nr c s � � S r r r ��skip_conditionr r �<lambda>� � z0skipif.<locals>.skip_decorator.<locals>.<lambda>c s � S r r r r r r r � r c S s |dkrd}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 s$ �� rt �� ����n � | |�S dS )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 ? s0 �� rt �� ����n� | |�D ] }|V q dS )zSkipper for test generators.Nr! )r# r$ �xr% r r �skipper_gen� s z3skipif.<locals>.skip_decorator.<locals>.skipper_gen)N)�nose� isinstance�collections_abc�Callable�utilZisgenerator�tools�make_decorator)r&