
    daf                        d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	m
Z
 dZ ej                  d      Zej                  Zej                  Zej                   Z G d dej"                        Zedk(  r ej(                          yy)	    N)UserDict)import_helper)unlinkTESTFNTESTFN_ASCIITESTFN_UNDECODABLE	_testcapic                       e Zd Zd Zd Z ej                  ed       ej                  e	j                  dk(  d      d               Zy)CAPITestc           	      v   d }d}| j                   |dt        d                   | j                   |dt        d      i              | j                   |di t        d                   | j                   |di t        d                   | j                  t        |di        | j                  t        |di i        | j                  t
        |dt        d      g        | j                  t
        |dt        d      d       | j                   |dddi             | j                  t        |di        y )Nc                 8    t        j                  | t        g| S N)r	   run_stringflagsPy_file_input)sargss     2/root/Python-3.12.4/Lib/test/test_capi/test_run.pyrunz*CAPITest.test_run_stringflags.<locals>.run&   s    ,,QEEE       a
   as   ä
   äs   
)assertIsNonedictr   assertRaises	NameError	TypeErrorSyntaxError)selfr   sources      r   test_run_stringflagszCAPITest.test_run_stringflags$   s   	F#fdQi01#fdQi45#fb$)45#fb(Q-89)S&"5)S&"b9)S&$)R@)S&$)Q?#mfa[9:+sIr:r   c                 @   t        j                  t         j                  dk7  rt        nt              t        d      5 }|j                  d       d d d        | j                  t               fd}| j                   |t        d                   | j                   |t        d      i              | j                   |i t        d                   | j                   |i t        d                   | j                   |t        d      i d             | j                  t        |i        | j                  t        |i i        | j                  t        |t        d      g        | j                  t        |t        d      d       y # 1 sw Y   CxY w)Nntwbr   c                  :    t        j                  t        g|  S r   )r	   run_fileexflagsr   )r   filenames    r   r   z*CAPITest.test_run_fileexflags.<locals>.runG   s    ,,X}LtLLr   r   r   )osfsencodenamer   r   openwrite
addCleanupr   r   r   r   r   r   r   )r!   fpr   r)   s      @r   test_run_fileexflagszCAPITest.test_run_fileexflags@   s4    ;;DvlK(D! 	RHHV	)	M 	#dQi.)#dQi,-#b$),-#b(Q-01#dQiQ/0)S"-)S"b1)S$)R8)S$)Q7	 	s    FFz)only works if there are undecodable pathsr%   zdoes not work on Windowsc           	      \   t         j                  }	 t        t        d      5 }|j	                  d       d d d        | j                  t        t               | j                   |t        t        t        d                   y # 1 sw Y   OxY w# t        $ r | j                  d       Y Tw xY w)Nr&   r   z#undecodable paths are not supportedr   r   )r	   r(   r-   r   r.   r/   r   OSErrorskipTestr   r   r   )r!   r   r0   s      r   .test_run_fileexflags_with_undecodable_filenamez7CAPITest.test_run_fileexflags_with_undecodable_filename\   s     ''	A($/ !2 !OOF$67 	#0-KL! !  	AMM?@	As'   B B"B BB B+*B+N)__name__
__module____qualname__r#   r1   unittest
skipUnlessr   skipIfr*   r,   r5    r   r   r   r      sS    ,;888 X+-XYX__RWW_&@AM B ZMr   r   __main__)r*   r9   collectionsr   test.supportr   test.support.os_helperr   r   r   r   NULLimport_moduler	   Py_single_inputr   Py_eval_inputTestCaser   r6   mainr<   r   r   <module>rG      s    	    & S S'M''4	++''''XMx   XMv zHMMO r   