403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/traitlets/config/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/traitlets/config/tests/__pycache__/test_application.cpython-311.pyc
�

�UcQs��"�dZddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZddlZddlm
Z
ddlmZmZmZmZmZmZmZmZmZddlmZdd	lmZdd
lmZddlmZm Z m!Z!	ddl
m"Z"n#e#$r	ddl
m"Z"YnwxYwej$j%Z&Gd
�de��Z'Gd�de��Z(Gd�de��Z)d�Z*Gd�de��Z+d�Z,Gd�de��Z-Gd�de��Z.Gd�de��Z/Gd�de��Z0Gd�d e��Z1d!�Z2d"�Z3d#�Z4d$�Z5d%�Z6d&�Z7d'�Z8d(�Z9d)�Z:d*�Z;ej<d+���Z=ej
�>ej?j@d,kd-�.��d/���ZAeBd0kre)�C��dSdS)1z4
Tests for traitlets.config.application.Application
�N)�StringIO)�TemporaryDirectory)�TestCase)�mark)	�Bool�Bytes�Dict�	HasTraits�Integer�List�Set�Tuple�Unicode)�Application)�Configurable)�Config)�check_help_all_output�check_help_output�get_output_error_code)�mockc��eZdZedd����d���Zedd����d���Zedd	����d���Ze	g���d���Z
e	e�����d���Ze���dd
���Z
dS)
�Foorz.
    The integer i.

    Details about i.
    ��helpT��config�zThe integer j.�BrianzFirst name.�+�r�multiplicityN)�__name__�
__module__�__qualname__r�tag�i�jr�namer�la�lir	�fdict���I/usr/lib/python3/dist-packages/traitlets/config/tests/test_application.pyrr's���������	��	�	�	�
�c��c����	���(�)�)�)�-�-�T�-�:�:�A��7�7��/�/�/�3�3�4�3�@�@�D�	
��b�����T��	"�	"�B�	
��g�g�i�i���	�	�D�	�	)�	)�B��D�F�F�J�J�d��J�5�5�E�E�Er-rc��eZdZedd����d���Zedd����d���Zed���dd�	��Z	e
���dd
�	��Ze���d���Z
ee������d���Zee��e��d��
���d���ZdS)�Barr�The integer b.rTrzEnable bar.r,�*r r)�value_trait)r&�b)�per_key_traitsN)r"r#r$rr%r4r�enabledr�tbr
�asetr	�bdict�idictr�key_dictr,r-r.r0r08s
���������(�)�)�)�-�-�T�-�:�:�A��d�4�m�,�,�,�0�0��0�=�=�G�	��r�����d���	5�	5�B��3�5�5�9�9�D�s�9�3�3�D��D�F�F�J�J�d�J�#�#�E��D�W�W�Y�Y�'�'�'�+�+�4�+�8�8�E��t���������#A�#A�B�B�B�F�F�d�F�S�S�H�H�Hr-r0c
��eZdZed��Zedd����d���Zee	e
g��Zedd����d���Zed	dd
���Z
iZe�ej��e�dd
ddddddddd�
��iZe�ej��e�dddiidfdddiidfddejiidfd���d�Zd�Zd S)!�MyApp�myappFzIs the app running?rTr�zLoad this config filez yes the name is wrong on purposezAShould print a warning if `MyApp.warn-typo=...` command is passed)rrzFoo.i)zFoo.jz`j` terse help msgzFoo.namezFoo.lazFoo.lizBar.tbz	Bar.bdictzBar.enabledzApplication.log_level)
)�fooir&)r'�foojr(r)r*r7�Dr6�enablez	log-levelr0r6zSet Bar.enabled to TruezSet Bar.enabled to Falser�	log_levelzset level=CRITICAL))rC�e)�d�disable�critc�0�t|���|_dS�N)�parent)r�foo��selfs r.�init_foozMyApp.init_fook����d�#�#�#����r-c�0�t|���|_dSrJ)r0�barrMs r.�init_barzMyApp.init_barnrPr-N)r"r#r$rr(rr%�runningrr0r�classes�config_file�	warn_tpyo�aliases�updater�flags�logging�CRITICALrOrSr,r-r.r=r=Cs��������7�7���D��d�5�4�5�5�5�9�9��9�F�F�G��d�C��:���G��'�"�#:�;�;�;�?�?�t�?�L�L�K���*��
P����I��G��N�N�;�&�'�'�'��N�N�"�:������$�#�0�	
�	
�
�
�
�
�E�	�L�L��"�#�#�#�	�L�L�$�y�$�&7�8�:S�T� %�	�5�'9�:�<V�W�#�k�7�3C�%D�E�G[�\�	
�	
����$�$�$�$�$�$�$�$r-r=c��d�|D��S)Nc��g|]	}|j��
Sr,)r")�.0�klasss  r.�
<listcomp>z"class_to_names.<locals>.<listcomp>ss��0�0�0�u�E�N�0�0�0r-r,)rUs r.�class_to_namesrbrs��0�0��0�0�0�0r-c�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zejee d��d���d���Z!ejee d��d���d���Z"d �Z#d!�Z$d"�Z%d#S)$�TestApplicationc��t��}ttj���}tj|��}d|_d|_|g|j_|j�	d��d|�
��vsJ�dS)N�rDz%(message)sz%Y-%m-%d %H:%M�hello)rr=r[�INFO�
StreamHandler�
log_format�log_datefmt�log�handlers�info�getvalue)rN�stream�app�handlers    r.�test_logzTestApplication.test_logws|�������g�l�+�+�+���'��/�/��&���*���#�9��������W�����&�/�/�+�+�+�+�+�+�+�+r-c��t��}|�dg��|���|jjdksJ�dS)Nz--Foo.name=1�1)r=�
initializerOrLr(�rNrqs  r.�test_no_eval_cli_textz%TestApplication.test_no_eval_cli_text�sH���g�g������'�(�(�(��������w�|�s�"�"�"�"�"�"r-c��t��}|�|jd��|�|jd��|�|jtt
tg��|�|jd��dS)Nr>Fr?)r=�assertEqualr(rTrUr0rrVrws  r.�
test_basiczTestApplication.test_basic�sx���g�g�������7�+�+�+������e�,�,�,������u�c�3�&7�8�8�8������"�-�-�-�-�-r-c��t��}|�t|�����gd���|�t|�����gd���|�t|�t
g����dg��|�t|�t
g����gd���|�t|�tg����dg��|�t|�tg����ddg��Gd�d	t
��}|�t|�tg����dg��|�t|�tg����ddg��dS)
N)rr=r0r)r�LoggingConfigurable�SingletonConfigurablerr=r0rr)rr}r~rrrr0c��eZdZdS)�2TestApplication.test_mro_discovery.<locals>.MyApp2N�r"r#r$r,r-r.�MyApp2r����������Dr-r�)r=�assertSequenceEqualrb�_classes_with_config_traits�_classes_inc_parentsrrr0)rNrqr�s   r.�test_mro_discoveryz"TestApplication.test_mro_discovery�s���g�g��� � ��3�:�:�<�<�=�=�2�2�2�	
�	
�	
�	
� � ��3�3�3�5�5�6�6�
�
�
�	
�	
�	
�	
� � ��3�:�:�K�=�I�I�J�J�]�O�	
�	
�	
�	
� � ��3�3�3�[�M�B�B�C�C�[�[�[�	
�	
�	
�
	
� � ���0O�0O�QT�PU�0V�0V�!W�!W�Z_�Y`�a�a�a�� � ��3�3�3�S�E�:�:�;�;�n�e�=T�	
�	
�	
�	�	�	�	�	�[�	�	�	�	
� � ���0O�0O�QT�PU�0V�0V�!W�!W�Z_�Y`�a�a�a�� � ��3�3�3�S�E�:�:�;�;�n�e�=T�	
�	
�	
�	
�	
r-c�|�t��}|�gd���|j}t|��|�|jjd��|�|jjd��|�|jj	d��|�|jj
d��dS)N�z--i=10z
--Foo.j=10z--enable=Falsez--log-level=50�
F�2)r=�parse_command_liner�printrzrr&r'r0r6rD�rNrqrs   r.�test_configzTestApplication.test_config�s����g�g�����
�
�
�	
�	
�	
����
�f�
�
�
�������r�*�*�*�������r�*�*�*������+�U�3�3�3������/��4�4�4�4�4r-c�Z�t��}|�d�����|jdgksJ�|j}|jjddgksJ�|jjddgksJ�|jj	dksJ�|�
|jjdd	h��|���|j
jddgksJ�|j
jddgksJ�|���|�
|jjdd	h��|jj	dksJ�dS)
NzT--li 1 --li 3 --la 1 --tb AB 2 --Foo.la=ab --Bar.aset S1 --Bar.aset S2 --Bar.aset S1�2r�ru�ab)�AB�S1�S2)r=r��split�
extra_argsrrr*r)r0r7rzr8rOrLrSrRr�s   r.�test_config_seq_argsz$TestApplication.test_config_seq_args�s:���g�g�����b�h�h�j�j�	
�	
�	
��~�#��&�&�&�&�����z�}��A��&�&�&�&��z�}��d��+�+�+�+��z�}��'�'�'�'�������4��,�7�7�7��������w�z�a��V�#�#�#�#��w�z�c�4�[�(�(�(�(��������������d�|�4�4�4��w�z�W�$�$�$�$�$�$r-c�:�t��}|�d�����dddd�}dddd�}dd	d
d�}|j}|jj|ksJ�|�|jj|��|�|jj	|��|�
��|�|jj|��|�
��|jj|ksJ�|�|jj	|��dS)Nz�--Foo.fdict a=1 --Foo.fdict b=b --Foo.fdict c=3 --Bar.bdict k=1 -D=a=b -D 22=33 --Bar.idict k=1 --Bar.idict b=2 --Bar.idict c=3 rur4�3)�ar4�c�33)�kr��22r�r�)r�r4r�)r=r�r�rr0r:�assertDictEqualrr+r9rOrzrLrSrR)rNrqr+r9r:rs      r.�test_config_dict_argsz%TestApplication.test_config_dict_args�s���g�g�����
?�?D�u�w�w�	
�	
�	
�
��#�.�.����4�0�0���a�a�(�(������z��5�(�(�(�(����V�Z�-�u�5�5�5����V�Z�-�u�5�5�5��������������.�.�.��������w�}��%�%�%�%��������.�.�.�.�.r-c�`�t��}|�gd���|���|���|�|jjd��|�|jjd��|�|jj	d��dS)Nr�r�F)
r=r�rOrSrzrLr&r'rRr6rws  r.�test_config_propagationz'TestApplication.test_config_propagation�s����g�g�����[�[�[�\�\�\�������������������B�'�'�'�������B�'�'�'�������%�0�0�0�0�0r-c�P�d}Gd�dt��}|��}t��5}t||��}t|d��5}|�ddg��ddd��n#1swxYwY|�dg��d	|jjvsJ�|jjjd
ksJ�|jd
ksJ�|�	||g���|j
sJ�|jjjd
ksJ�|jd
ksJ�	ddd��dS#1swxYwYdS)z<Test that loading config files does not override CLI options�	config.pyc��eZdZe���d���Ze���d���ZddiZdS)�2TestApplication.test_cli_priority.<locals>.TestAppTr�v�
TestApp.valueN�	r"r#r$rr%�valuer�config_file_loadedrXr,r-r.�TestAppr��sK�������G�I�I�M�M��M�.�.�E�!%������4��!8�!8���O�,�G�G�Gr-r��w� c.TestApp.value = 'config file'
�$c.TestApp.config_file_loaded = True
N�--v=clir��cli��path)rr�pjoin�open�
writelinesr�rr�r��load_config_filer�)rNr(r�rq�tdrV�fs       r.�test_cli_priorityz!TestApplication.test_cli_priority�s�����	-�	-�	-�	-�	-�k�	-�	-�	-�
�g�i�i��
�
!�
!�	&�R���D�/�/�K��k�3�'�'�
�1����8�:a�b����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�

�"�"�I�;�/�/�/��c�j�0�0�0�0�0��:�%�+�u�4�4�4�4��9��%�%�%�%�� � ��R�D� �1�1�1��)�)�)�)��:�%�+�u�4�4�4�4��9��%�%�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s6�!D�A3�'D�3A7	�7D�:A7	�;BD�D�"Dc��d}Gd�dt��}|��}t��5}t||��}t|d��5}|�ddg��ddd��n#1swxYwY|�dg��|j}d|jjvsJ�|jjjd	ksJ�|jd	ksJ�|�	||g�
��|j
sJ�|�|��|jjjd	ksJ�|jd	ksJ�	ddd��dS#1swxYwYdS)Nr�c��eZdZe���d���Ze���d���ZddiZdS)�:TestApplication.test_ipython_cli_priority.<locals>.TestAppTrr�)r�z	some helpNr�r,r-r.r�r�sL�������G�I�I�M�M��M�.�.�E�!%������4��!8�!8���:�;�G�G�Gr-r�r�r�r�r�r�r�r�)rrr�r�r�r�rr�r�r�r��
update_config)rNr(r�rqr�rVr��
cli_configs        r.�test_ipython_cli_priorityz)TestApplication.test_ipython_cli_prioritys
����	<�	<�	<�	<�	<�k�	<�	<�	<�
�g�i�i��
�
!�
!�	&�R���D�/�/�K��k�3�'�'�
�1����8�:a�b����
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�

�"�"�I�;�/�/�/���J��c�j�0�0�0�0�0��:�%�+�u�4�4�4�4��9��%�%�%�%�� � ��R�D� �1�1�1��)�)�)�)�
���j�)�)�)��:�%�+�u�4�4�4�4��9��%�%�%�%�%�-	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s6�!D7�A3�'D7�3A7	�7D7�:A7	�;B.D7�7D;�>D;c�~�Gd�dt��}|��}|�dg��|j�J�dS)Nc�0�eZdZddiZedd���ZdS)�0TestApplication.test_cli_allow_none.<locals>.App�opt�App.optT)�
allow_nonerN�r"r#r$rXrr�r,r-r.�Appr�8s,�������i�(�G��'�T�$�7�7�7�C�C�Cr-r�z
--opt=None)rr�r�)rNr�rqs   r.�test_cli_allow_nonez#TestApplication.test_cli_allow_none7s^��	8�	8�	8�	8�	8�+�	8�	8�	8��c�e�e������~�.�.�.��w�����r-c���t��}|�dg��|���|�|jjd��t��}|�dg��|���|�|jjd��t��}|�dg��|���|�|jjd��t��}|�dg��|���|�|jjd��dS)N�	--disableFz-d�--enableTz-e)r=r�rSrzrRr6rws  r.�
test_flagszTestApplication.test_flags@s ���g�g������}�-�-�-�������������%�0�0�0��g�g������v�&�&�&�������������%�0�0�0��g�g�����
�|�,�,�,�������������$�/�/�/��g�g������v�&�&�&�������������$�/�/�/�/�/r-c��t��}tj��}tj|��5|���ddd��n#1swxYwY|���}|�|d��|�|d��|�d|��|�d|��dS)Nz(?<!-)-e, --enable\bz(?<!-)-d, --disable\bz#Equivalent to: [--Bar.enabled=True]z$Equivalent to: [--Bar.enabled=False])	r=�ior�
contextlib�redirect_stdout�print_flag_helpro�assertRegex�assertIn�rNrq�stdout�hmsgs    r.�test_flags_help_msgz#TestApplication.test_flags_help_msgUs����g�g�������
�
'��
/�
/�	"�	"����!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"���� � ������6�7�7�7�����7�8�8�8��
�
�;�T�B�B�B��
�
�<�d�C�C�C�C�C��A�A�Ac�T�t��}|�ddg��|���|�|jjd��|���|�|jjd��t��}|�ddg��|���|�|jjd��|���|�|jjd��t��}|�ddg��|���|�|jjd��|���|�|jjd��dS)	Nz--i=5z--j=10�r�z-i=5z-j=10z--fooi=5z	--fooj=10)r=r�rOrzrLr&r'rws  r.�test_aliaseszTestApplication.test_aliases`sX���g�g�������2�3�3�3�������������A�&�&�&�������������B�'�'�'��g�g�������0�1�1�1�������������A�&�&�&�������������B�'�'�'��g�g�����
�K�8�9�9�9�������������A�&�&�&�������������B�'�'�'�'�'r-c��Gd�dt��}|��}|�ddg��|�|jd��|��}|�ddg��|�|jd��|��}|�d	d
g��|�|jd��dS)Nc�.�eZdZed���ZddiZdS)�@TestApplication.test_aliases_multiple.<locals>.TestMultiAliasAppTr)r�rR�quxzTestMultiAliasApp.fooN)r"r#r$rrLrXr,r-r.�TestMultiAliasAppr�xs+�������'��&�&�&�C�*�,C�D�G�G�Gr-r�z-fr�r�z--bar�4�z--qux�5r�)rr�rzrL)rNr�rqs   r.�test_aliases_multiplez%TestApplication.test_aliases_multiplevs���	E�	E�	E�	E�	E��	E�	E�	E� ��!�!������c�{�+�+�+������!�$�$�$���!�!�������~�.�.�.������!�$�$�$���!�!�������~�.�.�.������!�$�$�$�$�$r-c���t��}tj��}tj|��5|���ddd��n#1swxYwY|���}|�|d��|�|d��|�d|��|�d|��|�d|��dS)Nz(?<!-)-i, --fooi\bz(?<!-)-j, --fooj\bzEquivalent to: [--Foo.i]zEquivalent to: [--Foo.j]zEquivalent to: [--Foo.name])	r=r�rr�r��print_alias_helpror�r�r�s    r.�test_aliases_help_msgz%TestApplication.test_aliases_help_msg�s���g�g�������
�
'��
/�
/�	#�	#�� � �"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#���� � ������4�5�5�5�����4�5�5�5��
�
�0�$�7�7�7��
�
�0�$�7�7�7��
�
�3�T�:�:�:�:�:r�c���t��}|�ddg��|���|�|jjd��|�|jjd��|�ddg��|���|�|jjd��|�|jjd��d	S)
z9test that setting flags doesn't clobber existing settings�	--Bar.b=5r�Fr�r�z
--Bar.b=10Tr�N)r=r�rSrzrRr6r4rws  r.�test_flag_clobberz!TestApplication.test_flag_clobber�s����g�g������[�9�:�:�:�������������%�0�0�0�������A�&�&�&����
�L�9�:�:�:�������������$�/�/�/�������B�'�'�'�'�'r-c�v�t��}ttj���}tj|��g|j_t��}d|j_||_	|�
d|�����|�
d|�����dS)Nrf�WOOOO�	warn_typorW)rr=r[rhrirlrmrr�rr�ro)rNrprq�cfgs    r.�test_warn_autocorrectz%TestApplication.test_warn_autocorrect�s��������g�l�+�+�+��#�1�&�9�9�:�����h�h��%��	����
��
�
�k�6�?�?�#4�#4�5�5�5��
�
�k�6�?�?�#4�#4�5�5�5�5�5r-c��t��}tj|j_t��}|�|��|�|jtj��|�|jjjtj��|�dg��|�|jtj	��|�|jjjtj	��dS)Nz--crit�
rr[�WARNr=rDr�rzrrvr\�rNr�rqs   r.�test_flatten_flagsz"TestApplication.test_flatten_flags�s����h�h��%�l��	���g�g�����#�����������5�5�5������)�3�W�\�B�B�B�����z�"�"�"�������(8�9�9�9������)�3�W�5E�F�F�F�F�Fr-c��t��}tj|j_t��}|�|��|�|jtj��|�|jjjtj��|�ddg��|�|jtj	��|�|jjjd��dS)Nz--log-levelr\r�r�s   r.�test_flatten_aliasesz$TestApplication.test_flatten_aliases�s����h�h��%�l��	���g�g�����#�����������5�5�5������)�3�W�\�B�B�B����
�z�2�3�3�3�������(8�9�9�9������)�3�Z�@�@�@�@�@r-c���t��}|�gd���|���|�|jjd��|�|jjd��|�|jddg��t��}|�gd���|���|�|jjd��|�|jjd��|�|jgd���t��}|�gd	���|�|jgd
���dS)N)r��extra�argsr�Fr�r�r�)r��--r�r�r�T)r�r�r�)r�z--la�-r�z	--Bar.b=1r�r�r�)r�r�r�)r=r�rSrzrRr6r4r�rws  r.�test_extra_argszTestApplication.test_extra_args�sQ���g�g�����J�J�J�K�K�K�������������%�0�0�0�������A�&�&�&������'�6�):�;�;�;��g�g�����P�P�P�Q�Q�Q�������������$�/�/�/�������A�&�&�&������)G�)G�)G�H�H�H��g�g�����_�_�_�`�`�`������)<�)<�)<�=�=�=�=�=r-c�N�t��}|�dg��dS)Nuünîcødé)r=r�rws  r.�test_unicode_argvz!TestApplication.test_unicode_argv�s'���g�g�����
��/�/�/�/�/r-c�J�t��}|���dS�N)r=�document_config_optionsrws  r.�test_document_config_optionz+TestApplication.test_document_config_option�s#���g�g���#�#�%�%�%�%�%r-c�R�t��}d|���vsJ�dS)Nr1)r=�generate_config_filerws  r.�test_generate_config_filez)TestApplication.test_generate_config_file�s.���g�g���3�#;�#;�#=�#=�=�=�=�=�=�=r-c��Gd�dt��}Gd�dtt|��}t��}|j�|��|���}t|��|�d|��|�d|��|�	d|��|�d|��|�d	|��|�d
|��|�d|��|�d|��|�d
|��|�
|�d��d��|�d|��|�	d|��|�
|�d��d��|�	d|��dS)Nc�P�eZdZedd����d���ZdS)�QTestApplication.test_generate_config_file_classes_to_include.<locals>.NotInConfig�xzFFrom hidden class

            Details about from_hidden.
            rTrN)r"r#r$rr%�from_hiddenr,r-r.�NotInConfigr�s@������!�'�������c��c���

�K�Kr-rc��eZdZdS)�NTestApplication.test_generate_config_file_classes_to_include.<locals>.NoTraitsNr�r,r-r.�NoTraitsr�r�r-rr1z# Foo(Configurable)z# Configurablez# NoTraits(Foo, Bar)z# c.NoTraits.iz# c.NoTraits.jz# c.NoTraits.nz#  See also: Foo.jz#  See also: Bar.bzDetails about i.rz# c.NoTraits.from_hiddenz#  See also: NotInConfig.zDetails about from_hidden.)r
rr0r=rU�appendrr�r��assertNotInrz�count)rNrrrq�conf_txts     r.�,test_generate_config_file_classes_to_includez<TestApplication.test_generate_config_file_classes_to_include�s���	�	�	�	�	�)�	�	�	�	�	�	�	�	�s�C��	�	�	��g�g������8�$�$�$��+�+�-�-��
�h�����
�
�&��1�1�1��
�
�+�X�6�6�6����)�8�4�4�4��
�
�,�h�7�7�7�	
�
�
�&��1�1�1��
�
�&��1�1�1��
�
�&��1�1�1��
�
�*�H�5�5�5��
�
�*�H�5�5�5�������(:�;�;�Q�?�?�?�	
�
�
�0�(�;�;�;����4�h�?�?�?�������(D�E�E�q�I�I�I������1�1�1�1�1r-c�T�t��}tj��|_d}t	d��5}tt
||��d��5}|�d��ddd��n#1swxYwYt	d��5}tt
||��d��5}|�d��ddd��n#1swxYwY|�|||g���|�	��|�
|jjd��|�|||g���|�	��|�
|jjd	��ddd��n#1swxYwYddd��dS#1swxYwYdS)
Nr��_1r�zget_config().MyApp.Bar.b = 1�_2zget_config().MyApp.Bar.b = 2r�r�r)
r=r[�	getLoggerrlrr�r��writer�rSrzrRr4)rNrqr(�td1�f1�td2�f2s       r.�test_multi_filezTestApplication.test_multi_file	su���g�g���#�%�%�����
��
%�
%�	/���e�C��&�&��,�,�
9�����7�8�8�8�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�#�D�)�)�
/�S��%��T�*�*�C�0�0�=�B��H�H�;�<�<�<�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=��$�$�T��c�
�$�;�;�;�������� � ����A�.�.�.��$�$�T��c�
�$�;�;�;�������� � ����A�.�.�.�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/s~�F�A9�-F�9A=	�=F�A=	�F�F�2C�F�C�F�C�BF�9F�F		�	F�F		�
F�F!�$F!�
assertLogszrequires TestCase.assertLogs��reasonc���t��}tj��|_|j�tj��d}t
d��5}tt||dz��d��5}|�	d��ddd��n#1swxYwYtt||dz��d��5}tjddd	ii|��ddd��n#1swxYwY|�|jtj
��5}|�||g�
��|���ddd��n#1swxYwYddd��n#1swxYwY|jjd	ksJ�d�|j��}d|vsJ�d
|vsJ�t||dz��|vsJ�t||dz��|vsJ�dS)Nrrz.pyr�zget_config().Bar.b = 1z.jsonr0r4r�r��
�	Collisionz1 ignored, using 2)r=r[rrl�setLevelrhrr�r�r�json�dumpr"�WARNINGr�rSrRr4�join�output�rNrqr(r�r��capturedr-s       r.�test_log_collisionsz#TestApplication.test_log_collisionss����g�g���#�%�%���������&�&�&���
��
%�
%�	���e�B��u��-�-�s�3�3�
2�q����0�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2��e�B��w��/�/��5�5�
0���	�5�3��(�+�Q�/�/�/�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0�
0����
0�
0�
0�
0������'�/�:�:�
�h��$�$�T���$�5�5�5�������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��w�y�A�~�~�~�~����8�?�+�+���f�$�$�$�$�#�v�-�-�-�-��R����&�&�&�0�0�0�0��R����(�(�F�2�2�2�2�2�2s~�"E2�>B �E2� B$	�$E2�'B$	�($E2�C2�&E2�2C6	�6E2�9C6	�:(E2�"-E�E2�E	�E2�"E	�#E2�2E6�9E6c�B�t��}tj��|_d}t	��5}tt
||��d��5}|�d��ddd��n#1swxYwY|�|jtj	��5}|�
||g���ddd��n#1swxYwYddd��n#1swxYwYd�|j��}|�
d|��dS)Nr�r��syntax error()r�r&�SyntaxError)r=r[rrlrr�r�rr"�ERRORr�r,r-r�r.s       r.�test_log_bad_configz#TestApplication.test_log_bad_config/s����g�g���#�%�%�����
�
!�
!�	6�R��e�B��o�o�s�+�+�
*�q����(�)�)�)�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*������'�-�8�8�
6�H��$�$�T���$�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
���8�?�+�+���
�
�m�V�,�,�,�,�,sY�C$�A8�,C$�8A<	�<C$�?A<	�(C$�(C
�C$�
C	�C$�C	�C$�$C(�+C(c���t��}d|_tj��|_d}t��5}t
t||��d��5}|�d��ddd��n#1swxYwY|�	t��5|�||g���ddd��n#1swxYwYddd��dS#1swxYwYdS)NTr�r�r2r�)r=�raise_config_file_errorsr[rrlrr�r�r�assertRaisesr3r�)rNrqr(r�r�s     r.�test_raise_on_bad_configz(TestApplication.test_raise_on_bad_config<s����g�g��'+��$��#�%�%�����
�
!�
!�	6�R��e�B��o�o�s�+�+�
*�q����(�)�)�)�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*��"�"�;�/�/�
6�
6��$�$�T���$�5�5�5�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6sY�C!�A?�3C!�?B	�C!�B	�C!�$C	�=C!�	C
	�
C!�C
	�C!�!C%�(C%c���t���}|�dg��|�|jt
��|�|jj|��t���t
���t���}|�ddg��|�|jt
��|�|jjt��|�|jj|��|�|jjj|j��t���t
���t���}|�ddg��|�|jt
��|�|jjt��|�|jjj��|�|jj|��|�|jjj|j��dS)z/Try all ways to specify how to create sub-apps.�sub1�sub2�sub3N)
�Root�instancer��assertIsInstance�subapp�Sub1�assertIsrK�clear_instance�Sub2�Sub3�
assertTrue�flagrws  r.�test_subcommands_instanciationz.TestApplication.test_subcommands_instanciationGs����m�m�o�o������x�(�(�(����c�j�$�/�/�/��
�
�c�j�'��-�-�-��������������m�m�o�o�������/�0�0�0����c�j�$�/�/�/����c�j�/��6�6�6��
�
�c�j�'��-�-�-��
�
�c�j�'�.��
�;�;�;��������������m�m�o�o�������/�0�0�0����c�j�$�/�/�/����c�j�/��6�6�6�����
�)�.�/�/�/��
�
�c�j�'��-�-�-��
�
�c�j�'�.��
�;�;�;�;�;r-c�@�t��}tj��|_d}t	d��5}t||��}t
|d��5}|�dg��ddd��n#1swxYwY|�||g���|�	t|j��d��|�	|jd|��|���|�	|j
d��t
|d��5}|�d	g��ddd��n#1swxYwY|�||g���|�	t|j��d��|�	|j
d
��|�t��5d|_ddd��n#1swxYwY|j�d��|�	t|j��d��|�||g���|�	t|j��d��|�	|j
d
��ddd��dS#1swxYwYdS)
Nr�rr�zc.MyApp.running = True
r�rrTzc.MyApp.running = False
Fz/fooz/bar)r=r[rrlrr�r�r�r�rz�len�loaded_config_files�startrTr8�AttributeErrorr)rNrqr(rrVr�s      r.�test_loaded_config_filesz(TestApplication.test_loaded_config_filesgsk���g�g���#�%�%�����
��
%�
%� 	1����T�*�*�K��k�3�'�'�
;�1����8�9�:�:�:�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;�
� � ��S�E� �2�2�2����S��!8�9�9�1�=�=�=����S�4�Q�7��E�E�E��I�I�K�K�K����S�[�$�/�/�/��k�3�'�'�
<�1����9�:�;�;�;�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<����
<�
<�
<�
<�
� � ��S�E� �2�2�2����S��!8�9�9�1�=�=�=����S�[�%�0�0�0��"�"�>�2�2�
1�
1�*0��'�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1�
�#�*�*�6�2�2�2����S��!8�9�9�1�=�=�=�
� � ��S�E� �2�2�2����S��!8�9�9�1�=�=�=����S�[�%�0�0�0�A 	1� 	1� 	1� 	1� 	1� 	1� 	1� 	1� 	1� 	1� 	1� 	1���� 	1� 	1� 	1� 	1� 	1� 	1s��!J�A<�0J�<B	�J�B	�B#J�'E
�>J�
E	�J�E	�A8J�
G�J�G"	�"J�%G"	�&B J�J�JN)&r"r#r$rsrxr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	rr!r�skipif�hasattrrr0r5r9rIrOr,r-r.rdrdvsP������	,�	,�	,�#�#�#�.�.�.�'
�'
�'
�R5�5�5�"%�%�%�$/�/�/�(1�1�1�&�&�&�6"&�"&�"&�H���0�0�0�*	D�	D�	D�(�(�(�,%�%�%�$
;�
;�
;�
(�
(�
(�
6�
6�
6�
G�
G�
G�
A�
A�
A�>�>�>�(0�0�0�&�&�&�>�>�>�#2�#2�#2�J/�/�/�"�T�[�W�W�X�|�4�4�4�=[�\�\�\�3�3�]�\�3�(�T�[�W�W�X�|�4�4�4�=[�\�\�\�
-�
-�]�\�
-�	6�	6�	6�<�<�<�@$1�$1�$1�$1�$1r-rdc��Gd�dt��}|tj�����}tjt
��5|�gd���ddd��n#1swxYwY|�d��d}|j}d|vsJ�d|vsJ�d	|vsJ�|j	tj
ksJ�dS)
Nc�.�eZdZddiZed���ZdS)�"test_cli_multi_scalar.<locals>.Appr�r�TrNr�r,r-r.r�rT�s*�������)�$���g�T�"�"�"���r-r�)rl)�--optrurUr��call���zError loading argumentzApp.opt=['1', '2']zopt only accepts one value)rr[r�pytest�raises�
SystemExitr��get_records�message�levelnor\)�caplogr�rq�recordr\s     r.�test_cli_multi_scalarr`�s7��#�#�#�#�#�k�#�#�#��#�'�#�%�%�
&�
&�
&�C�	��z�	"�	"�=�=����;�;�;�<�<�<�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=�
�
�
��
'�
'��
+�F��n�G�#�w�.�.�.�.��7�*�*�*�*�'�7�2�2�2�2��>�W�-�-�-�-�-�-�-s�
A.�.A2�5A2c��eZdZddiZdS)r>r;)z,traitlets.config.tests.test_application.Sub1z
import stringN)r"r#r$�subcommandsr,r-r.r>r>�s�������Q��K�K�Kr-r>c�$�eZdZed��ZdS)rFFN)r"r#r$rrHr,r-r.rFrF�s�������4��;�;�D�D�Dr-rFc��eZdZdS)rENr�r,r-r.rErE�s�������Dr-rEc�"�eZdZedfd�dfd�ZdS)rBzApplication classc�$�t|d���S)NT)rKrH)rF)�roots r.�<lambda>z
Sub1.<lambda>�s��d�$�T�:�:�:�r-�factory)r<r=N)r"r#r$rErbr,r-r.rBrB�s.�������*�+�:�:�I�F���K�K�Kr-rBc�&��eZdZdZdZ�fd�Z�xZS)�
DeprecatedAppFc�����d�_�fd�}tj��jd|��5t���|||��ddd��dS#1swxYwYdS)NTc���d�_dS)NT)�
parent_called)r�rNs �r.�_capturez/DeprecatedApp._config_changed.<locals>._capture�s���!%�D���r-�debug)�override_calledr�patch�objectrl�super�_config_changed)rNr(�old�newro�	__class__s`    �r.ruzDeprecatedApp._config_changed�s�����#���	&�	&�	&�	&�	&��Z�
�
�t�x��(�
;�
;�	4�	4��G�G�#�#�D�#�s�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�$A&�&A*�-A*)r"r#r$rqrnru�
__classcell__)rxs@r.rkrk�sB��������O��M�4�4�4�4�4�4�4�4�4r-rkc��t��}|jrJ�|jrJ�tdddii��|_|jsJ�|jsJ�dS)N�Ar4r�)rkrqrnrr)rqs r.�test_deprecated_notifierr|�se��
�/�/�C��"�"�"�"�� � � � ���s�C�j�)�*�*�C�J������������r-c�.�tt��dSr)rr"r,r-r.�test_help_outputr~�s���h�����r-c�.�tt��dSr)rr"r,r-r.�test_help_all_outputr��s���(�#�#�#�#�#r-c�n�ttjdtdg��\}}}|dksJ�d|vsJ�dS)N�-mz
--show-configr�show_config�r�sys�
executabler"��out�err�ecs   r.�test_show_config_clir��sD��(�#�.�$��/�)Z�[�[�L�C��b�
��7�7�7�7���#�#�#�#�#�#r-c�n�ttjdtdg��\}}}|dksJ�d|vsJ�dS)Nr�z--show-config-jsonrr�r�r�s   r.�test_show_config_json_clir��sE��(�#�.�$��J^�)_�`�`�L�C��b�
��7�7�7�7���#�#�#�#�#�#r-c���t��}d|j_|jt|d���}|���|���\}}d|vsJ�d|vsJ�d|vsJ�dS)Nr�T)rr�r=zi = 5�OtherApp)rr=r&r�rM�
readouterr)�capsysr�rqr�r�s     r.�test_show_configr��s���
�(�(�C��C�I�K��L�L�
�s��
-�
-�
-�C��I�I�K�K�K�� � �"�"�H�C���c�>�>�>�>��c�>�>�>�>��S� � � � � � r-c��t��}d|j_|jt|d���}|���|���\}}t
j|��}t|��|ksJ�dS)Nr�T)r�show_config_json)rr=r&r�rMr�r)�loads)r�r�rqr�r��	displayeds      r.�test_show_config_jsonr��s{��
�(�(�C��C�I�K��L�L�
�s�T�
2�
2�
2�C��I�I�K�K�K�� � �"�"�H�C���
�3���I��)����#�#�#�#�#�#r-c�`����ddlm�ddlm}m}G�fd�d|���G�fd�d|���G��fd�d	|��}|��}|�d
g��|jjjdksJ�tt|�������dksJ�dS)Nr��Int)rrc�P��eZdZ�d����d���ZdS)�test_deep_alias.<locals>.Foor�)�
default_valueTrN)r"r#r$r%�valr�s�r.rr��s2��������c��"�"�"�&�&�d�&�3�3���r-rc�"���eZdZ��fd�Z�xZS)�test_deep_alias.<locals>.Barc�\��t��j|i|���|���|_dSrJ)rt�__init__rL)rNr��kwargsrrxs   ��r.r�z%test_deep_alias.<locals>.Bar.__init__s7����E�G�G��d�-�f�-�-�-��s�$�'�'�'�D�H�H�Hr-)r"r#r$r�ry)rxrs@�r.r0r�s>��������	(�	(�	(�	(�	(�	(�	(�	(�	(�	(r-r0c�6���eZdZdZddiZ��gZ��fd�Z�xZS)� test_deep_alias.<locals>.TestApp�testr�zBar.Foo.valc�\��t��j|i|���|���|_dSrJ)rtrvrR)rNr�r�r0rxs   ��r.rvz+test_deep_alias.<locals>.TestApp.initializes7����E�G�G���/��/�/�/��s�$�'�'�'�D�H�H�Hr-)r"r#r$r(rXrUrvry)rxr0rs@��r.r�r�sV�����������-�(����*��	(�	(�	(�	(�	(�	(�	(�	(�	(�	(r-r�z--val=10r�)�	traitletsr��traitlets.configrrrvrRrLr�rK�list�emit_alias_help)rrr�rqr0rr�s    @@@r.�test_deep_aliasr��s;�����������:�:�:�:�:�:�:�:�4�4�4�4�4�4�4�l�4�4�4�(�(�(�(�(�(�(�l�(�(�(�
(�(�(�(�(�(�(�(�+�(�(�(��'�)�)�C��N�N�J�<� � � ��7�;�?�b� � � � ��t�C�'�'�)�)�*�*�+�+�a�/�/�/�/�/�/r-c	���|dz}tddddt|��d�iddddgd	�id
����}t|jj��dksJ�|j�d
��|j�d��t|��5}|���dksJ�	ddd��n#1swxYwY|�	��j
dksJ�dS)z7We should be able to configure additional log handlers.�log_filer�filezlogging.FileHandler�DEBUG)�class�level�filenamer�console)r�rm)�versionrm�loggers)�logging_configr�rn�warnz
info
warn
Nz[Application] WARNING | warn
)r�strrKrlrmrn�warningr��readr�r�)�tmp_pathr�r�rq�
log_handles     r.�test_logging_configr�s^���*�$�H�
���2�$� #�H�
�
�����$�!*�F� 3� � ��
�
����C�&�s�w�� � �A�%�%�%�%��G�L�L������G�O�O�F����
�h���3�:���� � �N�2�2�2�2�2�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3������"�&F�F�F�F�F�F�Fs�B>�>C�Cc��|�dd��t�����}d|vsJ�d|vsJ�|�dd��t�����}d|vsJ�d|vsJ�dS)z7Ensure logging is correctly disabled for pythonw usage.z'traitlets.config.application.IS_PYTHONWTrmr�FN)�setattrr�get_default_logging_config)�monkeypatchrs  r.�'test_get_default_logging_config_pythonwr�9s������A�4�H�H�H�
�]�]�
5�
5�
7�
7�F��V�#�#�#�#��F�"�"�"�"����A�5�I�I�I�
�]�]�
5�
5�
7�
7�F��������������r-c�B��g��fd�}|�d|���S)z�Capture logging config events for DictConfigurator objects.

    This suppresses the event (so the configuration doesn't happen).

    Returns a list of (args, kwargs).
    c�6����||f��dSr)r)r�r��callss  �r.�
_configurez caplogconfig.<locals>._configurePs���
���d�F�^�$�$�$�$�$r-z)logging.config.DictConfigurator.configure)r�)r�r�r�s  @r.�caplogconfigr�FsJ���
�E�%�%�%�%�%����3�����
�Lr-�pypyzTest does not work on pypyr#c���t��}~t|��dksJ�|���\}}d|vsJ�t��}d|_~t|��dksJ�dS)z�Ensure we don't try to open logs in order to close them (See #722).

    If you try to configure logging handlers whilst Python is shutting down
    you may get traceback.
    r�	TracebackTrN)rrKr��_logging_configured)r�r�rqr�r�s     r.�test_logging_teardown_on_errorr�\s����-�-�C���|����!�!�!�!�� � �"�"�H�C���c�!�!�!�!��-�-�C�"�C����|����!�!�!�!�!�!r-�__main__)D�__doc__r�r�r)r[�osr�r�tempfiler�unittestrrXrr�rrr	r
rrr
rr�traitlets.config.applicationr�traitlets.config.configurabler�traitlets.config.loaderr�traitlets.tests.utilsrrrr�ImportErrorr�r,r�rr0r=rbrdr`r>rFrErBrkr|r~r�r�r�r�r�r�r�r��fixturer�rP�implementationr(r�r"�launch_instancer,r-r.�<module>r�si��������	�	�	�	���������	�	�	�	�
�
�
�
�������'�'�'�'�'�'�������
�
�
�
�������V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�V�4�4�4�4�4�4�6�6�6�6�6�6�*�*�*�*�*�*������������������������������������	����6�6�6�6�6�,�6�6�6�"T�T�T�T�T�,�T�T�T�,$�,$�,$�,$�,$�K�,$�,$�,$�^1�1�1�U1�U1�U1�U1�U1�h�U1�U1�U1�p.�.�.�"�����;���������;����	�	�	�	�	�;�	�	�	������;����4�4�4�4�4�K�4�4�4���� � � �$�$�$�$�$�$�$�$�$�!�!�!�	$�	$�	$�0�0�0�8!G�!G�!G�H
�
�
��������*����C�&�+�v�5�>Z��[�[�"�"�\�[�"�,�z���	���������s�*A1�1A?�>A?

Youez - 2016 - github.com/yon3zu
LinuXploit