
    [4%el                     t    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 G d dej	                  Z
dS )    N)Popen)mkdtempc                   &    e Zd Zd Zd Zd Zd ZdS )AutoreloadTestc                 ,    t                      | _        d S )N)r   pathselfs    <lib/python3.11/site-packages/tornado/test/autoreload_test.pysetUpzAutoreloadTest.setUp   s    II			    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$)$$$$$ 	% 	% 	% JqMMMM$)$$$$$$	%s    7AAc           	      :   d}t          j        t           j                            | j        d                     t	          t           j                            | j        d          d                                           t	          t           j                            | j        d          d          5 }|                    |           d d d            n# 1 swxY w Y   t          j                    }dt           j        v r"|t           j	        t           j        d         z   z  }t          t          j        ddgt          j        | j        t          t           j        |          d	
          }|                                d         }|                     |d           d S )Na  import os
import sys

from tornado import autoreload

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

print('Starting')
if 'TESTAPP_STARTED' not in os.environ:
    os.environ['TESTAPP_STARTED'] = '1'
    sys.stdout.flush()
    autoreload._reload()
testappztestapp/__init__.pywztestapp/__main__.py
PYTHONPATH-mr   Tstdoutcwdenvuniversal_newlinesr   Starting
Starting
)osmkdirr   joinopenclosewritegetcwdenvironpathsepr   sys
executable
subprocessPIPEdictcommunicateassertEqual)r
   mainf
pythonpathpouts         r   test_reload_modulez!AutoreloadTest.test_reload_module   s   " 	di33444RW\\$)%:;;SAAGGIII"',,ty*?@@#FF 	!GGDMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 Y[[
2:%%"*rz,'???J^T9-?	RZJ777#
 
 
 mmooa 455555s   2CCCc           	         d}t          j        t           j                            | j        d                     t           j                            | j        dd          }t	          |d                                           t           j                            | j        dd          }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          j                    }dt           j        v r"|t           j	        t           j        d         z   z  }t          t          j        ddddgt          j        | j        t          t           j        |	          d
          }t!          d          D ],}|                                 n8t%          j        d           -|                                 t+          d          |                                d         }|                     |d           d S )Na  import os
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')

import tornado.autoreload

print('Starting')
sys.stdout.flush()
if 'TESTAPP_STARTED' not in os.environ:
    os.environ['TESTAPP_STARTED'] = '1'
    # Simulate an internal autoreload (one not caused
    # by the wrapper).
    tornado.autoreload._reload()
else:
    # Exit directly so autoreload doesn't catch it.
    os._exit(0)
r   z__init__.pyr   z__main__.pyr   r   ztornado.autoreloadr   Tr   (   g?zsubprocess failed to terminater   r!   )r"   r#   r   r$   r%   r&   r'   r(   r)   r*   r   r+   r,   r-   r.   r/   rangepollr   r   kill	Exceptionr0   r1   )	r
   r2   	init_file	main_filer3   r4   autoreload_procir6   s	            r    test_reload_wrapper_preservationz/AutoreloadTest.test_reload_wrapper_preservationB   s   2 	di33444GLLI}EE	Y""$$$GLLI}EE	)S!! 	QGGDMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 Y[[
2:%%"*rz,'???J^T#7yI?	RZJ777#
 
 
 r 	> 	>A##%%1JsOOOO  """<===))++A../////s   8CC!CN)__name__
__module____qualname__r   r   r7   rB    r   r   r   r      sQ          
% 
% 
%%6 %6 %6N=0 =0 =0 =0 =0r   r   )r"   r   r-   r   r+   tempfiler   r   unittestTestCaser   rF   r   r   <module>rJ      s    				            



        t0 t0 t0 t0 t0X& t0 t0 t0 t0 t0r   