403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.240
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_shlex.cpython-36.pyc
3

�w2_�+�@s�ddlZddlZddlZddlZdZdZGdd�dej�Zeedd�stx,e	e�D] Z
e
jd�rPe
dkrPeee
�qPWe
d	kr�ej�dS)
�Nu�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@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!S)"�	ShlexTestcCstdd�tj�D�|_dd�tj�D�|_x"|jD]}|djdd�|d<q0Wx"|jD]}|djdd�|d<qTWdS)NcSsg|]}|jd�dd��qS)�|N����)�split)�.0�x�r	�4/opt/alt/python36/lib64/python3.6/test/test_shlex.py�
<listcomp>�sz#ShlexTest.setUp.<locals>.<listcomp>cSsg|]}|jd�dd��qS)rNrr)r)rrr	r	r
r�srz\n�
)�data�
splitlines�
posix_data�replace)�self�itemr	r	r
�setUp�szShlexTest.setUpc
Cshxbtt|��D]R}tj||d|d�}|j|||dd�d||d|||dd�f�qWdS)Nr)�commentsrz%s: %s != %s)�range�len�shlexr�assertEqual)rr
r�i�lr	r	r
�	splitTest�s
zShlexTest.splitTestcCs<g}tjtj|��}|j�}x|r6|j|�|j�}qW|S)N)r�io�StringIO�	get_token�append)r�sZretZlex�tokr	r	r
�oldSplit�s
zShlexTest.oldSplitcCs|j|jdd�dS)z%Test data splitting with posix parserT)rN)rr)rr	r	r
�testSplitPosix�szShlexTest.testSplitPosixc
Csnxhtt|j��D]V}|j|j|d�}|j||j|dd�d|j|d||j|dd�f�qWdS)zTest compatibility interfacerrNz%s: %s != %s)rrr
r"r)rrrr	r	r
�
testCompat�s
zShlexTest.testCompatc
Csfx`dD]X}d|d|g}d
d|d
dg}x4|D],}tj|dd�}t|�}|j||d|�q.WqWdS)z)Test handling of syntax splitting of &, |�&&�&�|&�;&�;;&�||r�&|�;|�;;|zecho hi %s echo byezecho hi%secho bye�echo�hi�byeT)�punctuation_charszWhile splitting '%s'N)
r%r&r'r(r)r*rr+r,r-)r�listr)r�	delimiter�src�ref�ssr �resultr	r	r
�testSyntaxSplitAmpersandAndPipe�s

z)ShlexTest.testSyntaxSplitAmpersandAndPipecCslxfdD]^}d|d|d|g}dd	|dd
g}x4|D],}tj|dd�}t|�}|j||d
|�q4WqWdS)z&Test handling of syntax splitting of ;�;�;;�;&�;;&zecho hi %s echo byezecho hi%s echo byezecho hi%secho byer.r/r0T)r1zWhile splitting '%s'N)r9r:r;r<)rr2r)rr3r4r5r6r r7r	r	r
�testSyntaxSplitSemicolon�s


z"ShlexTest.testSyntaxSplitSemicoloncCsjxdd
D]\}d|d|d|g}dd|dg}x4|D],}tj|d	d
�}t|�}|j||d|�q2WqWdS)z&Test handling of syntax splitting of >�<rzecho hi %s outz
echo hi%s outzecho hi%soutr.r/�outT)r1zWhile splitting '%s'N)r>r)rr2r)rr3r4r5r6r r7r	r	r
�testSyntaxSplitRedirect�s


z!ShlexTest.testSyntaxSplitRedirectcCsNddg}ddddg}x4|D],}tj|dd�}t|�}|j||d	|�qWd
S)z'Test handling of syntax splitting of ()z( echo hi )z	(echo hi)�(r.r/�)T)r1zWhile splitting '%s'N)rr2r)rr4r5r6r r7r	r	r
�testSyntaxSplitParen�s
zShlexTest.testSyntaxSplitParencCsDddddddddg}d}tj|d	d
�}t|�}|j||d|�dS)
z3Test handling of syntax splitting with custom charsz~/ar&zb-cz--color=autoz||�dz*.py?z"~/a && b-c --color=auto || d *.py?r)r1zWhile splitting '%s'N)rr2r)rr5r6r r7r	r	r
�testSyntaxSplitCustom�s
zShlexTest.testSyntaxSplitCustomcCs�x~dddd
ddgffD]f\}}tj|dd�}g}x>|j�}||jkrFP|d	|jkrZd}nd}|j||f�q2W|j||�qWd
S)z2Test that tokens are split with types as expected.za && b || c�a�&&�c�b�||T)r1rN)rFrF)rGrH)rIrF)rJrH)rHrF)rr�eofr1rr)r�source�expectedr Zobserved�tZttr	r	r
�testTokenTypes�s
zShlexTest.testTokenTypescCs:tjddd�}|jd|j�|jt|�dddddg�dS)	z:Test that any punctuation chars are removed from wordcharsZa_b__c�_)r1rFrI�__rHN)rZassertNotInZ	wordcharsrr2)rr r	r	r
�testPunctuationInWordCharssz$ShlexTest.testPunctuationInWordCharscCs\tjddd�}|jt|�ddddddg�tjddd�}d	|_|jt|�dddd
dg�dS)z9Test that with whitespace_split, behaviour is as expectedza  && b  ||  cr&)r1rFz&&rIrrHTz||N)rrr2Zwhitespace_split)rr r	r	r
�"testPunctuationWithWhitespaceSplits
z,ShlexTest.testPunctuationWithWhitespaceSplitcCsPtjdddd�}|jt|�dddg�tjdddd�}|jt|�dddg�d	S)
z@Test that punctuation_chars and posix behave correctly together.zf >"abc"T)�posixr1�f�>�abcz
f >\"abc\"z"abc"N)rrr2)rr r	r	r
�testPunctuationWithPosixsz"ShlexTest.testPunctuationWithPosixcCshdddg}x0dD](}tjdd|d�}t|�}|j||�qWdddg}tjddd	�}|jt|�|�d
S)z8Test that parsing of empty strings is correctly handled.�rBrWFTz'')abc)rTr1z'')r1N)FT)rr2r)rrM�punctr Zslistr	r	r
�testEmptyStringHandlings


z!ShlexTest.testEmptyStringHandlingcCs�tjtjd}d}d|}|jtjd�d�|jtj|�|�|jtjd�d�x&|D]}|jtjd|�d	|�qXWx&|D]}|jtjd
|�d|�q�WdS)Nz
@%_-+=:,./uéàßz"`$\!rYz''ztest file namez'test file name'z
test%snamez'test%sname'ztest%s'name'z'test%s'"'"'name'"'"'')�stringZ
ascii_lettersZdigitsrrZquote)rZsafeunquotedZunicode_sampleZunsafe�ur	r	r
�	testQuote(s

zShlexTest.testQuoteN)�__name__�
__module__�__qualname__rrr"r#r$r8r=r@rCrErOrRrSrXr[r^r	r	r	r
r�s 
	rrZtestr$�__main__)rrr\Zunittestr
rZTestCaser�getattr�dirZmethname�
startswith�delattrr_�mainr	r	r	r
�<module>sC@0

Youez - 2016 - github.com/yon3zu
LinuXploit