PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/nose/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/nose/__pycache__/case.cpython-312.pyc

�

���g�3��
�dZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZmZm
Z
ddlZeje�ZdgZGd�dej&�ZGd	�d
ej&�ZGd�de�ZGd
�de�Zy)z�nose unittest.TestCase subclasses. It is not necessary to subclass these
classes when writing tests; they are used internally by nose.loader.TestLoader
to create test cases from test functions and methods in test classes.
�N)�
isfunction)�Config)�Failure)�resolve_name�test_address�try_run�Testc�z�eZdZdZdZdd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zeeddd�Zd�Zd�Zd�Zy)r	z�The universal test case wrapper.

    When a plugin sees a test, it will always see an instance of this
    class. To access the actual test case that will be run, access the
    test property of the nose.case.Test instance.
    FNc� �t|tj�std|z��||_|�
t�}||_d|_d|_||_	|j|_
d|_tjj|�y)NzTnose.case.Test called with argument %r that is not callable. A callable is required.)�
isinstance�collections�Callable�	TypeError�testr�config�tbinfo�capturedOutput�resultProxy�plugins�passed�unittest�TestCase�__init__)�selfrrrs    �8/opt/hc_python/lib/python3.12/site-packages/nose/case.pyrz
Test.__init__s����$�� 4� 4�5��G�"�#�$�
$���	��>��X�F�������"���&����~�~���������"�"�4�(�c�&�|j|i|��S�N)�run)r�arg�kwargs   r�__call__z
Test.__call__-s���t�x�x��&��&�&rc�j�|jj|�}|�|St|j�Sr)r�testName�strr)r�names  r�__str__zTest.__str__0s/���|�|�$�$�T�*�����K��4�9�9�~�rc� �d|jzS)NzTest(%r))r�rs r�__repr__z
Test.__repr__6s���D�I�I�%�%rc�`�	|j}||j�y#t$rYywxYw)z>Called after test is complete (after result.stopTest)
        N)�	afterTestr�AttributeError)r�resultr,s   rr,zTest.afterTest9s4��	!��(�(�I�
�d�i�i� ���	��	���!�	-�-c�`�	|j}||j�y#t$rYywxYw)z<Called before test is run (before result.startTest)
        N)�
beforeTestrr-)rr.r1s   rr1zTest.beforeTestCs4��	"��*�*�J�
�t�y�y�!���	��	�r/c�<�tj�\}}}|||fS)z Extract exception info.
        )�sys�exc_info)r�exc�exv�tbs    rr4z
Test.exc_infoMs!���|�|�~���S�"��S�"�~�rc�6�|jj�S)z0Get a short(er) description of the test
        )r�idr)s rr9zTest.idSs���y�y�|�|�~�rc��t|jd�r|jj�St|j�S)��Return a round-trip name for this test, a name that can be
        fed back as input to loadTestByName and (assuming the same
        plugin configuration) result in the loading of this test.
        �address)�hasattrrr<rr)s rr<zTest.addressXs6��
�4�9�9�i�(��9�9�$�$�&�&� ��	�	�*�*rc��	|jjS#t$rYnwxYw	|jjS#t$rYnwxYw	t	|jj
�S#t$rYywxYwr)r�contextr-�	__class__r�
__module__r)s r�_contextz
Test._contextcs��	��9�9�$�$�$���	��	��	��9�9�&�&�&���	��	��	���	�	� 4� 4�5�5���	���	�s-��	$�$�>�	A
�	A
�A-�-	A9�8A9z-Get the context object of this test (if any).c�B�|jr|j||�}		|j|�|j|�|j|�y#t$r�t	j
�}|j
||�Y�ExYw#|j|�wxYw)aModified run for the test wrapper.

        From here we don't call result.startTest or stopTest or
        addSuccess.  The wrapper calls addError/addFailure only if its
        own setup or teardown fails, or running the wrapped test fails
        (eg, if the wrapped "test" is not callable).

        Two additional methods are called, beforeTest and
        afterTest. These give plugins a chance to modify the wrapped
        test before it is called and do cleanup after it is
        called. They are called unconditionally.
        N)rr1�runTest�KeyboardInterruptr3r4�addErrorr,)rr.�errs   rrzTest.runts�������%�%�f�d�3�F�
	#�
+�����'����V�$�
�N�N�6�"��
%�
��
+��l�l�n������c�*���N�N�6�"�s�"A�1B�B�Bc�~�|j}|jjj|�}|�|}||�y)z�Run the test. Plugins may alter the test by returning a
        value from prepareTestCase. The value must be callable and
        must accept one argument, the result instance.
        N)rrr�prepareTestCase)rr.r�	plug_tests    rrDzTest.runTest�s9��
�y�y���K�K�'�'�7�7��=�	�� ��D��V�rc���|jj|�}|�|S|j}	|jj	�|_	|jj�}	|t|j�k(ry	|S#t
$r3	|jj	�|_n#t
$rYnwxYwY�swxYw#t$rY�gwxYw#t$rY|SwxYwr)
r�describeTestr�_testMethodDoc�stripr-�_TestCase__testMethodDoc�shortDescription�	Exceptionr%)r�descrs   rrPzTest.shortDescription�s����|�|�(�(��.�����K��y�y��	�"&�"5�"5�";�";�"=�D��	��9�9�-�-�/�D�
	��s�4�9�9�~�%��&����/�	�
��1�1�7�7�9��-��!�
��
��	���	�
�	���	�
���		�sY�B�
C�(C�	C�B.�-C�.	B:�7C�9B:�:C�?C�	C�C�	C�C)NN)�__name__rA�__qualname__�__doc__�__test__rr"r'r*r,r1r4r9r<rB�propertyr?rrDrP�rrr	r	se����H�)�"'��&�!�"���
	+�
��x��t�I�K�G�#�6	� rc�&�eZdZdZdZd�Zd�Zd�Zy)�TestBasezBCommon functionality for FunctionTestCase and MethodTestCase.
    Fc��t|�Sr)r%r)s rr9zTestBase.id�s���4�y�rc�6�|j|j�yr)rr r)s rrDzTestBase.runTest�s����	�	�4�8�8�rc��t|jd�r|jjS|j�\}}t	|dd�}|st|�}|j
�jd�dj
�S)N�descriptionrU�
r)r=rr^�_descriptors�getattrr%rN�split)r�funcr �docs    rrPzTestBase.shortDescription�sq���4�9�9�m�,��9�9�(�(�(��%�%�'�	��c��d�I�t�,����d�)�C��y�y�{� � ��&�q�)�/�/�1�1rN)rSrArTrUrVr9rDrPrXrrrZrZ�s����H���2rrZc�l�eZdZdZdZdde�dfd�Zd�Zd�Ze	eddd�Z
d�Zd	�Zd
�Z
e
Zd�Zy)�FunctionTestCasez�TestCase wrapper for test functions.

    Don't use this class directly; it is used internally in nose to
    create test cases for test functions.
    FNc�t�||_||_||_||_||_t
j
|�y)aInitialize the MethodTestCase.

        Required argument:

        * test -- the test function to call.

        Optional arguments:

        * setUp -- function to run at setup.

        * tearDown -- function to run at teardown.

        * arg -- arguments to pass to the test function. This is to support
          generator functions that yield arguments.

        * descriptor -- the function, other than the test, that should be used
          to construct the test name. This is to support generator functions.
        N)r�	setUpFunc�tearDownFuncr �
descriptorrZr)rr�setUp�tearDownr rjs      rrzFunctionTestCase.__init__�s6��*��	����$������$������$�rc�n�|j�t|j�St|j�S�r;)rjrrr)s rr<zFunctionTestCase.address�s,��
�?�?�&�����0�0���	�	�*�*rc�@�t|jj�Sr)rrrAr)s rrBzFunctionTestCase._contexts���D�I�I�0�0�1�1rz!Get context (module) of this testc�n�|jr|j�yd}t|j|�y)z=Run any setup function attached to the test function
        )�setuprkrhN)rhrr�r�namess  rrkzFunctionTestCase.setUps(���>�>��N�N��3�E��D�I�I�u�%rc�n�|jr|j�yd}t|j|�y)z@Run any teardown function attached to the test function
        )�teardownrlriN)rirrrrs  rrlzFunctionTestCase.tearDowns,���������<�E��D�I�I�u�%rc��|j�\}}t|d�r
|j}n|j}|j�d|��}|r|�|��}|S�N�compat_func_name�.)r`r=rxrSrA�rrcr r&s    rr'zFunctionTestCase.__str__sU���%�%�'�	��c��4�+�,��(�(�D��=�=�D��/�/�4�0���!�3�'�D��rc�z�|jr|j|jfS|j|jfS)afGet the descriptors of the test function: the function and
        arguments that will be used to construct the test name. In
        most cases, this is the function itself and no arguments. For
        tests generated by generator functions, the original
        (generator) function and args passed to the generated function
        are returned.
        )rjr rr)s rr`zFunctionTestCase._descriptors&s1���?�?��?�?�D�H�H�,�,��9�9�d�h�h�&�&r)rSrArTrUrV�tuplerr<rBrWr?rkrlr'r*r`rXrrrfrf�sW���
�H�#'�$�E�G� � �8+�2��x��t�=�?�G�&�&���H�'rrfc�j�eZdZdZdZde�dfd�Zd�ZeZd�Z	d�Z
ee
ddd�Zd	�Z
d
�Zd�Zy)�MethodTestCasez�Test case wrapper for test methods.

    Don't use this class directly; it is used internally in nose to
    create test cases for test methods.
    FNc�l�||_||_||_||_t	|�rtd��|jj|_|j�|_	|j�1|jj}t|j|�|_tj|�y)a�Initialize the MethodTestCase.

        Required argument:

        * method -- the method to call, may be bound or unbound. In either
          case, a new instance of the method's class will be instantiated to
	  make the call.  Note: In Python 3.x, if using an unbound method, you
	  must wrap it using pyversion.unbound_method.

        Optional arguments:

        * test -- the test function to call. If this is passed, it will be
          called instead of getting a new bound method of the same name as the
          desired method from the test instance. This is to support generator
          methods that yield inline functions.

        * arg -- arguments to pass to the test function. This is to support
          generator methods that yield arguments.

        * descriptor -- the function, other than the test, that should be used
          to construct the test name. This is to support generator methods.
        z_Unbound methods must be wrapped using pyversion.unbound_method before passing to MethodTestCaseN)�methodrr rjr�
ValueError�__self__r@�cls�instrSrarZr)rr�rr rj�method_names      rrzMethodTestCase.__init__<s���.�����	����$����f���~����?�?�,�,����H�H�J��	��9�9���+�+�.�.�K���	�	�;�7�D�I����$�rc���|j�\}}t|d�r
|j}n|j}|jj
�d|jj�d|��}|r|�|��}|Srw)r`r=rxrSr�rArzs    rr'zMethodTestCase.__str__`sk���%�%�'�	��c��4�+�,��(�(�D��=�=�D�!�X�X�0�0�!�X�X�.�.�!�#���!�3�'�D��rc�n�|j�t|j�St|j�Srn)rjrr�r)s rr<zMethodTestCase.addressns,��
�?�?�&�����0�0�����,�,rc��|jSr)r�r)s rrBzMethodTestCase._contextxs���x�x�rz Get context (class) of this testc�0�t|jd�y)N)rqrk�rr�r)s rrkzMethodTestCase.setUp}s����	�	�-�.rc�0�t|jd�y)N)rurlr�r)s rrlzMethodTestCase.tearDown�s����	�	�3�4rc�z�|jr|j|jfS|j|jfS)agGet the descriptors of the test method: the method and
        arguments that will be used to construct the test name. In
        most cases, this is the method itself and no arguments. For
        tests generated by generator methods, the original
        (generator) method and args passed to the generated method 
        or function are returned.
        )rjr r�r)s rr`zMethodTestCase._descriptors�s1���?�?��?�?�D�H�H�,�,��;�;����(�(r)rSrArTrUrVr|rr'r*r<rBrWr?rkrlr`rXrrr~r~4sU���
�H�$(�e�g�$�" �H��H�-���x��t�<�>�G�/�5�)rr~)rU�loggingr3r�inspectr�nose.configr�nose.failurer�	nose.utilrrrr
�	getLoggerrS�log�__all__rr	rZrfr~rXrr�<module>r�s�����
���� �9�9���g����!���(��f�8���f�R2�x� � �2�*_'�x�_'�DZ)�X�Z)r

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic