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_peepholer.cpython-33.pyo

�
��f�1c@s�ddlZddlZddlZddlmZddlZddlmZdd�Zdd�Z	Gdd	�d	ej
�ZGd
d�dej
�Ze
dd
�Zedkr�ede�ndS(iN(uStringIO(ucopysigncCsSt�}tj}|t_ztj|�Wd|t_X|j�}|j�|S(N(uStringIOusysustdoutudisugetvalueuclose(ufuncufutmpuresult((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyudisassembles			

udisassemblecCstt|dd��S(Nuusingle(udisassembleucompile(uline((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu
dis_singlesu
dis_singlecBs�|EeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S($u
TestTranformscCs^dd�}t|�}xdD]}|j||�qWxdD]}|j||�q@WdS(NcSs|dks~ndS(Ni((ux((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuunotsu%TestTranforms.test_unot.<locals>.unotu	UNARY_NOTuPOP_JUMP_IF_FALSEuPOP_JUMP_IF_TRUE(u	UNARY_NOTuPOP_JUMP_IF_FALSE(uPOP_JUMP_IF_TRUE(udisassembleuassertNotInuassertIn(uselfuunotuasmuelem((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu	test_unots

uTestTranforms.test_unotcCs7x0d
D](\}}t|�}|j||�qWdS(Nu
not a is bu(is not)u
not a in bu(not in)unot a is not bu(is)unot a not in bu(in)(u
not a is bu(is not)(u
not a in bu(not in)(unot a is not bu(is)(unot a not in bu(in)((u
not a is bu(is not)(u
not a in bu(not in)(unot a is not bu(is)(unot a not in bu(in)(u
dis_singleuassertIn(uselfulineuelemuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_elim_inversion_of_is_or_in%su-TestTranforms.test_elim_inversion_of_is_or_incCs�dd�}dd�}dd�}x�|df|df|d	ffD]h\}}t|�}xdD]}|j||�qeWx,dd|d
fD]}|j||�q�WqFWdd�}|jdt|��|jd
t|��dS(NcSsdd|S(N(uNone(ux((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuf1su0TestTranforms.test_global_as_constant.<locals>.fcSsd|S(NT(uTrue(ux((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyug5su0TestTranforms.test_global_as_constant.<locals>.gcSsd|S(NF(uFalse(ux((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuh8su0TestTranforms.test_global_as_constant.<locals>.huNoneuTrueuFalseuLOAD_GLOBALu
LOAD_CONSTu(u)cSsdS(u1Adding a docstring made this test fail in Py2.5.0N(uNone(((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyufAs(uLOAD_GLOBAL(udisassembleuassertNotInuassertIn(uselfufuguhufuncunameuasmuelem((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_global_as_constant/s.
u%TestTranforms.test_global_as_constantcCs^dd�}t|�}xdD]}|j||�qWxdD]}|j||�q@WdS(NcSs
xqtS(N(ulist(((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyufIsu'TestTranforms.test_while_one.<locals>.fu
LOAD_CONSTuPOP_JUMP_IF_FALSEu
JUMP_ABSOLUTE(u
LOAD_CONSTuPOP_JUMP_IF_FALSE(u
JUMP_ABSOLUTE(udisassembleuassertNotInuassertIn(uselfufuasmuelem((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_while_oneGs

uTestTranforms.test_while_onecCsWxPdD]H\}}t|�}|j||�|jd|�|jd|�qWdS(
Nua, = a,u
LOAD_CONSTua, b = a, buROT_TWOua, b, c = a, b, cu	ROT_THREEuBUILD_TUPLEuUNPACK_TUPLE(ua, = a,u
LOAD_CONST(ua, b = a, buROT_TWO(ua, b, c = a, b, cu	ROT_THREE((ua, = a,u
LOAD_CONST(ua, b = a, buROT_TWO(ua, b, c = a, b, cu	ROT_THREE(u
dis_singleuassertInuassertNotIn(uselfulineuelemuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_pack_unpackSsuTestTranforms.test_pack_unpackcCs�x@dD]8\}}t|�}|j||�|jd
|�qWttttd����}|j|jd�d
�|jd
|�dd�}dS(Nu	a = 1,2,3u((1, 2, 3))u
("a","b","c")u(('a', 'b', 'c'))u
a,b,c = 1,2,3u(None, 1, None)u((None, 1, None))u((1, 2), 3, 4)u(((1, 2), 3, 4))uBUILD_TUPLEi'u
LOAD_CONSTicdSs8ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
ddddddddd	d
gdfdS(Niiiiiiiiii	((((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyucraterssuATestTranforms.test_folding_of_tuples_of_constants.<locals>.crater(u	a = 1,2,3u((1, 2, 3))(u
("a","b","c")u(('a', 'b', 'c'))(u
a,b,c = 1,2,3u((1, 2, 3))(u(None, 1, None)u((None, 1, None))(u((1, 2), 3, 4)u(((1, 2), 3, 4))((u	a = 1,2,3u((1, 2, 3))(u
("a","b","c")u(('a', 'b', 'c'))(u
a,b,c = 1,2,3u((1, 2, 3))(u(None, 1, None)u((None, 1, None))(u((1, 2), 3, 4)u(((1, 2), 3, 4))(u
dis_singleuassertInuassertNotInureprutupleurangeuassertEqualucount(uselfulineuelemuasmucrater((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu#test_folding_of_tuples_of_constants^su1TestTranforms.test_folding_of_tuples_of_constantscCsGx@dD]8\}}t|�}|j||�|jd	|�qWdS(Nua in [1,2,3]u	(1, 2, 3)ua not in ["a","b","c"]u(('a', 'b', 'c'))ua in [None, 1, None]u((None, 1, None))ua not in [(1, 2), 3, 4]u(((1, 2), 3, 4))u
BUILD_LIST(ua in [1,2,3]u	(1, 2, 3)(ua not in ["a","b","c"]u(('a', 'b', 'c'))(ua in [None, 1, None]u((None, 1, None))(ua not in [(1, 2), 3, 4]u(((1, 2), 3, 4))((ua in [1,2,3]u	(1, 2, 3)(ua not in ["a","b","c"]u(('a', 'b', 'c'))(ua in [None, 1, None]u((None, 1, None))(ua not in [(1, 2), 3, 4]u(((1, 2), 3, 4))(u
dis_singleuassertInuassertNotIn(uselfulineuelemuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu"test_folding_of_lists_of_constants�su0TestTranforms.test_folding_of_lists_of_constantsc	Csfx�dtdddh�fdtdddh�fd	tddh�fd
tdddh�fdtdddh�ffD]|\}}t|�}|jd
|�|jd|�tjd|tj�}|j|�|j	t
|jd��|�q|Wdd�}dd�}|j|d��|j|d��|j|d��|j|d��dS(Nua in {1,2,3}iiiua not in {"a","b","c"}uaucubua in {None, 1, None}ua not in {(1, 2), 3, 4}iua in {1, 2, 3, 3, 2, 1}u	BUILD_SETu	frozensetu.*(frozenset\({.*}\)).*cSs
|dkS(Niii>iii((ua((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuf�su:TestTranforms.test_folding_of_sets_of_constants.<locals>.fcSs
|dkS(Niii>iii((ua((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyug�su:TestTranforms.test_folding_of_sets_of_constants.<locals>.g(ii(u	frozensetuNoneu
dis_singleuassertNotInuassertInureumatchuDOTALLu
assertTrueuassertEqualuevalugroup(uselfulineuelemuasmumufug((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu!test_folding_of_sets_of_constants�s$(
#u/TestTranforms.test_folding_of_sets_of_constantscCs�xCd0D];\}}t|�}|j|||�|jd|�qWtd�}|jd|�|jd|�td�}|jd |�dS(1Nu	a = 2+3+4u(9)u"@"*4u('@@@@')ua="abc" + "def"u
('abcdef')ua = 3**4u(81)ua = 3*4u(12)u	a = 13//4u(3)ua = 14%4u(2)ua = 2+3u(5)ua = 13-4ua = (12,13)[1]u(13)ua = 13 << 2u(52)ua = 13 >> 2u
a = 13 & 7u
a = 13 ^ 7u(10)u
a = 13 | 7u(15)uBINARY_ua=2+"b"u('b')u
a="x"*1000u(1000)(u	a = 2+3+4u(9)(u"@"*4u('@@@@')(ua="abc" + "def"u
('abcdef')(ua = 3**4u(81)(ua = 3*4u(12)(u	a = 13//4u(3)(ua = 14%4u(2)(ua = 2+3u(5)(ua = 13-4u(9)(ua = (12,13)[1]u(13)(ua = 13 << 2u(52)(ua = 13 >> 2u(3)(u
a = 13 & 7u(5)(u
a = 13 ^ 7u(10)(u
a = 13 | 7u(15)((u	a = 2+3+4u(9)(u"@"*4u('@@@@')(ua="abc" + "def"u
('abcdef')(ua = 3**4u(81)(ua = 3*4u(12)(u	a = 13//4u(3)(ua = 14%4u(2)(ua = 2+3u(5)(ua = 13-4u(9)(ua = (12,13)[1]u(13)(ua = 13 << 2u(52)(ua = 13 >> 2u(3)(u
a = 13 & 7u(5)(u
a = 13 ^ 7u(10)(u
a = 13 | 7u(15)(u
dis_singleuassertInuassertNotIn(uselfulineuelemuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu#test_folding_of_binops_on_constants�s0u1TestTranforms.test_folding_of_binops_on_constantscCs�td�}|jd|�|jd|�td�}|jd|�|jd|�td�}|jd|�|jd|�td�}|jd|�dS(	Nu"foo"[0]u('f')u
BINARY_SUBSCRu	"a￿"[1]u
('\uffff')u"𒍅abcdef"[3]u('c')u	"fuu"[10](u
dis_singleuassertInuassertNotIn(uselfuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_binary_subscr_on_unicode�su+TestTranforms.test_binary_subscr_on_unicodecCs�xCdD];\}}t|�}|j|||�|jd|�qWdd
�}|jdt|��|jtd|��dk�xCdD];\}}t|�}|j|||�|jd|�q�WdS(Nu-0.5u(-0.5)u-0.0u(-0.0)u
-(1.0-1.0)u-0u(0)u~-2u(1)u+1uUNARY_cSsdS(Ng�?gg�((((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyunegzero�suDTestTranforms.test_folding_of_unaryops_on_constants.<locals>.negzerog�?iu-"abc"u('abc')u~"abc"(u-0.5u(-0.5)(u-0.0u(-0.0)(u
-(1.0-1.0)u(-0.0)(u-0u(0)(u~-2u(1)(u+1u(1)((u-0.5u(-0.5)(u-0.0u(-0.0)(u
-(1.0-1.0)u(-0.0)(u-0u(0)(u~-2u(1)(u+1u(1)(u-"abc"u('abc')(u~"abc"u('abc')((u-"abc"u('abc')(u~"abc"u('abc')(u
dis_singleuassertInuassertNotInudisassembleu
assertTrueucopysign(uselfulineuelemuasmunegzero((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu%test_folding_of_unaryops_on_constants�s&u3TestTranforms.test_folding_of_unaryops_on_constantscCs[dd�}t|�}|jd|�|jd|�|j|j�jd�d�dS(NcSs|S(N((ux((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyufsu/TestTranforms.test_elim_extra_return.<locals>.fu
LOAD_CONSTu(None)uRETURN_VALUEi(udisassembleuassertNotInuassertEqualusplitucount(uselfufuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_elim_extra_return�s
u$TestTranforms.test_elim_extra_returncCs[dd�}t|�}|jd|�|jd|�|j|j�jd�d�dS(NcSs|r
|S|S(N((ucondu
true_valueufalse_value((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuf	su1TestTranforms.test_elim_jump_to_return.<locals>.fuJUMP_FORWARDu
JUMP_ABSOLUTEuRETURN_VALUEi(udisassembleuassertNotInuassertEqualusplitucount(uselfufuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_elim_jump_to_returns
u&TestTranforms.test_elim_jump_to_returncCs[dd�}t|�}|jd|�|jd|�|j|j�jd�d�dS(NcSs0|r
dS|rdSxdSx|r(dSdSdS(Niiiiii((ucond1ucond2((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyufsu5TestTranforms.test_elim_jump_after_return1.<locals>.fuJUMP_FORWARDu
JUMP_ABSOLUTEuRETURN_VALUEi(udisassembleuassertNotInuassertEqualusplitucount(uselfufuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_elim_jump_after_return1s
	u*TestTranforms.test_elim_jump_after_return1cCsjdd�}t|�}|jd|�|j|j�jd�d�|j|j�jd�d�dS(NcSsx
|rdSqdS(Ni((ucond1ucond2((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuf"su5TestTranforms.test_elim_jump_after_return2.<locals>.fuJUMP_FORWARDu
JUMP_ABSOLUTEiuRETURN_VALUEi(udisassembleuassertNotInuassertEqualusplitucount(uselfufuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_elim_jump_after_return2 s
u*TestTranforms.test_elim_jump_after_return2cCs,dd�}t|�}|jd|�dS(NcSsdddd��}|S(Ni(ureturncSsdS(N((((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyug-suBTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.gi((ug((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuf,su7TestTranforms.test_make_function_doesnt_bail.<locals>.fu
BINARY_ADD(udisassembleuassertNotIn(uselfufuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_make_function_doesnt_bail+su,TestTranforms.test_make_function_doesnt_bailc	Cs{ddddddddd	g	}xS|D]K}t|�}|jd
||�|jd||�|jd||�q(WdS(
Nu3 * -5u-3 * 5u2 * (3 * 4)u(2 * 3) * 4u
(-1, 2, 3)u
(1, -2, 3)u
(1, 2, -3)u(1, 2, -3) * 6u:lambda x: x in {(3 * -5) + (-1 - 6), (1, -2, 3) * 2, None}uUNARY_uBINARY_uBUILD_(u
dis_singleuassertNotIn(uselfuexprsueuasm((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_constant_folding3s	
u#TestTranforms.test_constant_foldingN(u__name__u
__module__u__qualname__u	test_unotutest_elim_inversion_of_is_or_inutest_global_as_constantutest_while_oneutest_pack_unpacku#test_folding_of_tuples_of_constantsu"test_folding_of_lists_of_constantsu!test_folding_of_sets_of_constantsu#test_folding_of_binops_on_constantsutest_binary_subscr_on_unicodeu%test_folding_of_unaryops_on_constantsutest_elim_extra_returnutest_elim_jump_to_returnutest_elim_jump_after_return1utest_elim_jump_after_return2utest_make_function_doesnt_bailutest_constant_folding(u
__locals__((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu
TestTranformss"
#$		u
TestTranformscBs |EeZdZdd�ZdS(uTestBugletscCs-dd�}|jt��|�WdQXdS(NcSsddh\}}||fS(Ni((uxuy((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyufLsu%TestBuglets.test_bug_11510.<locals>.f(uassertRaisesu
ValueError(uselfuf((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyutest_bug_11510HsuTestBuglets.test_bug_11510N(u__name__u
__module__u__qualname__utest_bug_11510(u
__locals__((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyuTestBugletsFsuTestBugletscCs�ddl}ddlm}ttf}|j|�|r�t|d�r�ddl}dgd}xAt	t
|��D]-}|j|�|j�|j�||<qvWt
|�ndS(Ni(usupportugettotalrefcounti(usysutestusupportu
TestTranformsuTestBugletsurun_unittestuhasattrugcuNoneurangeulenucollectugettotalrefcountuprint(uverboseusysusupportutest_classesugcucountsui((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu	test_mainSs



u	test_mainu__main__uverbose(udisureusysuiouStringIOuunittestumathucopysignudisassembleu
dis_singleuTestCaseu
TestTranformsuTestBugletsuNoneu	test_mainu__name__uTrue(((u8/opt/alt/python33/lib64/python3.3/test/test_peepholer.pyu<module>s�/