Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/test/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/test/__pycache__/test_threaded_import.cpython-33.pyo

�
��f{ c@s-ddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZmZm
Z
mZe	d�Zdd�Zidd6dd	6d
d6dd
6ZGdd�d�ZGdd�d�ZGdd�dej�Zedd��Zedkr)e�ndS(iN(uverboseu
import_moduleurun_unittestuTESTFNureap_threadsuforgetuunlinku	threadingc	Cs�z�yYt|�dr1ddl}ddl}nddl}ddl}|jdd�}Wn;tk
r�}z|j|jd��WYdd}~XnXWd|jtj	��t|�|k}|r�|j
�nXdS(Niiii(ulenumodulefinderurandomu	randrangeu	Exceptionuappenduwith_tracebackuNoneu	threadingu	get_identuset(	uNudoneu
done_tasksuerrorsumodulefinderurandomuxueufinished((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutasks-utaskuaif 1:
        import time
        time.sleep(%(delay)s)
        x = 'a'
        import C
        uAuaif 1:
        import time
        time.sleep(%(delay)s)
        x = 'b'
        import D
        uBuimport BuCuimport AuDcBs5|EeZdZdZdd�Zddd�ZdS(uFinderuKA dummy finder to detect concurrent access to its find_module()
    method.cCs%d|_d|_tj�|_dS(Ni(unumcallsuxu	threadinguLockulock(uself((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu__init__?s		uFinder.__init__c
CsF|j�|jd7_WdQX|j}tjd�|d|_dS(Nig{�G�z�?(ulockunumcallsuxutimeusleep(uselfunameupathux((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyufind_moduleDs

	
uFinder.find_moduleN(u__name__u
__module__u__qualname__u__doc__u__init__uNoneufind_module(u
__locals__((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyuFinder;suFindercBs)|EeZdZdZddd�ZdS(uFlushingFinderuMA dummy finder which flushes sys.path_importer_cache when it gets
    called.cCstjj�dS(N(usysupath_importer_cacheuclear(uselfunameupath((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyufind_moduleSsuFlushingFinder.find_moduleN(u__name__u
__module__u__qualname__u__doc__uNoneufind_module(u
__locals__((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyuFlushingFinderOsuFlushingFindercBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS(uThreadedImportTestscCstjjdd�|_dS(Nurandom(usysumodulesupopuNoneu
old_random(uself((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyusetUpYsuThreadedImportTests.setUpcCs&|jdk	r"|jtjd<ndS(Nurandom(u
old_randomuNoneusysumodules(uself((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutearDown\suThreadedImportTests.tearDownc
Cs)tj�rtjd��ntj�}x�dD]�}trVtd|ddd�nx7d	d
gD])}ytj	|=Wqct
k
r�YqcXqcWg}g}|j�xBt|�D]4}tj
dtd||||f�}|j�q�W|j|jd
��|j|�tr1td�q1q1WdS(Nu"can't run when import lock is heldii2iuTryinguthreads ...uendu urandomumodulefinderutargetuargsi<uOK.(ii2(ii2ii2ii2(uimpu	lock_helduunittestuSkipTestu	threadinguEventuverboseuprintusysumodulesuKeyErroruclearurangeuThreadutaskustartu
assertTrueuwaituassertFalse(uselfudoneuNumodnameuerrorsu
done_tasksuiut((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyucheck_parallel_module_initcs,

	

u.ThreadedImportTests.check_parallel_module_initcCs|j�dS(N(ucheck_parallel_module_init(uself((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_parallel_module_init~su-ThreadedImportTests.test_parallel_module_initcCskt�}tjjd|�z7|j�|j|jd�|j|j|j�Wdtjj	|�XdS(Ni(
uFinderusysu	meta_pathuinsertucheck_parallel_module_initu
assertGreaterunumcallsuassertEqualuxuremove(uselfufinder((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_parallel_meta_path�s	
u+ThreadedImportTests.test_parallel_meta_pathcs�t��t�}�fdd�}tjjd|�tjj|�zF|jd�|j�}|j	�j
d�|j�j�j
�Wdtjj
|�tjj
|�XdS(Ncs�jd�t�dS(Nu(ufind_moduleuImportError(upath(ufinder(u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu	path_hook�s
u?ThreadedImportTests.test_parallel_path_hooks.<locals>.path_hookiu(uFinderuFlushingFinderusysu
path_hooksuinsertu	meta_pathuappendufind_moduleucheck_parallel_module_initu
assertGreaterunumcallsuassertEqualuxuremove(uselfuflushing_finderu	path_hookunumtests((ufinderu>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_parallel_path_hooks�s		
u,ThreadedImportTests.test_parallel_path_hookscCsFytjd=Wntk
r"YnXddl}|j|jj�dS(Nutest.threaded_import_hangersi(usysumodulesuKeyErrorutest.threaded_import_hangersuassertFalseuthreaded_import_hangersuerrors(uselfutest((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_import_hangers�s
u'ThreadedImportTests.test_import_hangersc	snd}tjt�|jtjt�tjjdt�|jtjj	t�x|t
j�D]n\}}|i|d6}ttjj
t|d�d��}|j|jd��WdQX|jt|�q\Wtj�g��fdd�}�fd	d
�}tjd|�}tjd|�}|j�|j�|j
�|j
�|jt��dd
h�dS(Ng�?iudelayu.pyuwbuutf-8cs)ddl}�jt|dd��dS(Niux(uAuappendugetattruNone(uA(uresults(u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu	import_ab�su<ThreadedImportTests.test_circular_imports.<locals>.import_abcs)ddl}�jt|dd��dS(Niux(uBuappendugetattruNone(uB(uresults(u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu	import_ba�su<ThreadedImportTests.test_circular_imports.<locals>.import_bautargetuaub(uosumkdiruTESTFNu
addCleanupushutilurmtreeusysupathuinserturemoveucircular_imports_modulesuitemsuopenujoinuwriteuencodeuforgetu	importlibuinvalidate_cachesu	threadinguThreadustartuassertEqualuset(	uselfudelayunameucontentsufu	import_abu	import_baut1ut2((uresultsu>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_circular_imports�s*
%




u)ThreadedImportTests.test_circular_importsc
Cs�d}tjjdtj�|jtjjtj�td}t|d��}|j	|j
d��WdQX|jt|�|jtt�t
j�tt�dS(Nu�if 1:
            import threading
            def target():
                import random
            t = threading.Thread(target=target)
            t.start()
            t.join()iu.pyuwbuutf-8(usysupathuinsertuosucurdiru
addCleanupuremoveuTESTFNuopenuwriteuencodeuunlinkuforgetu	importlibuinvalidate_cachesu
__import__(uselfucodeufilenameuf((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyutest_side_effect_import�s

u+ThreadedImportTests.test_side_effect_importN(u__name__u
__module__u__qualname__usetUputearDownucheck_parallel_module_initutest_parallel_module_initutest_parallel_meta_pathutest_parallel_path_hooksutest_import_hangersutest_circular_importsutest_side_effect_import(u
__locals__((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyuThreadedImportTestsWs

&uThreadedImportTestscCsjd}ytj�}tjd�Wntk
r7YnXztt�Wd|dk	retj|�nXdS(Ng�h㈵��>(uNoneusysugetswitchintervalusetswitchintervaluAttributeErrorurun_unittestuThreadedImportTests(uold_switchinterval((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu	test_main�s
u	test_mainu__main__(uosuimpu	importlibusysutimeushutiluunittestutest.supportuverboseu
import_moduleurun_unittestuTESTFNureap_threadsuforgetuunlinku	threadingutaskucircular_imports_modulesuFinderuFlushingFinderuTestCaseuThreadedImportTestsu	test_mainu__name__(((u>/opt/alt/python33/lib64/python3.3/test/test_threaded_import.pyu<module>s(4
�