§
    ‹ŸjØ#  ã                   ó|   — d dl Z d dlZd dlZd dlmZ d dlZd dlmZ d dlZd dlZd dl	Z	 G d„ de	j
        ¦  «        ZdS )é    N)ÚPopen)Úmkdtempc                   ó@   — e Zd Zd„ Zd„ Zd
d„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
dS )ÚAutoreloadTestc                 óh   — d| _         t          ¦   «         | _        |                      ddi¦  «         d S )Ni   zrun_twice_magic.pya‘  
                    import os
                    import sys

                    import tornado.autoreload

                    sys.stdout.flush()

                    if "TESTAPP_STARTED" not in os.environ:
                        os.environ["TESTAPP_STARTED"] = "1"
                        tornado.autoreload._reload()
                    else:
                        os._exit(0)
                )ÚmaxDiffr   ÚpathÚwrite_files©Úselfs    úi/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/tornado/test/autoreload_test.pyÚsetUpzAutoreloadTest.setUp   sE   € àˆŒå‘I”IˆŒ	ð 	×Òà$ð 'ðñ	
ô 	
ð 	
ð 	
ð 	
ó    c                 ó¶   — 	 t          j        | j        ¦  «         d S # t          $ r1 t	          j        d¦  «         t          j        | j        ¦  «         Y d S w xY w)Né   )ÚshutilÚrmtreer	   ÚOSErrorÚtimeÚsleepr   s    r   ÚtearDownzAutoreloadTest.tearDown-   sd   € ð		%ÝŒM˜$œ)Ñ$Ô$Ð$Ð$Ð$øÝð 	%ð 	%ð 	%õ ŒJ�q‰MŒMˆMÝŒM˜$œ)Ñ$Ô$Ð$Ð$Ð$Ð$ð	%øøøs   ‚ �7AÁANc                 ó"  — |€| j         }|                     ¦   «         D ]ð\  }}t          |t          ¦  «        rgt	          j        t          j                              ||¦  «        ¦  «         |                      |t          j                              ||¦  «        ¦  «         Œ�t          t          j                              ||¦  «        dd¬¦  «        5 }| 	                    t          j        |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   ŒñdS )z¤Write a directory tree to self.path.

        tree is a dictionary mapping file names to contents, or
        sub-dictionaries representing subdirectories.
        NÚwúutf-8)Úencoding)r	   ÚitemsÚ
isinstanceÚdictÚosÚmkdirÚjoinr
   ÚopenÚwriteÚtextwrapÚdedent)r   ÚtreeÚ	base_pathÚnameÚcontentsÚfs         r   r
   zAutoreloadTest.write_files9   s&  € ð ÐØœ	ˆIØ"Ÿjšj™lœlð 	7ð 	7‰NˆD�(Ý˜(¥DÑ)Ô)ð 7Ý”�œŸš i°Ñ6Ô6Ñ7Ô7Ð7Ø× Ò  ­2¬7¯<ª<¸	À4Ñ+HÔ+HÑIÔIÐIÐIå�"œ'Ÿ,š, y°$Ñ7Ô7¸ÀwÐOÑOÔOð 7ÐSTØ—G’G�HœO¨HÑ5Ô5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7øð	7ð 	7s   Ã(DÄD	Ä
D	c                 ó¢  — t          j        ¦   «         g}dt           j        v r<|d„ t           j        d                              t           j        ¦  «        D ¦   «         z  }t           j                             |¦  «        }t          |t          j        t          t           j        |¬¦  «        | j
        dd¬¦  «        }t          d¦  «        D ],}|                     ¦   «         � n8t          j        d¦  «         Œ-|                     ¦   «          t!          d	¦  «        ‚|                     ¦   «         d
         }|                      |j        d
¦  «         |S )NÚ
PYTHONPATHc                 óp   — g | ]3}t           j                             t          j        ¦   «         |¦  «        ‘Œ4S © )r   r	   r!   Úgetcwd)Ú.0Úparts     r   ú
<listcomp>z1AutoreloadTest.run_subprocess.<locals>.<listcomp>N   s>   € ð ð ð àõ ”—’�RœY™[œ[¨$Ñ/Ô/ðð ð r   )r,   Tr   )ÚstdoutÚenvÚcwdÚuniversal_newlinesr   é(   gš™™™™™¹?zsubprocess failed to terminater   )r   r/   ÚenvironÚsplitÚpathsepr!   r   Ú
subprocessÚPIPEr   r	   ÚrangeÚpollr   r   ÚkillÚ	ExceptionÚcommunicateÚassertEqualÚ
returncode)r   ÚargsÚpartsÚ
pythonpathÚpÚiÚouts          r   Úrun_subprocesszAutoreloadTest.run_subprocessI   s-  € õ ”‘”�ˆØ�2œ:Ð%Ð%Øð ð åœJ |Ô4×:Ò:½2¼:ÑFÔFðñ ô ñ ˆEõ ”Z—_’_ UÑ+Ô+ˆ
åØÝ”?Ý•R”Z¨JÐ7Ñ7Ô7Ø”	Ø#Øð
ñ 
ô 
ˆõ �r‘”ð 	>ð 	>ˆAØ�vŠv‰xŒxÐ#Ø�ÝŒJ�s‰OŒOˆOˆOà�FŠF‰HŒHˆHÝÐ<Ñ=Ô=Ð=à�mŠm‰oŒo˜aÔ ˆØ×Ò˜œ qÑ)Ô)Ð)Øˆ
r   c                 óF  — d}|                       dd|dœi¦  «         dD �]€}|                      |¬¦  «        5  |                      d¬¦  «        5  |rt          j        d	d
g}nt          j        g}|                      |d	dgz   ¦  «        }|                      |d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¬¦  «        5  |                      |dgz   ¦  «        }|rdnd}|                      ||› d�dz  ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¬¦  «        5  |                      |dgz   ¦  «        }|rdnd}|                      ||› d�dz  ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �Œ‚d S )Na›  import sys

# In module mode, the path is set to the parent directory and we can import testapp.
try:
    import testapp
except ImportError:
    print("import testapp failed")
else:
    print("import testapp succeeded")

spec = getattr(sys.modules[__name__], '__spec__', None)
print(f"Starting {__name__=}, __spec__.name={getattr(spec, 'name', None)}")
exec(open("run_twice_magic.py", encoding="utf-8").read())
ÚtestappÚ ©z__init__.pyz__main__.py)FT)ÚwrapperÚmodule)Úmodeú-mútornado.autoreloadz¬import testapp succeeded
Starting __name__='__main__', __spec__.name=testapp.__main__
import testapp succeeded
Starting __name__='__main__', __spec__.name=testapp.__main__
Úfileztestapp/__main__.pyzimport testapp succeededzimport testapp failedz2
Starting __name__='__main__', __spec__.name=None
é   Ú	directoryz6
Starting __name__='__main__', __spec__.name=__main__
)r
   ÚsubTestÚsysÚ
executablerJ   rB   )r   ÚmainrO   Ú	base_argsrI   Úexpect_imports         r   Útest_reloadzAutoreloadTest.test_reloadk   s,  € ðˆð" 	×ÒàØ#%Ø#'ðð ðñ	
ô 	
ð 	
ð %ð 1	ñ 1	ˆGØ—’ g�Ñ.Ô.ð 0ð 0Ø—\’\ x�\Ñ0Ô0ð ð Øð 5Ý%(¤^°TÐ;OÐ$P˜	˜	å%(¤^Ð$4˜	ð ×-Ò-¨i¸4ÀÐ:KÑ.KÑLÔL�CØ×$Ò$Øðñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð" —\’\ v�\Ñ.Ô.ð ð Ø×-Ò-¨iÐ;PÐ:QÑ.QÑRÔR�Cð #ð5Ð2Ð2à4ð "ð ×$Ò$ØØ(Ð^Ð^Ð^Øññô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð" —\’\ {�\Ñ3Ô3ð ð ð ×-Ò-¨i¸9¸+Ñ.EÑFÔF�Cð #ð5Ð2Ð2à4ð "ð
 ×$Ò$ØØ(ÐbÐbÐbØññô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðG0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ùð1	ð 1	s~   ¸FÁAB+ÂFÂ+B/Â/FÂ2B/Â3FÃ<DÄFÄDÄFÄDÄFÄ5<E=Å1FÅ=FÆFÆFÆFÆF	ÆF	c                 ó²   — d}|                       dd|dœi¦  «         |                      t          j        ddddg¦  «        }|                      |d¦  «         d S )Na  import sys

# This import will fail if path is not set up correctly
import testapp

if 'tornado.autoreload' not in sys.modules:
    raise Exception('started without autoreload wrapper')

print('Starting')
exec(open("run_twice_magic.py", encoding="utf-8").read())
rL   rM   rN   rR   rS   zStarting
Starting
©r
   rJ   rX   rY   rB   ©r   rZ   rI   s      r   Ú test_reload_wrapper_preservationz/AutoreloadTest.test_reload_wrapper_preservation¼   s‚   € ðˆð 	×ÒàØ#%Ø#'ðð ðñ	
ô 	
ð 	
ð ×!Ò!ÝŒ^˜TÐ#7¸¸yÐIñ
ô 
ˆð 	×Ò˜Ð.Ñ/Ô/Ð/Ð/Ð/r   c           
      ó²   — d}|                       d|i¦  «         |                      t          j        dddddddg¦  «        }|                      |d¦  «         d S )	Nz“import os
import sys

print(os.path.basename(sys.argv[0]))
print(f'argv={sys.argv[1:]}')
exec(open("run_twice_magic.py", encoding="utf-8").read())
úmain.pyrR   rS   Úarg1z--arg2Úarg3z\main.py
argv=['arg1', '--arg2', '-m', 'arg3']
main.py
argv=['arg1', '--arg2', '-m', 'arg3']
r_   r`   s      r   Útest_reload_wrapper_argsz'AutoreloadTest.test_reload_wrapper_argsÛ   sy   € ðˆð 	×Ò˜) TÐ*Ñ+Ô+Ð+ð ×!Ò!å”ØØ$ØØØØØð	ñ
ô 
ˆð 	×Ò˜ÐTÑUÔUÐUÐUÐUr   c                 ó¬   — d}|                       d|i¦  «         |                      t          j        ddddg¦  «        }|                      |d¦  «         d S )NzÂimport os
import sys

if "TESTAPP_STARTED" in os.environ:
    print("exiting cleanly")
    sys.exit(0)
else:
    print("reloading")
    exec(open("run_twice_magic.py", encoding="utf-8").read())
rc   rR   rS   z--until-successzreloading
exiting cleanly
r_   r`   s      r   Ú!test_reload_wrapper_until_successz0AutoreloadTest.test_reload_wrapper_until_successø   sj   € ð
ˆð 	×Ò˜) TÐ*Ñ+Ô+Ð+à×!Ò!ÝŒ^˜TÐ#7Ð9JÈIÐVñ
ô 
ˆð 	×Ò˜Ð<Ñ=Ô=Ð=Ð=Ð=r   )N)Ú__name__Ú
__module__Ú__qualname__r   r   r
   rJ   r]   ra   rf   rh   r.   r   r   r   r      sš   € € € € € ð
ð 
ð 
ð@
%ð 
%ð 
%ð7ð 7ð 7ð 7ð  ð  ð  ðDOð Oð Oðb0ð 0ð 0ð>Vð Vð Vð:>ð >ð >ð >ð >r   r   )r   r   r;   r   rX   Útempfiler   r$   r   ÚunittestÚTestCaser   r.   r   r   ú<module>ro      s¬   ðØ 	€	€	€	Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø €€€ð@>ð @>ð @>ð @>ð @>�XÔ&ñ @>ô @>ð @>ð @>ð @>r   