Sindbad~EG File Manager
�
'Μg�m � �f � d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dlZd dl m
Z
d dlmZ d dlm
Z
ej d� Z ej d� Zd� Zd&d �Zd&d
�Ze j( d� � Zd� Z G d
� dej. � Z G d� dej. � Z G d� dej. � Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� de� Z G d� d e� Z! G d!� d"e� Z" G d#� d$e� Z#e$d%k( r ejJ � yy)'� N)�dedent)�support)�
import_helper)�
script_helper�_xxsubinterpreters� _testcapic � � t j � \ }}| j dd� }t d|� d|� d�� }|t |d�� fS )N�
z
z-
import contextlib
with open(zg, 'w', encoding="utf-8") as spipe:
with contextlib.redirect_stdout(spipe):
z
�utf-8��encoding)�os�pipe�replacer �open)�script�r�w�indented�wrappeds �9/usr/local/lib/python3.12/test/test__xxsubinterpreters.py�_captured_scriptr s^ � �
�7�7�9�D�A�q��~�~�d�$8�9�H�� ��#� ��
� � �
�G� �D��W�-�-�-� c � � t |� \ }}|5 t j | ||� |j � cd d d � S # 1 sw Y y xY w�N)r �interpreters�
run_string�read)�interp�request�sharedr �rpipes r �_run_outputr# ! s8 � �$�W�-�M�F�E� �������7��z�z�|�
���s �'A�Ac � � |�t j }t j |d�� D ] }t j | � s� y t d� �)NF)�errorzinterp is not running)r �
SHORT_TIMEOUT�sleeping_retryr �
is_running�RuntimeError)r �timeout�_s r �_wait_for_interp_to_runr, ( sJ � � ���'�'��
�
#�
#�G�5�
9���"�"�6�*�� :� �2�3�3r c # �< � �K � t j � \ �}� �fd�}t j |�� }|j � t � � d �� t
|dd�� 5 }|j d� d d d � |j � y # 1 sw Y �xY w�w)Nc �L �� t j � t d�� d�� � y )Nz7
# wait for "signal"
with open(zG, encoding="utf-8") as rpipe:
rpipe.read()
)r r r )r r s ��r �runz_running.<locals>.run8 s. �� ������ 4��c�
�0� )� r ��targetr r r �done) r r � threading�Thread�startr, r �write�join)r r r/ �t�spiper s ` @r �_runningr: 5 sq �� �� �
�7�7�9�D�A�q�� ����$�A��G�G�I��F�#� �
�a��w� '�5�
���F��
(��F�F�H�
(� '�s �A!B�%B�7B�B�Bc � � t j � D ] } | dk( r� t j | � � y # t $ r Y �-w xY w)Nr )r �list_all�destroyr) ��ids r �clean_up_interpretersr@ J sF � ��#�#�%��
��7�� �� � ��$� &��
� �� �s �7� A�Ac � � e Zd Zd� Zy)�TestBasec � � t � y r )r@ ��selfs r �tearDownzTestBase.tearDownV s � ��r N)�__name__�
__module__�__qualname__rF � r r rB rB T s � � r rB c � � e Zd Zd� Zd� Zy)�IsShareableTestsc � � g d�}|D ]@ }| j |� 5 | j t j |� � d d d � �B y # 1 sw Y �MxY w)N)N� spam�spam�
i����)�subTest�
assertTruer �is_shareable)rE �
shareables�objs r �test_default_shareablesz(IsShareableTests.test_default_shareables_ sJ � ��
� �C����c�"���� �-�-�c�2�4� #�"� �"�"�s �%A�A c �V � G d� d� } G d� dt � }ddt dt t t � t � d| |d � |d
� g}|D ]I }| j t
|� � 5 | j t j |� � d d d � �K y # 1 sw Y �VxY w)Nc � � e Zd Zd� Zd� Zy)�3IsShareableTests.test_not_shareable.<locals>.Cheesec � � || _ y r ��name)rE r\ s r �__init__z<IsShareableTests.test_not_shareable.<locals>.Cheese.__init__p s � � �� r c � � | j S r r[ rD s r �__str__z;IsShareableTests.test_not_shareable.<locals>.Cheese.__str__r s � ��y�y� r N)rG rH rI r] r_ rJ r r �CheeserY o s � �
!�
!r r` c � � e Zd Zy)�5IsShareableTests.test_not_shareable.<locals>.SubBytesN)rG rH rI rJ r r �SubBytesrb u s � �1r rc TF.g Y@�WensleydalerN )
�bytes�NotImplemented�type�object� ExceptionrQ �repr�assertFalser rS )rE r` rc �not_shareablesrU s r �test_not_shareablez#IsShareableTests.test_not_shareablen s� � � !� !� 2�u� 2�
�������������}�%���!���"