Your IP : 216.73.216.213
a
XC?h�K � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z d dl
mZ ddgZdZ
dZdZg d �Zej�d
�r�e jr�dZ
dZq�e�d� nHej�d
�r�dZ
dZn2ejdkr�dZn"ejdkr�dZnejdkr�dZ
dZd Zeejdv�oee d��oee d��Zdd� ZdZede�ZG dd� de�ZdZdZdada da!dd� Z"G dd � d ej#�Z$G d!d"� d"e$�Z%e j&e�'e�(d#�d$�G d%d&� d&e$���Z)d'd(� Z*e+d)k�r�e�,� dS )*� N)�
namedtuple)�support)�run_python_until_end�Cz
invalid.ascii�asciiT)zC.UTF-8zC.utf8�UTF-8�linux�utf-8ZPOSIXZaixz iso8859-1�darwin�cygwinFZvxworks)r
r �nl_langinfo�CODESETc C s6 d}t r|d7 }|�| �}td|dd�\}}|jdkS )Nz=import locale; print(locale.setlocale(locale.LC_CTYPE, '{}'))z>; import sys; sys.exit(not locale.nl_langinfo(locale.CODESET))�-c� ��PYTHONCOERCECLOCALEr )�_check_nl_langinfo_CODESET�formatr �rc)Zlocale_nameZcmd_fmt�cmd�result�py_cmd� r �@/opt/alt/python39/lib64/python3.9/test/test_c_locale_coercion.py�_set_locale_in_subprocessW s
r zBfsencoding stdin_info stdout_info stderr_info lang lc_ctype lc_all�EncodingDetailsc @ s2 e Zd Zd�g d��Zedd� �Zedd� �ZdS )r �;)zimport sys, osz"print(sys.getfilesystemencoding())z2print(sys.stdin.encoding + ':' + sys.stdin.errors)z4print(sys.stdout.encoding + ':' + sys.stdout.errors)z4print(sys.stderr.encoding + ':' + sys.stderr.errors)z(print(os.environ.get('LANG', 'not set'))z,print(os.environ.get('LC_CTYPE', 'not set'))z*print(os.environ.get('LC_ALL', 'not set'))c C s| |d }d|� d�g }|�|� d�� |�dd�}|r>t}n|�dd�}|�dd�} ||| f}
t| |g|�|
�R � �� �S ) Nz:{}� �surrogateescape�backslashreplace�LANGznot set�LC_CTYPE�LC_ALL)r �append�get�CLI_COERCION_TARGET�dict�_asdict)�cls�coercion_expected�fs_encoding�stream_encoding�env_vars�_streamZstream_infoZ
expected_langZexpected_lc_ctypeZexpected_lc_allZenv_infor r r �get_expected_detailsr s
z$EncodingDetails.get_expected_detailsc C sl t ddd| jfi |��\}}|jdks0|�|� |j�d��� }t| |� �� �}|j �d��
� �� }||fS )Nz-Xzutf8=0r r r )r �CHILD_PROCESS_SCRIPTr Zfail�out�decode�
splitlinesr&