Ë
    pPêjä  ã                   ó¸   — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ e G d„ d«      «       Zded	efd
„Zdddœdedededee   ded	efd„Zy)é    N)ÚIterable)Ú	dataclass)ÚPath)Útest_data_prefixc                   ó6   — e Zd ZU eed<   eed<   eed<   eed<   y)ÚPytestResultÚinputÚinput_updatedÚstdoutÚstderrN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__© ó    ú[/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/mypy/test/meta/_pytest.pyr   r      s   … àƒJØÓØƒKØ„Kr   r   ÚsÚreturnc                 óH   — t        j                  | «      j                  «       S )N)ÚtextwrapÚdedentÚlstrip)r   s    r   Údedent_docstringr      s   € Ü�?‰?˜1Ó×$Ñ$Ó&Ð&r   Úcheckz&mypy/test/testcheck.py::TypeCheckSuite)Údata_file_prefixÚpytest_node_prefixÚ
data_suiter   r   Ú
extra_argsÚmax_attemptsc                óN  — t        t        «      }|j                  j                  }||› dt        j                  «       › d�z  }|j                  «       rJ ‚t        | «      } 	 |j                  | «       |› d|j                  › �}t        j                  dddddg|¢|‘}t        j                  |«      }	t        |d	z
  d
d
«      D ]ð  }
t        d|	› �«       t        j                   |dd|¬«      }|j"                  dk(  r n¸d}|j$                  j'                  «       j)                  «       D ]   }t        |› d|› �«       dt+        |«      z  }Œ" d}|j,                  j'                  «       j)                  «       D ]   }t        |› d|› �«       dt+        |«      z  }Œ" t        d|j"                  › d|
› d�«       Œò t/        | |j1                  «       j$                  j'                  «       |j,                  j'                  «       ¬«      |j3                  «        S # |j3                  «        w xY w)zç
    Runs a suite of data test cases through pytest until either tests pass
    or until a maximum number of attempts (needed for incremental tests).

    :param data_suite: the actual "suite" i.e. the contents of a .test file
    z-meta-z.testz::z-mÚpytestz-nÚ0z-sé   éÿÿÿÿz>> TF)Úcapture_outputr   Úcwdr   zNESTED PYTEST STDOUTz: ú zNESTED PYTEST STDERRz
Exit code z (z attempts remaining))r	   r
   r   r   )r   r   ÚparentÚuuidÚuuid4Úexistsr   Ú
write_textÚnameÚsysÚ
executableÚshlexÚjoinÚrangeÚprintÚ
subprocessÚrunÚ
returncoder   ÚdecodeÚ
splitlinesÚlenr   r   Ú	read_textÚunlink)r   r   r   r    r!   Úp_test_dataÚp_rootÚpÚtest_nodeidÚcmdÚiÚprocÚprefixÚlines                 r   Úrun_pytest_data_suiterG      sÿ  € ô Ô'Ó(€KØ×Ñ×&Ñ&€FØÐ)Ð*¨&´·±³°¸eÐDÑD€AØ�x‰xŒzÐˆ>Ü! *Ó-€JðØ	�‰�ZÔ à+Ð,¨B¨q¯v©v¨hÐ7ˆÜ—n‘n d¨H°d¸CÀÐ`È
Ð`ÐT_Ð`ˆ
Ü�j‰j˜Ó$ˆÜ�| aÑ'¨¨RÓ0ò 	KˆAÜ�C˜�u�+ÔÜ—>‘> *¸TÈÐTZÔ[ˆDØ�‰ !Ò#ÙØ+ˆFØŸ™×*Ñ*Ó,×7Ñ7Ó9ò +�Ü˜˜  4 &Ð)Ô*Øœs 6›{Ñ*‘ð+ð ,ˆFØŸ™×*Ñ*Ó,×7Ñ7Ó9ò +�Ü˜˜  4 &Ð)Ô*Øœs 6›{Ñ*‘ð+ô �J˜tŸ™Ð/¨r°!°Ð4HÐIÕJð	Kô ØØŸ+™+›-Ø—;‘;×%Ñ%Ó'Ø—;‘;×%Ñ%Ó'ô	
ð 	
�‰�
øˆ�‰�
ús   Á!F H ÈH$)r2   r6   r0   r   r+   Úcollections.abcr   Údataclassesr   Úpathlibr   Úmypy.test.configr   r   r   r   ÚintrG   r   r   r   ú<module>rM      s—   ðÛ Û Û 
Û Û Ý $Ý !Ý å -ð ÷ð ó ðð'˜ð ' ó 'ð $ØFò	/Øð/ð ð/ð ð	/ð
 ˜‘ð/ð ð/ð ô/r   