�
*�Kg� � � � d dl Z d dlZd dlZd dlZd dlZd dlZd� Zdddd�d�Zd� Z G d� d e � � Z
e j d
� � � Ze j de
dfd�� � Ze j d
� � � Zdd�Ze j d� � � Zd� ZdS )� Nc � � t j � � 5 t j dt �� � t j | � � cddd� � S # 1 swxY w Y dS )z3Import *name* while suppressing DeprecationWarning.�ignore��categoryN)�warnings�catch_warnings�simplefilter�DeprecationWarning� importlib�
import_module)�names �3/usr/lib/python3.11/test/support/warnings_helper.py�import_deprecatedr s� � � � � "� "� -� -���h�1C�D�D�D�D��&�t�,�,�-� -� -� -� -� -� -� -� -� -� -� -���� -� -� -� -� -� -s �/A�A�A� � ��lineno�offsetc �J � ddl m} t j d�� � 5 }t j dt
� � t
|dd� � d d d � � n# 1 swxY w Y | � t |� � d|� � |\ }| � t |j t
� � |j � � |r(| � t |j � � |� � | � |j d� � | � |j � � |�| � |j |� � t j d�� � 5 }t j d t
� � || ||||�
� � d d d � � n# 1 swxY w Y | � |g � � d S )Nr )�check_syntax_errorT��record�alwaysz
<testcase>�execr �errorr )�test.supportr r r r �
SyntaxWarning�compile�assertEqual�len�
assertTrue�
issubclassr �assertRegex�str�message�filename�assertIsNotNoner )�testcase� statement�errtextr r r �warns�warns r �check_syntax_warningr- s% � � 0�/�/�/�/�/� � �� -� -� -� 1����h�
�6�6�6�� �<��0�0�0�1� 1� 1� 1� 1� 1� 1� 1� 1� 1� 1���� 1� 1� 1� 1�
����U���Q��.�.�.��E�D����
�4�=�-�@�@��
�'� '� '�� 9����S���.�.��8�8�8�������5�5�5����T�[�)�)�)�
�����T�[�&�1�1�1�
� �� -� -� -� 9����g�}�5�5�5���8�Y��"(�� 9� 9� 9� 9�9� 9� 9� 9� 9� 9� 9� 9� 9� 9� 9���� 9� 9� 9� 9�
�����#�#�#�#�#s# �,A�A�A�+F�F� Fc � � � � fd�}|S )z�Decorator to suppress deprecation warnings.
Use of context managers to hide warnings make diffs
more noisy and tools like 'git blame' less useful.
c �J �� � t j � � � �� fd�� � }|S )Nc � �� t j � � 5 t j d��� � �| g|�R i |��cd d d � � S # 1 swxY w Y d S )Nr r )r r r )�self�args�kwargsr �tests ��r �wrapperz3ignore_warnings.<locals>.decorator.<locals>.wrapper5 s� �� ��(�*�*�
3�
3��%�h��B�B�B�B��t�D�2�4�2�2�2�6�2�2�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3�
3�
3s �"A�A�A)� functools�wraps)r4 r5 r s ` �r � decoratorz"ignore_warnings.<locals>.decorator4 s> |