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__/proxy.cpython-312.pyc

�

���g���r�dZddlZddlmZeje�Zd�ZGd�de�Z	Gd�de�Z
y)	a�
Result Proxy
------------

The result proxy wraps the result instance given to each test. It
performs two functions: enabling extended error/failure reporting
and calling plugins.

As each result event is fired, plugins are called with the same event;
however, plugins are called with the nose.case.Test instance that
wraps the actual test. So when a test fails and calls
result.addFailure(self, err), the result proxy calls
addFailure(self.test, err) for each plugin. This allows plugins to
have a single stable interface for all test types, and also to
manipulate the test object itself by setting the `test` attribute of
the nose.case.Test that they receive.
�N)�Configc�F�����fd�}��fd�}��fd�}t||||�S)znCreate a property that proxies attribute ``proxied_attr`` through
    the local attribute ``local_attr``.
    c�0��tt|����S�N)�getattr��self�
local_attr�proxied_attrs ���9/opt/hc_python/lib/python3.12/site-packages/nose/proxy.py�fgetzproxied_attribute.<locals>.fgets����w�t�Z�0�,�?�?�c�4��tt|���|�yr)�setattrr)r	�valuer
rs  ��r�fsetzproxied_attribute.<locals>.fsets������j�)�<��?rc�2��tt|����yr)�delattrrrs ��r�fdelzproxied_attribute.<locals>.fdel!s������j�)�<�8r)�property)r
r�docr
rrs``    r�proxied_attributers%���@�@�9��D�$��c�*�*rc��eZdZdZdd�Zd�Zy)�ResultProxyFactoryzrFactory for result proxies. Generates a ResultProxy bound to each test
    and the result passed to the test.
    Nc�F�|�
t�}||_d|_d|_y)NF)r�config�_ResultProxyFactory__prepared�_ResultProxyFactory__result)r	rs  r�__init__zResultProxyFactory.__init__*s#���>��X�F���������
rc���|js7d|_|jjj|�}|�	|x|_}|j�|j}t|||j��S)aReturn a ResultProxy for the current test.

        On first call, plugins are given a chance to replace the
        result used for the remaining tests. If a plugin returns a
        value from prepareTestResult, that object will be used as the
        result for all tests.
        T)r)rr�plugins�prepareTestResultr�ResultProxy)r	�result�test�plug_results    r�__call__zResultProxyFactory.__call__1sd�����"�D�O��+�+�-�-�?�?��G�K��&�)4�4��
���=�=�$��]�]�F��6�4����<�<rr)�__name__�
__module__�__qualname__�__doc__rr'�rrrr&s����=rrc��eZdZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zeddd�Zeddd�Zeddd�Zeddd�Zy)r#agProxy to TestResults (or other results handler).

    One ResultProxy is created for each nose.case.Test. The result
    proxy calls plugins with the nose.case.Test instance (instead of
    the wrapped test case) as each result call is made. Finally, the
    real result method is called, also with the nose.case.Test
    instance as the test parameter.

    Nc�h�|�
t�}||_|j|_||_||_yr)rrr!r$r%)r	r$r%rs    rrzResultProxy.__init__Ms.���>��X�F�����~�~��������	rc�,�t|j�Sr)�reprr$�r	s r�__repr__zResultProxy.__repr__Us���D�K�K� � rc��t|dt�sFt|dt�r3t|djtfi�|d�}|d||df}|S)N�r�)�
isinstance�	Exception�typer()r	�errrs   r�_prepareErrzResultProxy._prepareErrXs[���#�a�&�)�,��C��F�D�1I�
<�D��Q����9�,��;�C��F�C�E��q�6�5�#�a�&�)�C��
rc���t|jdd�}||jusO||usJ|t|dd�us:Jd|j�dt|j��d|�dt|��d�	��yyy)Nr%�
_nose_casezResultProxy for z (z) was called with test �))rr%�id)r	r%�cases   r�assertMyTestzResultProxy.assertMyTestbsv���t�y�y�&�$�/����	�	�!��4�<��7�4��t�<�<�	>��9�9�b����m�T�2�d�8�=�	>�=�<� �"rc���|j|�|jj|j�t	|j
d�r&|j
j|j�yy)N�	afterTest)r@r!rBr%�hasattrr$�r	r%s  rrBzResultProxy.afterTestmsO�����$�������t�y�y�)��4�;�;��,��K�K�!�!�$�)�)�,�-rc���|j|�|jj|j�t	|j
d�r&|j
j|j�yy)N�
beforeTest)r@r!rFr%rCr$rDs  rrFzResultProxy.beforeTestssO�����$��������	�	�*��4�;�;��-��K�K�"�"�4�9�9�-�.rc���|j|�|j}|j|j|�}|ry|j	|j|�}|�|}|j|j|�|jj|j|j|��|jj�s|jjrd|_yyy)NT)r@r!�handleErrorr%�formatError�addErrorr$r:�
wasSuccessfulr�stopOnError�
shouldStop�r	r%r9r!�plugin_handled�	formatteds      rrJzResultProxy.addErrorys������$���,�,�� �,�,�T�Y�Y��<�����'�'��	�	�3�7�	�� ��C�������C�(������T�Y�Y��(8�(8��(=�>��{�{�(�(�*�t�{�{�/F�/F�"�D�O�0G�*rc��|j|�|j}|j|j|�}|ryd|j_|j|j|�}|�|}|j
|j|�|jj
|j|j|��|jjrd|_yy)NFT)r@r!�
handleFailurer%�passed�
formatFailure�
addFailurer$r:rrLrMrNs      rrUzResultProxy.addFailure�s������$���,�,�� �.�.�t�y�y�#�>���� ��	�	���)�)�$�)�)�S�9�	�� ��C����4�9�9�c�*������t�y�y�$�*:�*:�3�*?�@��;�;�"�"�"�D�O�#rc�
�ddlm}|j|�|j}t	|t
�st|�}|j
|j||df�|jj|j|�y)Nr)�SkipTest)
�nose.plugins.skiprWr@r!r6r7rJr%r$�addSkip)r	r%�reasonrWr!s     rrYzResultProxy.addSkip�sc��.����$���,�,���&�)�,��v�&�F�������X�v�t�$<�=������D�I�I�v�.rc��|j|�|jj|j�|jj|j�yr)r@r!�
addSuccessr%r$rDs  rr\zResultProxy.addSuccess�s<�����$��������	�	�*������t�y�y�)rc��|j|�|jj|j�|jj|j�yr)r@r!�	startTestr%r$rDs  rr^zResultProxy.startTest�s<�����$�������t�y�y�)������d�i�i�(rc�8�|jj�yr)r$�stopr1s rr`zResultProxy.stop�s�������rc��|j|�|jj|j�|jj|j�yr)r@r!�stopTestr%r$rDs  rrbzResultProxy.stopTest�s<�����$�������d�i�i�(������T�Y�Y�'rr$rMzShould the test run stop?�errorszTests that raised an exception�failureszTests that failed�testsRunzNumber of tests runr)r(r)r*r+rr2r:r@rBrFrJrUrYr\r^r`rbrrMrcrdrer,rrr#r#Cs�����!��	>�-�.�
#�
#�	/�*�
)�
�(�#�8�\�$C�E�J�
�x��C�E�F� ��:�!8�:�H� ��:�!:�<�Hrr#)r+�logging�nose.configr�	getLoggerr(�logr�objectrr#r,rr�<module>rksE���"���g����!��
+�=��=�:y<�&�y<r

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