File: //lib/python3/dist-packages/twisted/trial/_dist/__pycache__/disttrial.cpython-312.pyc
�
Ϫ�f�@ � �j � d Z ddlZddlZddlmZ ddlmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZ dd lmZmZmZ dd
lm Z m!Z! ddl"m#Z# ddl$m%Z% dd
l&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9m:Z: ddl;m<Z< ddl=m>Z>m?Z?m@Z@mAZA ddlBmCZCmDZDmEZE G d� de e!� ZFdeFfd�ZGe G d� d � � ZHe G d!� d"� � ZIe G d#� d$� � ZJd%eKd&e/deKfd'�ZLd(eId)ee0 d&e<d*e
e<ee0 eDge d f ddf
d+�ZMe G d,� d-� � ZNy).z�
This module contains the trial distributed runner, the management class
responsible for coordinating all of trial's behavior at the highest level.
@since: 12.3
� N)�partial)�isabs)
�Any� Awaitable�Callable�Iterable�List�Optional�Sequence�TextIO�Union�cast)�TestCase� TestSuite)�define�field�frozen)�default_if_none)�Deferred�DeferredList�
gatherResults)�IReactorCore�IReactorProcess)�Logger)�Failure)�FilePath)�FilesystemLock)�
theSystemPath� )�
_iterateTests)� IReporter� ITestCase)�UncleanWarningsReporterWrapper)�
TestHolder)�_unusedTestDirectory�openTestLog� )�_WORKER_AMP_STDIN�_WORKER_AMP_STDOUT)�DistReporter)�
countingCalls�
discardResult�iterateWhile� takeWhile)�LocalWorker�LocalWorkerAMP�WorkerActionc � � e Zd ZdZy)�IDistTrialReactorz7
The reactor interfaces required by disttrial.
N)�__name__�
__module__�__qualname__�__doc__� � �?/usr/lib/python3/dist-packages/twisted/trial/_dist/disttrial.pyr3 r3 3 s � �r9 r3 �returnc � � ddl mc m} t t j
| � t
j
| � g� rt t | � S t d� �)zR
Get the default reactor, ensuring it is suitable for use with disttrial.
r Nz-Reactor does not provide the right interfaces)
�twisted.internet.reactor�internet�reactor�allr �
providedByr r r3 � TypeError)�defaultReactors r: �_defaultReactorrD 9 sO � � 6�5�
��#�#�N�3��&�&�~�6�
�� �%�~�6�6�
�C�
D�Dr9 c �F � e Zd ZU dZeed<