403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Python315/Lib/test/__pycache__/test_shlex.cpython-315.opt-1.pyc
R
>lqj�Vc�`�]PHs]PHs]PHs]PHs]PHs]PHs]PHs]QHGs]QH$G
s
]QH$GsQsQs
QQ\O2s\\QP2%f<\\2FD.s\O'Q	2%fJ\Q
6wfJ%\\\2J0	\Q6Xc\O,2P!P!)�)�patch)�cpython_only)�
import_helperu�x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|\|x|bar|
\ x bar|\|x|bar|
\ bar|\|bar|
foo \x bar|foo|\|x|bar|
foo \ x bar|foo|\|x|bar|
foo \ bar|foo|\|bar|
foo "bar" bla|foo|"bar"|bla|
"foo" "bar" "bla"|"foo"|"bar"|"bla"|
"foo" bar "bla"|"foo"|bar|"bla"|
"foo" bar bla|"foo"|bar|bla|
foo 'bar' bla|foo|'bar'|bla|
'foo' 'bar' 'bla'|'foo'|'bar'|'bla'|
'foo' bar 'bla'|'foo'|bar|'bla'|
'foo' bar bla|'foo'|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foo"bar"bar"fasel"|baz|
blurb foo'bar'bar'fasel' baz|blurb|foo'bar'bar'fasel'|baz|
""|""|
''|''|
foo "" bar|foo|""|bar|
foo '' bar|foo|''|bar|
foo "" "" "" bar|foo|""|""|""|bar|
foo '' '' '' bar|foo|''|''|''|bar|
\""|\|""|
"\"|"\"|
"foo\ bar"|"foo\ bar"|
"foo\\ bar"|"foo\\ bar"|
"foo\\ bar\"|"foo\\ bar\"|
"foo\\" bar\""|"foo\\"|bar|\|""|
"foo\\ bar\" dfadf"|"foo\\ bar\"|dfadf"|
"foo\\\ bar\" dfadf"|"foo\\\ bar\"|dfadf"|
"foo\\\x bar\" dfadf"|"foo\\\x bar\"|dfadf"|
"foo\x bar\" dfadf"|"foo\x bar\"|dfadf"|
\''|\|''|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
"foo\\\x bar\" df'a\ 'df'|"foo\\\x bar\"|df'a|\|'df'|
\"foo"|\|"foo"|
\"foo"\x|\|"foo"|\|x|
"foo\x"|"foo\x"|
"foo\ "|"foo\ "|
foo\ xx|foo|\|xx|
foo\ x\x|foo|\|x|\|x|
foo\ x\x\""|foo|\|x|\|x|\|""|
"foo\ x\x"|"foo\ x\x"|
"foo\ x\x\\"|"foo\ x\x\\"|
"foo\ x\x\\""foobar"|"foo\ x\x\\"|"foobar"|
"foo\ x\x\\"\''"foobar"|"foo\ x\x\\"|\|''|"foobar"|
"foo\ x\x\\"\'"fo'obar"|"foo\ x\x\\"|\|'"fo'|obar"|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|"foo\ x\x\\"|\|'"fo'|obar"|'don'|\|''|t'|
'foo\ bar'|'foo\ bar'|
'foo\\ bar'|'foo\\ bar'|
foo\ bar|foo|\|bar|
foo#bar\nbaz|foobaz|
:-) ;-)|:|-|)|;|-|)|
áéíóú|á|é|í|ó|ú|
u1x|x|
foo bar|foo|bar|
 foo bar|foo|bar|
 foo bar |foo|bar|
foo   bar    bla     fasel|foo|bar|bla|fasel|
x y  z              xxxx|x|y|z|xxxx|
\x bar|x|bar|
\ x bar| x|bar|
\ bar| bar|
foo \x bar|foo|x|bar|
foo \ x bar|foo| x|bar|
foo \ bar|foo| bar|
foo "bar" bla|foo|bar|bla|
"foo" "bar" "bla"|foo|bar|bla|
"foo" bar "bla"|foo|bar|bla|
"foo" bar bla|foo|bar|bla|
foo 'bar' bla|foo|bar|bla|
'foo' 'bar' 'bla'|foo|bar|bla|
'foo' bar 'bla'|foo|bar|bla|
'foo' bar bla|foo|bar|bla|
blurb foo"bar"bar"fasel" baz|blurb|foobarbarfasel|baz|
blurb foo'bar'bar'fasel' baz|blurb|foobarbarfasel|baz|
""||
''||
foo "" bar|foo||bar|
foo '' bar|foo||bar|
foo "" "" "" bar|foo||||bar|
foo '' '' '' bar|foo||||bar|
\"|"|
"\""|"|
"foo\ bar"|foo\ bar|
"foo\\ bar"|foo\ bar|
"foo\\ bar\""|foo\ bar"|
"foo\\" bar\"|foo\|bar"|
"foo\\ bar\" dfadf"|foo\ bar" dfadf|
"foo\\\ bar\" dfadf"|foo\\ bar" dfadf|
"foo\\\x bar\" dfadf"|foo\\x bar" dfadf|
"foo\x bar\" dfadf"|foo\x bar" dfadf|
\'|'|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
"foo\\\x bar\" df'a\ 'df"|foo\\x bar" df'a\ 'df|
\"foo|"foo|
\"foo\x|"foox|
"foo\x"|foo\x|
"foo\ "|foo\ |
foo\ xx|foo xx|
foo\ x\x|foo xx|
foo\ x\x\"|foo xx"|
"foo\ x\x"|foo\ x\x|
"foo\ x\x\\"|foo\ x\x\|
"foo\ x\x\\""foobar"|foo\ x\x\foobar|
"foo\ x\x\\"\'"foobar"|foo\ x\x\'foobar|
"foo\ x\x\\"\'"fo'obar"|foo\ x\x\'fo'obar|
"foo\ x\x\\"\'"fo'obar" 'don'\''t'|foo\ x\x\'fo'obar|don't|
"foo\ x\x\\"\'"fo'obar" 'don'\''t' \\|foo\ x\x\'fo'obar|don't|\|
'foo\ bar'|foo\ bar|
'foo\\ bar'|foo\\ bar|
foo\ bar|foo bar|
foo#bar\nbaz|foo|baz|
:-) ;-)|:-)|;-)|
áéíóú|áéíóú|
c�L`�\sQs]�snQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsQsQsQsQsQsQsQsQsQsQsQsQsQs Qs!Qs"Q s#Q!s$Q"s%Q#s&Q$s'Q%s(Q&s)Q's*Q(s+Q)s,Q*s-Q+s.Q,s/Q-s0Q.s1Q/s2\3Q02s4Q1s5Us6P!)2�	ShlexTestc���[O2Tt,tFDoUOQ2PPMJ	toUm[O2Tt,tFDoUOQ2PPMJ	toUmUOFDoU]*O	QQ2U]$J!	UOFDoU]*O	QQ2U]$J!	P!ttohttoh)�|z\n�
)�data�
splitlines�split�
posix_data�replace)�self�x�items&  �$C:\Python315\\Lib\test\test_shlex.py�setUp�ShlexTest.setUp�s���"�o�o�/�1�/���W�W�S�\�#�2�&�/�1��	�%/�$9�$9�$;�=�$;�q��7�7�3�<���,�$;�=����I�I�D��1�g�o�o�e�T�2�D��G���O�O�D��1�g�o�o�e�T�2�D��G�$��
1��=s�C�C!c��[[U22FDmo[OV*]*UQ5oUO	VAU*Q*V*]*8QU8QV*Q*802Jo	P!)r��comments��NN�: � != )�range�len�shlexr�assertEqual)rr
r�i�ls&&&  r�	splitTest�ShlexTest.splitTest�s]���s�4�y�!�A����D�G�A�J��:�A����Q�Q����"�g�a�j�j�!�T�W�R�[�:�
;�"�c���,o[O[OU22oUO2oU%c$UO	U2UO2oJ+U!�N)r�io�StringIO�	get_token�append)r�s�ret�lex�toks&&   r�oldSplit�ShlexTest.oldSplit�sF�����k�k�"�+�+�a�.�)���m�m�o����J�J�s�O��-�-�/�C��
r$c��UO[29^tt^2[OP2PPP2P!)%fhP!9hr&)�assertRaises�
ValueErrorrr�rs&r�
testSplitNone�ShlexTest.testSplitNone�s.��
�
�
�z�
*�
*��K�K���+�
*�
*�
*�s�A�A	�	A	c�B�UOUOP	Q5P!)z%Test data splitting with posix parserr)r"r
r4s&r�testSplitPosix�ShlexTest.testSplitPosix�s�����t�����6r$c�p�[[UO22FD�oUOUOU*]*2oUO	V OU*Q*UOU*]*8QU8QUOU*Q*802J�	P!)zTest compatibility interfacerrr)rrr
r/r)rr r!s&  r�
testCompat�ShlexTest.testCompat�sy���s�4�9�9�~�&�A��
�
�d�i�i��l�1�o�.�A����Q�	�	�!��R� 0�"�i�i��l�1�o�o�q�$�)�)�A�,�r�2B�D�
E�'r$c
��Q
FD�oQU*QU*,oQQUQQ,o[OUQ2FDIvqE[OUP	Q5oVVm[	U2oUOV7QU8QU8Q	02JK	J�	P!)z)Test handling of syntax splitting of &, |�echo hi %s echo bye�echo hi%secho bye�echo�hi�bye��punctuation_chars�While splitting '�' [ws=�])
�&&�&z|&�;&�;;&�||rz&|z;|z;;|�FT��	itertools�productr�whitespace_split�listr�r�	delimiter�src�ref�ss�wsr+�results&       r�testSyntaxSplitAmpersandAndPipe�)ShlexTest.testSyntaxSplitAmpersandAndPipe�s���
8�I�(�9�4�&��2�4�C��4��F�E�:�C�#�+�+�C��?����K�K��d�;��%'�"��a���� � ��f�CE�r�!J�L�	@�8r$c
�(�QFD�oQU*QU*QU*,oQQUQQ,o[OUQ2FDIvqE[OUP	Q5oVVm[	U2oUOV7QU8Q	U8Q
02JK	J�	P!)
z&Test handling of syntax splitting of ;r>zecho hi%s echo byer?r@rArBrCrErFrG)�;z;;rJrKrMrNrSs&       r�testSyntaxSplitSemicolon�"ShlexTest.testSyntaxSplitSemicolon�s���2�I�(�9�4�'�)�3�&��2�4�C��4��F�E�:�C�#�+�+�C��?����K�K��d�;��%'�"��a���� � ��f�CE�r�!J�L�	@�2r$c
��QFD�oQU*QU*QU*,oQQUQ,o[OUQ2FDCvqE[OUP	Q5o[U2oUO	V7QU8Q	U8Q
02JE	J�	P!)
z&Test handling of syntax splitting of >zecho hi %s outz
echo hi%s outzecho hi%soutr@rA�outrCrErFrG)�<rrM)rOrPrrRrrSs&       r�testSyntaxSplitRedirect�!ShlexTest.testSyntaxSplitRedirect�s���$�I�#�i�/�"�Y�.�!�I�-�/�C��4��E�2�C�#�+�+�C��?����K�K��d�;���a���� � ��f�CE�r�!J�L�@�$r$c���QQ,o,QNo[OUQ2FDIvq4[OUP	Q5oVEm[	U2oUOV&QU8QU8Q02JK	P!)	z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi)rCrErFrG)�(r@rA�)rMrN)rrUrVrWrXr+rYs&      r�testSyntaxSplitParen�ShlexTest.testSyntaxSplitParen�si������&���'�'��]�;�F�B����B�$�7�A�!#���!�W�F����S�&�?A�2�F�
H�	<r$c��Qo,QNo[OUQQ5o[U2oUOV$QU*2,QNo[OUQQ5oP	Um[U2oUOV$QU*2P!)z3Test handling of syntax splitting with custom charsz~/a&&b-c --color=auto||d *.py?rrCzWhile splitting '%s' [ws=False]zWhile splitting '%s' [ws=True])z~/arIrIzb-c�--color=autorL�d�*.py?)z~/a&&b-crkrLrlrm)rrRrrQ)rrWrVr+rYs&    r�testSyntaxSplitCustom�ShlexTest.testSyntaxSplitCustom�sw��
-��J���K�K��c�2���a�������&G�"�&L�M�>���K�K��c�2��!����a�������&F��&K�Lr$c�&�Q,QN11FD�vq[OUP	Q5o,oUO2oVSO6XcL1U]*UO7cQoLQoUO	VV12JSUOVB2J�	P!)z2Test that tokens are split with types as expected.za && b || c�a�crC))rqrq)rHrr)�brq)rLrr)rrrq)rr)�eofrDr*r)r�source�expectedr+�observed�t�tts&      r�testTokenTypes�ShlexTest.testTokenTypess���"/�";�!<�! ��F�
���F�d�;�A��H���K�K�M�����:���Q�4�1�.�.�.��B��B������(����X�0�!! r$c��[OQQQ5oUOQUO2UO[	U2,QN2P!)z:Test that any punctuation chars are removed from wordchars�a_b__c�_rC)rqr~rs�__rr)r�assertNotIn�	wordcharsrrR�rr+s& r�testPunctuationInWordChars�$ShlexTest.testPunctuationInWordCharss;���K�K��C�8������a�k�k�*�����a��"<�=r$c���[OQQQ5oUO[U2,QN2[OQQQ5oP	UmUO[U2,QN2P!)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  crIrC)rqrHrsrrrr)rqrHrsrLrr)rrrRrQr�s& r�"testPunctuationWithWhitespaceSplit�,ShlexTest.testPunctuationWithWhitespaceSplitsZ���K�K�(�C�@��	
����a��"A�B��K�K�(�C�@��!���	
����a��"=�>r$c���[OQP	P	Q5oUO[U2,QN2[OQP	P	Q5oUO[U2,QN2P!)z@Test that punctuation_chars and posix behave correctly together.zf >"abc"��posixrDz
f >\"abc\")�f�>�abc)r�r�z"abc")rrrRr�s& r�testPunctuationWithPosix�"ShlexTest.testPunctuationWithPosix)sR��
�K�K�
�$�$�G������a��"3�4��K�K��d�d�K������a��"5�6r$c��,QNoQFD8o[OQP	UQ5o[U2oUOVA2J:	,QNo[OQP	Q5oUO[U2U2P!)z8Test that parsing of empty strings is correctly handled.z'')abcr�rC)�rgr�rM)�''rgr�)rrRr)rrv�punctr+�slists&    r�testEmptyStringHandling�!ShlexTest.testEmptyStringHandling1sg��$��"�E����H�D�E�J�A���G�E����U�-�#�&���K�K��D�9������a��(�+r$c���QoQ,o[OUP	Q5oP	UmUO[U2U2,QNo[OUP	Q5oUO[U2U2P!)z;Test punctuation_chars and whitespace_split handle unicode.uℙƴ☂ℌøἤrC)uℙuƴu☂uℌ�øuἤ)rrQrrR)rrWrVr+s&   r�testUnicodeHandling�ShlexTest.testUnicodeHandling=sd��
3��5�6���K�K��d�3��!�������a��#�&�J���K�K��d�3������a��#�&r$c�2�[O[O*Q*oQoQU*oUO[O
P2Q2UO[O
P2Q2UO[O
U2U2UO[O
Q2Q2SFD7oUO[O
QU*2QU*2J9	SFD7oUO[O
QU*2Q	U*2J9	UO
[[O
]*2UO
[[O
Q
2P!)z
@%_-+=:,./uéàßz"`$\!r�ztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"''sabc)�string�
ascii_letters�digitsrr�quoter2�	TypeError)r�safeunquoted�unicode_sample�unsafe�us&    r�	testQuote�ShlexTest.testQuoteJs���+�+�f�m�m�;�l�J��'���N�*��������R��$�/�������T�*�D�1�������\�2�L�A�������%5�6�8J�K��A����U�[�[���)9�:�+�a�/�
1���A����U�[�[��!�);�<�9�A�=�
?��	
���)�U�[�[�"�5����)�U�[�[�&�9r$c	��QQ,Q1QQ,Q1,QNQ1QQ,Q	11FDOvqUOUQ
59^tt^2[OU2oUOV22PPP2JQ	P!)%fhJf9h)za rsz'a ' brqz bza ' b'za ' ' bz"azb"z	'"a' 'b"'��command)rq� rs)�subTestr�joinr)r�
split_commandr��joineds&   r�testJoin�ShlexTest.testJoin\s����C�[�(�#��4�[�(�#�
�i�(��D�\�?�+�	'
�"�M����g��.�.����M�2��� � ��1�/�.�
'
�/�.�.�s�(A.	�.A?
�7A?
c	�@�UOUO*oSFDduq#UOUQ59^tt^2[OU2o[O
U2oUO
V52PPP2Jf	P!)%fhJ{9h)r�)r
r
r�rr�rr)r�all_datar�r�r��resplits&     r�testJoinRoundtrip�ShlexTest.testJoinRoundtripgsn���9�9�t���.��'/�#�G����g��.�.����M�2���+�+�f�-��� � ��8�/�.�(0�.�.�.�s�>B	�B
�B
c���Qo[OUQ5oUOUOU2UO[29^tt^2P
UmPPP2P!)%fhP!9h)z/|$%^rC)rrrDr2�AttributeError)rrD�shlex_instances&  r�testPunctuationCharsReadOnly�&ShlexTest.testPunctuationCharsReadOnlyosV��#�����7H�I������9�9�;L�M�
�
�
�~�
.�
.�/4�N�,�/�
.�
.�
.�s�A&�&A7	�/A7	c��[OQ2oUOUO]2[U2UOUO]2P!)�
line 1
line 2)rr�linenorRr�s& r�testLinenoAfterNewLine� ShlexTest.testLinenoAfterNewLinevs@���K�K�(�)��������1�%��Q��������1�%r$c��[OQ2o[U2UOUO]2P!)zBComment handler increments lineno even without a trailing newline.zline 1 # line 2)rrRrr�r�s& r�testLinenoAfterComment� ShlexTest.testLinenoAfterComment|s,���K�K�)�*���Q��������1�%r$c��[OQ2oUOQ2UO[U2,QN2P!)zb crq)rqrsrr�r�
push_token�assertListEqualrRr�s& r�
testPushToken�ShlexTest.testPushToken�s0���K�K����	���S�����T�!�W�o�6r$c��[OP2oUOQ2UOQ2UO[U2QQ,2P!)r��first�lastr�r�s& r�testPushTokenLifo�ShlexTest.testPushTokenLifo�s@���K�K��O��	���W��	���V�����T�!�W�v�w�&7�8r$c���[OP2o]UmQo[Q29^tt^2oUOU2PPP2WO	QU802P!)%fhK'9h)r�rq�builtins.printzshlex: pushing token )r�debugrr��assert_called_once_with)rr+r.�
mock_prints&   r�testPushTokenDebug�ShlexTest.testPushTokenDebug�sY���K�K��O�������
�#�
$�
$�
�
�L�L���%��*�*�-B�3�'�+J�K�%�
$�s�A%�%A5	�.A5	c��[OQ2oUOQ2UO[U2QQ,2P!��world�hello)r�push_sourcer�rRr�s& r�testPushSourceString�ShlexTest.testPushSourceString�s5���K�K�� ��	�
�
�g�����T�!�W�w��&8�9r$c��[OQ2oUO[OQ22UO	[U2QQ,2P!r�)rr�r'r(r�rRr�s& r�testPushSourceStream�ShlexTest.testPushSourceStream�s>���K�K�� ��	�
�
�b�k�k�'�*�+����T�!�W�w��&8�9r$c��[OP2o[OQ2o]Um[	Q29^tt^2oUOU2PPP2WO
QU02P!)%fhK&9h)r�r�r�zshlex: pushing to stream )rr'r(r�rr�r�)rr+�streamr�s&   r�testPushSourceStreamDebug�#ShlexTest.testPushSourceStreamDebug�sb���K�K��O�����W�%�����
�#�
$�
$�
�
�M�M�&�!�%��*�*�-F�v�h�+O�P�%�
$�s�A8�8B	�B	c��QoQo[OQUQ5o]Um[Q29^tt^2oUOQUQ5PPP2WO	QU02UOUOU2]Um[U2UOUOU2P!)%fhKp9h)	zYshlex.push_source sets infile to newfile; pop_source restores the original on exhaustion.�original.shznew.shrs��infiler�rq)�newfilezshlex: pushing to file )rr�rr�r�rr�rR)r�
original_file�new_filer+r�s&    r�testPushSourceNewfile�ShlexTest.testPushSourceNewfile�s���%�
����K�K��M�2�����
�#�
$�
$�
�
�M�M�#�x�M�0�%��*�*�-D�X�J�+O�P�������8�,�����Q��������=�1�
%�
$�s�B4�4C	�=C	c��[OQ2oUOoUOQ2]Um[	Q29^tt^2o[U2PPP2WO
QUQ02P!)%fhK'9h)z0pop_source emits debug output when debug is set.rsrqr�zshlex: popping to z, line 1)r�instreamr�r�rrR�assert_any_call)rr+�original_streamr�s&   r�testPopSourceDebug�ShlexTest.testPopSourceDebug�sh���K�K�����*�*��	�
�
�c�����
�#�
$�
$�
���G�%��"�"�%7��7H��#Q�R�%�
$�s�A:�:B
	�B
	c��Qo[OQUQ5o[U2UO2oUOUQUQ02P!)ztest.shr�r��"z", line 2: )rrR�error_leaderr)r�infile_labelr+rYs&   r�testErrorLeaderTracksPosition�'ShlexTest.testErrorLeaderTracksPosition�sD�� ���K�K�(��>���Q�����!������1�\�N�+�!>�?r$c��[OQQQ5oQo]*oUOV#Q5oUOUQUQUQ02P!)�foor�r�zoverride.sh)r�r�r�z", line r)rr�r)rr+�infile_label_override�lineno_overriderYs&    r�testErrorLeaderOverrides�"ShlexTest.testErrorLeaderOverrides�sQ���K�K��m�4�� -�������'<��U������1�%:�$;�8�O�CT�TV�!W�Xr$c��[OQ2oUO[Q29^tt^2[U2PPP2P!)%fhP!9h)z"foozNo closing quotation�r�assertRaisesRegexr3rRr�s& r�testNoClosingQuotation� ShlexTest.testNoClosingQuotation�s;���K�K����
�
#�
#�J�0F�
G�
G���G�H�
G�
G�
G�s�A�A	�A	c���[OQP	Q5oUO[Q29^tt^2[U2PPP2P!)%fhP!9h)�\�r�zNo escaped characterr�r�s& r�testNoEscapedCharacter� ShlexTest.testNoEscapedCharacter�s=���K�K��D�)��
�
#�
#�J�0F�
G�
G���G�H�
G�
G�
G�s�A�A	�A	c��[OQQP
Q59^tt^2oUOQ2UO2[OP2oUOQUOQ02vq4UO2PPP2UOWWO2P!)%fhK.9h)�wz.sh)�mode�suffix�delete_on_closer�r�)�tempfile�NamedTemporaryFile�write�closer�
sourcehook�namer�rr�r+r�r�s&    r�testSourcehookStripsQuotes�$ShlexTest.testSourcehookStripsQuotes�s���
�
(�
(�c�%�QV�
W�
W�[\�
�G�G�G��
�G�G�I����B��A��l�l�Q�q�v�v�h�a�=�9�O�G��L�L�N�X�	
����!�&�&�)�
X�
W�s�A)B2�2C	�;C	c�b�[OQP
Q59^tt^2oUO2[OPQQ5oUO	UO
2vq4UO2PPP2UO
WWO
2P!)%fhK.9h)r	)r
rz/some/dir/main.shr�)r
rrrrrrrs&    r�testSourcehookAbsolutePath�$ShlexTest.testSourcehookAbsolutePath�st��
�
(�
(�c�5�
I�
I�Q�
�G�G�I����B�':�;�A��l�l�1�6�6�2�O�G��L�L�N�	J�
	
����!�&�&�)�J�
I�s�AB�B.	�'B.	c	���[O29^tt^2o[OO	UQ2o[UQ29^tt^2PPP2[OP[OO	UQ2Q5oUOQ2vqEUO2UOVB2PPP2P!)%fhK�9h)%fhP!9h)zincluded.shr	zmain.shr�)
r
�TemporaryDirectory�os�pathr��openrrrr)rrl�fpathr+r�r�s&     r�testSourcehookRelativePath�$ShlexTest.testSourcehookRelativePath�s���
�
(�
(�
*�
*�a��G�G�L�L��M�2�E��e�S�!�!��"����B�r�w�w�|�|�A�y�'A�B�A��l�l�=�9�O�G��L�L�N����W�,�+�
*�!�!��+�
*�
*�s0�5C%�C	�A2C%�C"
�C"
�C%�%C6	�.C6	c��[OQ2oQUmQUmUO[	U2QQ,2P!)a
shlex.source sets a trigger keyword: when the lexer reads a token equal
to it, the next token is consumed as a filename and passed to
sourcehook, which returns a stream to push onto the input stack.
Tokens flow from that stream first, then resume from the original.
ztrigger filename remaining�triggerc�4�U[OQ21!)�included)r'r()r�s&r�<lambda>�/ShlexTest.testSourceInclusion.<locals>.<lambda>�s��!�R�[�[��%<�!=r$r$�	remaining)rrurrrRr�s& r�testSourceInclusion�ShlexTest.testSourceInclusion�s:��
�K�K�4�5�����=�������a��:�{�";�<r$c�(�[OP2oUOQ2]Um[Q29^tt^2oUO	2oPPP2UOWQ2WO
Q2P!)%fhK59h)r�r�r�zshlex: popping token 'hello')rr�r�rr)rr�)rr+r�r.s&   r�testGetTokenPopsPushbackDebug�'ShlexTest.testGetTokenPopsPushbackDebug�sh���K�K��O��	���W�����
�#�
$�
$�
��+�+�-�C�%�����g�&��*�*�+I�J�%�
$�s�B�B	�
B	c���[OQ2o]Um[Q29^tt^2o[U2PPP2WO	Q2P!)%fhK#9h)z ar�z+shlex: I see whitespace in whitespace state�rr�rrRr��rr+r�s&  r�$testDebugWhitespaceInWhitespaceState�.ShlexTest.testDebugWhitespaceInWhitespaceStatesI���K�K�������
�#�
$�
$�
���G�%��"�"�#P�Q�%�
$���A�A)	�"A)	c���[OQ2o]Um[Q29^tt^2o[U2PPP2WO	Q2P!)%fhK#9h)za br�z%shlex: I see whitespace in word stater.r/s&  r�testDebugWhitespaceInWordState�(ShlexTest.testDebugWhitespaceInWordState
sI���K�K�������
�#�
$�
$�
���G�%��"�"�#J�K�%�
$�r2c���[OQ2o]Um[Q29^tt^2o[U2PPP2WO	Q2P!)%fhK#9h)za(r�z&shlex: I see punctuation in word stater.r/s&  r�testDebugPunctuationInWordState�)ShlexTest.testDebugPunctuationInWordStatesI���K�K�������
�#�
$�
$�
���G�%��"�"�#K�L�%�
$�r2c���[OQ2o]Um[Q29^tt^2o[U2PPP2WO	Q2P!)%fhK#9h)r�r�zshlex: raw token='hello'r.r/s&  r�testDebugRawToken�ShlexTest.testDebugRawTokensI���K�K�� �����
�#�
$�
$�
���G�%��"�"�#=�>�%�
$�r2c	�*�[OQP	Q5o]Um[Q29^tt^2oUO[29^tt^2[U2PPP2PPP2WOTt,tFDp3O]*MJ	ooSO[9PIc(QU2D%fJP	2P!	P
2P!QU222P!)%fhK�9h)%fhK�9httoh)z"oopsrr�c3�8�SF �DoQU7w�	J
	P!3h)z
EOF in quotes���.0�ms& r�	<genexpr>�0ShlexTest.testDebugEOFInQuote.<locals>.<genexpr>)���$���$�Q�O�q�0�$����
rr�rr2r3rR�call_args_list�args�
assertTrue�any�rr+r��call�msgss&    r�testDebugEOFInQuote�ShlexTest.testDebugEOFInQuote"s����K�K��t�,�����
�#�
$�
$�
��"�"�:�.�.��Q��/�%�*4�)B�)B�C�)B��	�	�!���)B��C������?�$�?���@��@��?�$�?�?�@�/�.��%�
$��D�5�C=�C*	�C=�;D�*C:
�3C:
�5C=�=D
	�D
	c	�*�[OQP	Q5o]Um[Q29^tt^2oUO[29^tt^2[U2PPP2PPP2WOTt,tFDp3O]*MJ	ooSO[9PIc(QU2D%fJP	2P!	P
2P!QU222P!)%fhK�9h)%fhK�9httoh)zoops\rr�c3�8�SF �DoQU7w�	J
	P!3h)z
EOF in escaper>r?s& rrB�1ShlexTest.testDebugEOFInEscape.<locals>.<genexpr>2rDrErFrKs&    r�testDebugEOFInEscape�ShlexTest.testDebugEOFInEscape+s����K�K���-�����
�#�
$�
$�
��"�"�:�.�.��Q��/�%�*4�)B�)B�C�)B��	�	�!���)B��C������?�$�?���@��@��?�$�?�?�@�/�.��%�
$��DrPc���[OQ2o]Um[Q29^tt^2o[U2PPP2WO	Q2P!)%fhK#9h)rqr�z(shlex: in state ' ' I see character: 'a'r.r/s&  r�testDebugStateTrace�ShlexTest.testDebugStateTrace4sI���K�K�������
�#�
$�
$�
���G�%��"�"�#M�N�%�
$�r2c�:�[OQ.Ql2P!)r>r�re�collections)r�ensure_lazy_importsr4s&r�test_lazy_imports�ShlexTest.test_lazy_imports;s���)�)�'�3N�Or$)r
r
)7�__name__�
__module__�__qualname__�__firstlineno__rr"r/r5r8r;rZr^rcrhrnrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr(r+r0r4r7r:rNrTrWrr]�__static_attributes__�__classdictcell__)�
__classdict__s@rrr�s����3�;���7�E�L�"L� 
L�H�M�1�(>�
?�7�
,�'�:�$	2�9�5�&�&�7�
9�L�:�
:�
Q�2�S�@�Y��
�
*�*�-�	=�K�R�L�M�?�A�A�O��P��Pr$rr�testr;�__main__)r'rOrrr�r
�unittest�
unittest.mockr�test.supportrrr
r
�TestCaser�getattr�dir�methname�
startswith�delattrr_�mainr>r$r�<module>rrs���	��	��
����%�&�
=��~>�
�@oP��!�!�oP�f
�u�g�t�$�$��	�N�����v�&�&�8�|�+C��I�x�(�#��z���M�M�O�r$

Youez - 2016 - github.com/yon3zu
LinuXploit