OwlCyberSecurity - MANAGER
Edit File: test_contextvars.cpython-312.pyc
� �����;0h-)���������������������������d�dl�mZ�d�dlZd�dlZd�dlZd�dlmZ�d�dlmZ�d�dlmZ�d�dl m Z �d�dl m Z �dd lmZ�dd lm Z � �d�dlmZ�d�dlmZ�d�d lmZ��edd��������Z�edd��������ZdZ�eedud��������G�d��de���������������Z�eedud��������G�d��de���������������Zedk(��r�ej0���������������������������yy#�e$�r �dxZxZZY��Ww�xY�w)�����)�print_functionN)�partial)� skipUnless)�skipIf)�greenlet)� getcurrent����)�TestCase)�PY314)�Context)� ContextVar)�copy_context�id)�default�varzContextVar not supportedc��������������������T�����e�Zd�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z d��Z d ��Zd ��Zd��Z d��Zy )�ContextVarsTestsc������������������6������t����������������j������������������|i�|��S��N)r����run)�self�args�kwargss��� �P/opt/hc_python/lib64/python3.12/site-packages/greenlet/tests/test_contextvars.py�_new_ctx_runzContextVarsTests._new_ctx_run#���s������!�|�~�!�!�4�2�6�2�2�����c����������������������t���������}|� |�j������������������|j����������������������������������n |�j������������������|j��������������������������|��������|j ������������������|��������t��������d�������D�]$��}||j��������������������������xx���dz ��cc<����|����������&�y�)N����r ���)�ID_VAR�assertIsNone�get�assertEqual�set�range)r����greenlet_id�callback�counts�expect�ctx_var�_s��� r���� _incrementzContextVarsTests._increment&���sk���������>����g�k�k�m�,����W�[�[�]�F�3����K� ��q��A��7�;�;�=�!�Q�&�!��J��r���c����������� �������^����t���������j������������������d��������t����������������j������������������}t ��������d��t��������d�������D����������������}t��������dd�������D��cg�c]b��}t ��������t��������|dk(��r(t��������t����������������j������������������|�j�������������������������n|�j������������������||||dk(��r|dz ��n|dv�rdnd������������������d�}}|D�]6��}|d k(��rt����������������|_���������|dk(��s�t����������������j������������������|_���������8�t��������d �������D�]8��}|t���������j��������������������������xx���dz ��cc<���|D�]��}|j������������������������������:�|dk(��r!t��������|�������D�]��}|j�����������������������������n|D�]��}|j�����������������������������|D�]Y��}|�j������������������|j��������������������������|dk(��r|�j!������������������|j���������������������������?|�j#������������������|j���������������������������[�|dk(��r|�j%������������������|dddddd���������y�|�j%������������������t��������|j'���������������������������������t��������d g���������������y�c�c}w�) Nr���c��������������3����$���K����|�]��}|d�f���� �y�w)r���N��)�.0�is��� r���� <genexpr>z1ContextVarsTests._test_context.<locals>.<genexpr>6���s���������/�h��q�!�f�h�s��������r ���r����share)r#���r���)r%���r&���r'���r(���r#���r�������)r���r ���r�����������)r���r#���r����switch�dictr$���r���r���r���r���r+���� gr_contextr!����reversed� assertTrue�deadr ����assertIsNotNoner"����values)r����propagate_byr&���r'���r0����lets�lets��� r���� _test_contextzContextVarsTests._test_context1���s������� � �1� ��<�&�&���/�e�A�h�/�/�� ��1�a�[� ��!��� �W��"�U�*��� �N�&�&��O�O���15����!��)�W�4�A��E�%��7�A�T��� ��!�� �� �"��C��u�$�!-������(�!+��!8�!8��� ����q��A��6�:�:�<� �A�%� ���� � ������ ��5� ���~��� � ���&����� � ������C��O�O�C�H�H�%� ��u�$��!�!�#�.�.�1��$�$�S�^�^�4�����7�"����V��q�Q�1��%C�D����S�����1�3��s�8�<��i s����A'H*c������������������<�����|�j������������������|�j������������������d��������y�)Nr����r���rB����r���s��� r����&test_context_propagated_by_context_runz7ContextVarsTests.test_context_propagated_by_context_runn�������������$�,�,�e�4r���c������������������<�����|�j������������������|�j������������������d��������y�)Nr#���rD���rE���s��� r����,test_context_propagated_by_setting_attributez=ContextVarsTests.test_context_propagated_by_setting_attributeq���rG���r���c������������������<�����|�j������������������|�j������������������d���������y�r���rD���rE���s��� r����test_context_not_propagatedz,ContextVarsTests.test_context_not_propagatedt���s���������$�,�,�d�3r���c������������������<�����|�j������������������|�j������������������d��������y�)Nr3���rD���rE���s��� r����test_context_sharedz$ContextVarsTests.test_context_sharedw���s���������$�,�,�g�6r���c������������������$����t��������t����������������j�������������������������}t��������t����������������j�������������������������}|j������������������t ����������������j��������������������������|j������������������t ����������������j��������������������������|j���������������������������y�r���)r���r���r���r7���r����r����let1�let2s��� r����test_break_ctxvarsz#ContextVarsTests.test_break_ctxvarsz���sY���������*�*�+�����*�*�+�����J�L�'�'�(����J�L�'�'�(�� ��� r���c������������������4����t��������t����������������j�������������������������}t��������t����������������j�������������������������}t����������������|_��������t����������������|_��������|j���������������������������|j���������������������������|j���������������������������|j���������������������������y�r���)r���r���r7���r���r9���rO���s��� r����9test_not_broken_if_using_attribute_instead_of_context_runzJContextVarsTests.test_not_broken_if_using_attribute_instead_of_context_run����s\������� ��+�+�,��� ��+�+�,��&�.���&�.������ ���� ���� ���� r���c������������������ �������t���������j������������������d������������fd�}t��������|����������j������������������t��������d�������5���`d�d�d�����������j �������������������j ���������������������������j��������������������������\��}}��j������������������|�j ����������������������������j������������������|t������������d����������j������������������|t������������d����������j������������������|j������������������t���������j�������������������������d��������|�_���������j�����������������������������j�������������������j ������������������|��������d��_���������j�����������������������������j�������������������j ������������������|��������d��_���������j�����������������������������j �������������������j ��������������������������d��t��������j�����������������������������j������������������t��������j������������������|�������t ��������sdnd����������j������������������t��������j������������������|�������t ��������sd��������y�d��������y�#�1�sw�Y������xY�w)Nc��������������������������j������������������t��������j�����������������������������������j�������������������j��������������������������t��������j ������������������d���������j�������������������j������������������t�����������������j������������������t��������j��������������������������d���������j�������������������j������������������t�����������d���������j������������������}�d��_���������j������������������t��������j�����������������������������������j�������������������j��������������������������t��������j ������������������d���������j�������������������j������������������t�����������������j������������������t��������j��������������������������d���������j�������������������j������������������t�����������d���������j������������������}t����������������j������������������j������������������|�|f���������j������������������t��������j��������������������������d��������|�_���������j������������������t��������j��������������������������d��������t����������������j������������������j����������������������������j������������������t��������j�����������������������������������j�������������������j��������������������������|��_���������j������������������t��������j��������������������������d��������t����������������j������������������j����������������������������j������������������t��������j�����������������������������������j�������������������j��������������������������y�)Nr ���r���)r ���r���r!���r9���r#����assertIsInstancer���r"���r����parentr7���)�old_context�new_context�grr���s��� ��r����targetzFContextVarsTests.test_context_assignment_while_running.<locals>.target����s����������f�j�j�l�+����b�m�m�,�� �J�J�q�M��!�!�"�-�-��9����V�Z�Z�\�1�-����R�]�]�6�2�A�6���-�-�K� �B�M����f�j�j�l�+����b�m�m�,��J�J�q�M��!�!�"�-�-��9����V�Z�Z�\�1�-����R�]�]�6�2�A�6��-�-�K��L���&�&��[�'A�B�� ���V�Z�Z�\�1�-�'�B�M����V�Z�Z�\�1�-��L���&�&�(����f�j�j�l�+����b�m�m�,�'�B�M����V�Z�Z�\�1�-��L���&�&�(����f�j�j�l�+����b�m�m�,r���zcan't delete context attributer ���r���)r���r#���r����assertRaisesRegex�AttributeErrorr9���r ���r7����assertIsr"���r���r!����gc�collect�sys�getrefcountr���)r���r\���rY���rZ���r[���s���` @r����%test_context_assignment_while_runningz6ContextVarsTests.test_context_assignment_while_running����sy������� � �4��' -�R��f� �� � #� #�N�4T� U�� ��V�� ���"�-�-�(�#%�9�9�;� ��[�� � �k�2�=�=�1�����V�,�a�0�����V�,�a�0����������4�a�8�#�� � � � ��� � �b�m�m�[�1��� � � � ��� � �b�m�m�[�1��� � � � �����"�-�-�(���� � � ��� �������5��q�1�M��������5��q�M�1�M�3�V� U�s����H�H c������������������������� � ���dd�l�}t��������j������������������d���������t�����������������|j ��������������������������� |j ���������������������������|j ���������������������������|j ��������������������������� g���� �fd������� fd�}|j������������������|d��������}|j ���������������������������� j������������������d���������d���}|�j������������������t��������d�������5��t��������|d��������d�d�d���������|�j������������������t��������d�������5��d�|_��������d�d�d����������j����������������������������j������������������d��������|�j������������������|j���������������������������|�j������������������|j������������������t�����������d ��������d�|_��������� j���������������������������|j������������������d��������|�j�������������������|d�g��������|�j������������������|j���������������������������|_��������|�j������������������|j����������������������������d�d��=�d�}d�}y�#�1�sw�Y�����xY�w#�1�sw�Y�����xY�w) Nr���c�������������������&�����t���������j������������������d���������j����������������������������j������������������d��������t���������j������������������d��������t����������������j������������������j�����������������������������j ������������������t���������j����������������������������������y�)Nr ���� ���r���)�VAR_VARr#����waitr���rX���r7����appendr!���)�holder� is_running�should_suspends������r����greenlet_in_thread_fnzXContextVarsTests.test_context_assignment_different_thread.<locals>.greenlet_in_thread_fn����sW��������K�K��N��N�N������#��K�K��N��L���&�&�(��M�M�'�+�+�-�(r���c��������������������������t����������������}��|�_���������j������������������|���������|�j����������������������������j ����������������������������j������������������d��������|�j���������������������������~�t�����������������y�)Nrg���)r���r9���rj���r7���r#���ri���)r[����ctx�did_suspendrn���rk����should_exits��� �����r���� thread_fnzLContextVarsTests.test_context_assignment_different_thread.<locals>.thread_fn����sS��������/�0�B��B�M��M�M�"���I�I�K��O�O�����R� ��I�I�K���Jr���T)r\����daemonrg���zrunning in a differentr9���r���)� threadingrh���r#���r����Event�Thread�startri���r]���� ValueError�getattrr9���r_���r"����joinr ���)r���ru���rs����threadr[���rp���rq���rn���rk���rl���rr���rm���s��� @@@@@@@r����(test_context_assignment_different_threadz9ContextVarsTests.test_context_assignment_different_thread����s�����������D���i���_�_�&� �"���*���o�o�'���o�o�'���� )� �� ���!�!��4�!�@����������� �A�Y���� #� #�J�0H� I��B��%��J� � #� #�J�0H� I� �B�M��J�� ���������� � � �b�m�m�S�)�������w�/��3��� ��������B������"�d��,�� ���"�-�-�(��� �� � �b�m�m�S�)�� �1�I� ����7�J� I�� I� I�s���� G+�7G8�+G5�8Hc������������������|�����t����������������}|�j������������������t��������d�������5��|�|_��������d�d�d���������y�#�1�sw�Y���y�xY�w)Nz6greenlet context must be a contextvars.Context or None)r���r]���� TypeErrorr9���)r����gs��� r����"test_context_assignment_wrong_typez3ContextVarsTests.test_context_assignment_wrong_type��s7�������J�� � #� #�I�$\�^��A�L�^��^��^�s����2�;N)�__name__� __module__�__qualname__r���r+���rB���rF���rI���rK���rM���rR���rT���rd���r}���r����r.���r���r���r���r���!���sD������3� �;=�z5�5�4�7���HN�T@�D r���r���zContextVar supportedc�������������������������e�Zd�Zd��Zy)�NoContextVarsTestsc������������������4����t��������t����������������j�������������������������}|�j������������������t ��������|d���������������|�j������������������t���������������5��t��������|d��������d�d�d���������|�j������������������t���������������5��d�|_��������d�d�d���������|j���������������������������|�j������������������t���������������5��t��������|d��������d�d�d���������|�j������������������t���������������5��d�|_��������d�d�d���������~y�#�1�sw�Y�����xY�w#�1�sw�Y����vxY�w#�1�sw�Y����HxY�w#�1�sw�Y���~y�xY�w)Nr9���) r���r���r7����assertFalse�hasattr�assertRaisesr^���rz���r9���)r���rP���s��� r����test_contextvars_errorsz*NoContextVarsTests.test_contextvars_errors#��s�������� ��+�+�,�������|�4�5� � � �~� .��D�,�'��/��� � �~� .�"�D�O��/�� ��� � � � �~� .��D�,�'��/��� � �~� .�"�D�O��/�� ��/� .���/� .�� �/� .���/�� �s0���� C)�8C5�- D�D �)C2�5C>�D � DN)r����r����r����r����r.���r���r���r����r����!��s������r���r�����__main__)� __future__r���r`���rb����unittest� functoolsr���r���r���r���r�����r ���r����contextvarsr���r ���r���r���rh����ImportErrorr���r����r�����mainr.���r���r����<module>r�������s�������%�� �� �����������������/�#�&�(����d� +�F����-�G��J� ��G�4��!;�<�| �x��| ��=�| �~���t��3�4������5��*��z���H�M�M�O����u���/�*.�.�G�.�j�<�/�s����(B0��0B>�=B>