§
    <«e¶  ã                   ó¶   — 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	m
Z
  e
¦   «           G d„ dej        ¦  «        Zedk    r ej        ¦   «          dS dS )é    N)Úsupport)Ú	os_helper)Ú
scriptsdirÚskip_if_missingc                   ót   — e Zd Zej                             ed¦  «        Zd„ Z	 	 dd„Z	d„ Z
d„ Zd„ Zd	„ Zd
„ ZdS )ÚTestPathfixFunctionalz
pathfix.pyc                 óZ   — |                       t          j        t          j        ¦  «         d S )N)Ú
addCleanupr   ÚunlinkÚTESTFN©Úselfs    ú3/usr/lib/python3.11/test/test_tools/test_pathfix.pyÚsetUpzTestPathfixFunctional.setUp   s"   € ØŠ	Ô(­)Ô*:Ñ;Ô;Ð;Ð;Ð;ó    r   Ú c                 óh  — |r#t           j                             |d¦  «        }|}nt          j        }|}t          |dd¬¦  «        5 }	|	                     |› ddz   ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         }
t          j
        t          j        | j        g|¢d‘|‘i t           j        ¥d|
i¥d	¬
¦  «        }|dk    r|j        dk    r|› d}|                      |j        ||¦  «         |                      |j                             |
¦  «        |                     dt           j        ¦  «        |¦  «         |                      |j                             |
¦  «        |                     dt           j        ¦  «        |¦  «         t          |dd¬¦  «        5 }	|	                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   |                     d¦  «        }|                      |dd …         ddg¦  «         |d         }|j        dk    r|                      ||¦  «         |S )Nzscript-A_1.pyÚwÚutf8)Úencodingú
zprint("Hello world")
z-nÚPYTHONIOENCODINGT)ÚenvÚcapture_outputr   r   z: updating
Úré   zprint("Hello world"))ÚosÚpathÚjoinr   r   ÚopenÚwriteÚsysÚgetfilesystemencodingÚ
subprocessÚrunÚ
executableÚscriptÚenvironÚ
returncodeÚassertEqualÚstdoutÚdecodeÚreplaceÚlinesepÚstderrÚreadÚsplit)r   ÚshebangÚpathfix_flagsÚexitcoder+   r/   Ú	directoryÚfilenameÚpathfix_argÚfr   ÚprocÚoutputÚlinesÚnew_shebangs                  r   ÚpathfixzTestPathfixFunctional.pathfix   s¬  € àð 	#õ ”w—|’| I¨Ñ?Ô?ˆHØ#ˆKˆKå Ô'ˆHØ"ˆKå(˜C¨&Ð1Ñ1Ô1ð 	?°QØGŠGwNNNÐ%=Ñ=Ñ>Ô>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?õ Ô,Ñ.Ô.ˆÝŒ~ÝŒ^˜Tœ[ð 0Øð0Ø!ð0Ø#.ð0à<•2”:Ð<Ð1°8Ð<Ð<Øð	!ñ !ô !ˆð RŠ<ˆ<˜DœO¨qÒ0Ð0Ø Ð.Ð.Ð.ˆFØ×Ò˜œ¨(°DÑ9Ô9Ð9Ø×Ò˜œ×+Ò+¨HÑ5Ô5°v·~²~ÀdÍBÌJÑ7WÔ7WÐY]Ñ^Ô^Ð^Ø×Ò˜œ×+Ò+¨HÑ5Ô5°v·~²~ÀdÍBÌJÑ7WÔ7WÐY]Ñ^Ô^Ð^å(˜C¨&Ð1Ñ1Ô1ð 	°QØ—V’V‘X”XˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð —’˜TÑ"Ô"ˆØ×Ò˜˜q˜r˜rœÐ%;¸RÐ$@ÑAÔAÐAØ˜A”hˆàŒ?˜aÒÐØ×Ò˜W kÑ2Ô2Ð2àÐs$   ÁA.Á.A2Á5A2Æ(G	Ç	GÇGc                 ó0  — t           j        dz   }|                      t           j        |¦  «         t	          j        |¦  «         dt          j                             |¦  «        › d}|                      |  	                    dddg||¬¦  «        d¦  «         d S )	Nz.dzrecursedown('z')
ú#! /usr/bin/env pythonú-iú/usr/bin/python3)r5   r/   ú#! /usr/bin/python3)
r   r   r
   Úrmtreer   Úmkdirr   Úbasenamer*   r=   )r   ÚtmpdirÚexpected_stderrs      r   Útest_recursivez$TestPathfixFunctional.test_recursive;   s¥   € ÝÔ! DÑ(ˆØŠ	Ô(¨&Ñ1Ô1Ð1Ý
ŒÑÔÐØH­"¬'×*:Ò*:¸6Ñ*BÔ*BÐHÐHÐHˆØ×ÒØLŠLØ(ØÐ)Ð*Ø Ø&ð	 ñ (ô (ð
 "ñ	#ô 	#ð 	#ð 	#ð 	#r   c                 ó¶   — |                       |                      dddg¦  «        d¦  «         |                       |                      dddg¦  «        d¦  «         d S )Nr?   r@   rA   rB   ú#! /usr/bin/env python -R©r*   r=   r   s    r   Útest_pathfixz"TestPathfixFunctional.test_pathfixH   s‚   € Ø×ÒØLŠLØ(ØÐ)Ð*ñ,ô ,ð "ñ		#ô 	#ð 	#ð
 	×ÒØLŠLØ+ØÐ)Ð*ñ,ô ,ð "ñ		#ô 	#ð 	#ð 	#ð 	#r   c                 ó¶   — |                       |                      dg d¢¦  «        d¦  «         |                       |                      dg d¢¦  «        d¦  «         d S )NrJ   )r@   rA   ú-kz#! /usr/bin/python3 -Rr?   rB   rK   r   s    r   Útest_pathfix_keeping_flagsz0TestPathfixFunctional.test_pathfix_keeping_flagsT   s‚   € Ø×ÒØLŠLØ+Ø0Ð0Ð0ñ2ô 2ð %ñ		&ô 	&ð 	&ð
 	×ÒØLŠLØ(Ø0Ð0Ð0ñ2ô 2ð "ñ		#ô 	#ð 	#ð 	#ð 	#r   c                 ó¾  — |                       |                      dg d¢¦  «        d¦  «         |                       |                      dg d¢¦  «        d¦  «         |                       |                      dg d¢¦  «        d¦  «         |                       |                      dg d¢¦  «        d	¦  «         |                       |                      d
g d¢¦  «        d¦  «         d S )Nr?   )r@   rA   ú-aÚsz#! /usr/bin/python3 -sz#! /usr/bin/env python -Sz#! /usr/bin/env python -V)r@   rA   rQ   ÚvrN   z#! /usr/bin/python3 -vV)r@   rA   rQ   ÚRsz#! /usr/bin/python3 -Rsz!#! /usr/bin/env python -W default)r@   rA   rQ   rR   rN   z#! /usr/bin/python3 -sW defaultrK   r   s    r   Útest_pathfix_adding_flagz.TestPathfixFunctional.test_pathfix_adding_flag`   s6  € Ø×ÒØLŠLØ(Ø5Ð5Ð5ñ7ô 7ð %ñ		&ô 	&ð 	&ð
 	×ÒØLŠLØ+Ø5Ð5Ð5ñ7ô 7ð %ñ		&ô 	&ð 	&ð
 	×ÒØLŠLØ+Ø;Ð;Ð;ñ=ô =ð &ñ		'ô 	'ð 	'ð
 	×ÒØLŠLØ(Ø6Ð6Ð6ñ8ô 8ð &ñ		'ô 	'ð 	'ð
 	×ÒØLŠLØ3Ø;Ð;Ð;ñ=ô =ð .ñ		/ô 	/ð 	/ð 	/ð 	/r   c                 ó<   — |                       dg d¢dd¬¦  «         d S )Nz#! /usr/bin/env python -E)r@   rA   rQ   z	W defaultrN   é   z%-a option doesn't support whitespaces)r4   r/   )r=   r   s    r   Útest_pathfix_adding_errorsz0TestPathfixFunctional.test_pathfix_adding_errors{   s9   € ØŠØ'Ø?Ð?Ð?ØØ:ð	 	ñ 	<ô 	<ð 	<ð 	<ð 	<r   N)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r'   r   r=   rH   rL   rO   rU   rX   © r   r   r   r      s¢   € € € € € ØŒW\Š\˜* lÑ3Ô3€Fð<ð <ð <ð MOØð%ð %ð %ð %ðN#ð #ð #ð
#ð 
#ð 
#ð
#ð 
#ð 
#ð/ð /ð /ð6<ð <ð <ð <ð <r   r   Ú__main__)r   r$   r"   ÚunittestÚtestr   Útest.supportr   Útest.test_toolsr   r   ÚTestCaser   rY   Úmainr\   r   r   ú<module>rd      sÔ   ðØ 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð €Ñ Ô Ð ðr<ð r<ð r<ð r<ð r<˜HÔ-ñ r<ô r<ð r<ðj ˆzÒÐØ€H„MO„O€O€O€Oð Ðr   