Sindbad~EG File Manager
�
(Μg� � �� � d Z ddlZddlZddlZddlZddlZddlZddlmZ ddl m
Z
G d� dej � Z G d� d� Z
dd �Zdd
�Zedk( �rddlmc mZ de_ G d
� dej, � Z ej0 � Zej5 ej6 � j9 e� � ej: � Z e ed� ej@ D � � � Z! e!ejD � Z#e#jI e� Z% e&dejO � � e&dd�� ejP e%jS � � D ] Z* e&e*jW � d�� � e&� yy)z=Test runner and result class for the regression test suite.
� N)�support)�sanitize_xmlc � � � e Zd ZdZ� fd�Zed� � Z� fd�Zdd�Zed� � Z � fd�Z
� fd�Z� fd �Z� fd
�Z
� fd�Z� fd�Zd
� Z� xZS )�RegressionTestResultFc �` �� t �| � |||rdnd�� d| _ | j r}ddlm} ddlm}m} || _ |j d� | _
| j j d|j |� j d � � j d
� � d | _ d | _ y )N� r )�stream�descriptions� verbosityT)�ElementTree)�datetime�UTC� testsuite�start)�tzinfo� )�super�__init__�buffer�USE_XML� xml.etreer r
r �_RegressionTestResult__ET�Element�_RegressionTestResult__suite�set�now�replace� isoformat�_RegressionTestResult__e�!_RegressionTestResult__start_time)�selfr r
r �ETr
r � __class__s ��8/usr/local/lib/python3.12/test/libregrtest/testresult.pyr zRegressionTestResult.__init__ s� �� �
����\�(1�1�q� � :�����<�<�3�.��D�I�%�2�:�:�k�2�D�L��L�L���W�%�\�\�#�.�&-�g�T�g�&:�&/�i��n�
6� �D�H� ��� c � � |j } |� S # t $ r t |� cY S w xY w# t $ r t |� cY S w xY w�N)�id�AttributeError�str� TypeError�repr)�cls�test�test_ids r$ �__getIdzRegressionTestResult.__getId! sR � � ��g�g�G� ��9��� � ��t�9�� �� � ��w�<�� �s � �0 �-�-�A�Ac �� �� t �| � |� | j r-| j j | j
d� x| _ }t j � | _ y )N�testcase)
r � startTestr r �
SubElementr r �time�perf_counterr )r! r. �er# s �r$ r3 zRegressionTestResult.startTest- sI �� �
���$���<�<��9�9�/�/����j�I�I�D�H�q� �-�-�/��r% c
�~ � | j sy | j }d | _ |�y | j }|j d|j d| j |� � � |j d|j dd� � |j d|j dd� � | j r3|j dt j � | j z
d�� |r�| j �I| j j � j � }t |� |j |d� _ | j �I| j j � j � }t |� |j |d � _ |j! � D ]� \ }} |r| s� |j ||� }
t# | d
� rY| j! � D ]E \ }}|r%|
j |t t% |� � � �-t t% |� � |
_ �G ��t t% | � � |
_ �� y )N�name�status�run�result� completedr5 z0.6fz
system-outz
system-err�items)r r r r �pop�_RegressionTestResult__getIdr r5 r6 �_stdout_buffer�getvalue�rstripr r4 �text�_stderr_bufferr>