Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/sqlite3/test/__pycache__/regression.cpython-35.opt-2.pyc



���] 8�@slddlZddlZddlZGdd�dej�Zdd�Zdd�Zedkrhe�dS)	�Nc@s{eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
jej
d=kd�dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Z d8d9�Z!d:d;�Z"d<S)>�RegressionTestscCstjd�|_dS)Nz:memory:)�sqlite�connect�con)�self�r�//opt/alt/python35/lib64/python3.5/regression.py�setUpszRegressionTests.setUpcCs|jj�dS)N)r�close)rrrr�tearDown szRegressionTests.tearDowncCs |jj�}|jd�dS)Nzpragma user_version)r�cursor�execute)r�currrr�CheckPragmaUserVersion#sz&RegressionTests.CheckPragmaUserVersionc
CsTtjddtj�}z |jj�}|jd�Wd|j�|j�XdS)Nz:memory:�detect_typeszpragma schema_version)rrZPARSE_COLNAMESrrr
r
)rrrrrr�CheckPragmaSchemaVersion(s
z(RegressionTests.CheckPragmaSchemaVersioncs�tjddd���fdd�td�D�}|djd�x;td�D]-}|djd	d
d�td�D��qRWx-td�D]}||jd|d�q�W�j�dS)
Nz:memory:Zcached_statements�csg|]}�j��qSr)r)�.0�x)rrr�
<listcomp>7s	z7RegressionTests.CheckStatementReset.<locals>.<listcomp>rzcreate table test(x)�
zinsert into test(x) values (?)cSsg|]}|f�qSrr)rrrrrr:s	� zselect x from test)rr�ranger
�executemany�rollback)r�cursors�ir)rr�CheckStatementReset2s+z#RegressionTests.CheckStatementResetcCsc|jj�}|jd�|j|jddd�|jd�|j|jddd�dS)Nz select 1 as "foo bar [datetime]"rzfoo barzselect 1 as "foo baz"zfoo baz)rrr
�assertEqual�description)rrrrr�CheckColumnNameWithSpacesAs


z)RegressionTests.CheckColumnNameWithSpacescCsjtjd�}g}xDtd�D]6}|j�}|j|�|jdt|��q"W|j�dS)Nz:memory:�izselect 1 x union select )rrrr�appendr
�strr
)rrrrrrrr�#CheckStatementFinalizationOnCloseDbIs
z3RegressionTests.CheckStatementFinalizationOnCloseDb��zneeds sqlite 3.2.2 or newercCs�tjd�}|jd�|jd�y|jd�Wntjk
rQYnX|jd�y|j�Wn"tjk
r�|jd�YnXdS)Nz:memory:z3create table foo(x, unique(x) on conflict rollback)zinsert into foo(x) values (1)zinsert into foo(x) values (2)z1pysqlite knew nothing about the implicit ROLLBACK)rrr
Z
DatabaseError�commit�OperationalErrorZfail)rrrrr�CheckOnConflictRollbackWs


z'RegressionTests.CheckOnConflictRollbackcCs4|jjd�|jjd�|jjd�dS)Nzcreate table foo(bar)zdrop table foo)rr
)rrrr�-CheckWorkaroundForBuggySqliteTransferBindingsfsz=RegressionTests.CheckWorkaroundForBuggySqliteTransferBindingscCs|jjd�dS)N�)rr
)rrrr�CheckEmptyStatementosz#RegressionTests.CheckEmptyStatementcCs�d}tjddtj�}|jd�|jdtjj�f�|j|�|jd�|jd�|jd�|j|�dS)	Nzselect * from fooz:memory:rzcreate table foo(bar timestamp)zinsert into foo(bar) values (?)zdrop table foozcreate table foo(bar integer)zinsert into foo(bar) values (5))rr�PARSE_DECLTYPESr
�datetimeZnow)rZSELECTrrrr�CheckTypeMapUsagevs




z!RegressionTests.CheckTypeMapUsagecCsj|jtj��2}|jjdttdg��f�j�WdQRXd}|j|t	|j
��dS)Nz"select 'xxx' || ? || 'yyy' colname�z9Could not decode to UTF-8 column 'colname' with text 'xxx)�assertRaisesrr(rr
�bytes�	bytearray�fetchoneZassertInr#�	exception)r�cm�msgrrr�CheckErrorMsgDecodeError�s
&z(RegressionTests.CheckErrorMsgDecodeErrorcCs|jttjid�dS)N)r1�	TypeErrorrZregister_adapter)rrrr�CheckRegisterAdapter�sz$RegressionTests.CheckRegisterAdaptercsBG�fdd�dt�}tjd��d�_x^dD]V}|jd|��;|�_|j��_|j��_||��_WdQRXq;Wd�_d�_d	tfd
tfdtfdtfd
tfg}xa|D]Y\}}|jd|��8|j	|��|�_WdQRX|j
�jd�WdQRXq�WdS)Ncs.eZdZdd�Z�fdd�ZdS)z9RegressionTests.CheckSetIsolationLevel.<locals>.CustomStrcSsdS)Nr)rrrr�upper�sz?RegressionTests.CheckSetIsolationLevel.<locals>.CustomStr.uppercs
d�_dS)Nr+)�isolation_level)r)rrr�__del__�szARegressionTests.CheckSetIsolationLevel.<locals>.CustomStr.__del__N)�__name__�
__module__�__qualname__r;r=r)rrr�	CustomStr�srAz:memory:r+�DEFERRED�	IMMEDIATE�	EXCLUSIVE�level���abczIMMEDIATEEXCLUSIVE�é)r+rBrCrD)r#rrr<�subTest�lower�
capitalizer9�
ValueErrorr1r)rrArEZpairs�value�excr)rr�CheckSetIsolationLevel�s$	
			z&RegressionTests.CheckSetIsolationLevelc	CseGdd�dtj�}tjd�}||�}|jtj��|jd�j�WdQRXdS)Nc@seZdZdd�ZdS)z?RegressionTests.CheckCursorConstructorCallCheck.<locals>.CursorcSsdS)Nr)rrrrr�__init__�szHRegressionTests.CheckCursorConstructorCallCheck.<locals>.Cursor.__init__N)r>r?r@rQrrrr�Cursor�srRz:memory:z
select 4+5)rrRrr1�ProgrammingErrorr
�fetchall)rrRrrrrr�CheckCursorConstructorCallCheck�s
z/RegressionTests.CheckCursorConstructorCallCheckcCs6Gdd�dt�}|jjd|d�f�dS)Nc@seZdZdS)z/RegressionTests.CheckStrSubclass.<locals>.MyStrN)r>r?r@rrrr�MyStr�srVzselect ?rH)r#rr
)rrVrrr�CheckStrSubclass�sz RegressionTests.CheckStrSubclassc	CsOGdd�dtj�}|d�}|jtj��|j�}WdQRXdS)Nc@seZdZdd�ZdS)zGRegressionTests.CheckConnectionConstructorCallCheck.<locals>.ConnectioncSsdS)Nr)r�namerrrrQ�szPRegressionTests.CheckConnectionConstructorCallCheck.<locals>.Connection.__init__N)r>r?r@rQrrrr�
Connection�srYz:memory:)rrYr1rSr)rrYrrrrr�#CheckConnectionConstructorCallCheck�sz3RegressionTests.CheckConnectionConstructorCallCheckc	s�G�fdd�dtj�}Gdd�dtj��|d�}|j�}|jd�|jddd
dg�|jd�|j�|jtj��|j	�WdQRXdS)Ncs"eZdZ�fdd�ZdS)z;RegressionTests.CheckCursorRegistration.<locals>.Connectioncs
�|�S)Nr)r)rRrrr�szBRegressionTests.CheckCursorRegistration.<locals>.Connection.cursorN)r>r?r@rr)rRrrrY�srYc@seZdZdd�ZdS)z7RegressionTests.CheckCursorRegistration.<locals>.CursorcSstjj||�dS)N)rrRrQ)rrrrrrQ�sz@RegressionTests.CheckCursorRegistration.<locals>.Cursor.__init__N)r>r?r@rQrrrrrR�srRz:memory:zcreate table foo(x)zinsert into foo(x) values (?)r%�rzselect x from foo)r%)r[)r)
rrYrRrr
rrr1ZInterfaceErrorrT)rrYrrr)rRr�CheckCursorRegistration�s


z'RegressionTests.CheckCursorRegistrationcCstjddd�}dS)Nz:memory:r<)rr)rrrrr�CheckAutoCommit�szRegressionTests.CheckAutoCommitcCsF|jj�}|jd�|jd�|jd�|j�}dS)Nzcreate table foo(bar)zinsert into foo(bar) values (5)zpragma page_size)rrr
r4)rr�rowrrr�CheckPragmaAutocommit�s



z%RegressionTests.CheckPragmaAutocommitcCs�Gdd�d�}|�}|jt|jj|�|jt|jj|�|jt|jj|�|jt|jj|�dS)Nc@s(eZdZdd�Zdd�ZdS)z1RegressionTests.CheckSetDict.<locals>.NotHashablec_sdS)Nr)r�args�kwrrr�__call__sz:RegressionTests.CheckSetDict.<locals>.NotHashable.__call__cSs
t��dS)N)r9)rrrr�__hash__sz:RegressionTests.CheckSetDict.<locals>.NotHashable.__hash__N)r>r?r@rbrcrrrr�NotHashablesrd)r1r9rZcreate_functionZcreate_aggregateZset_authorizerZset_progress_handler)rrd�varrrr�CheckSetDict�s	zRegressionTests.CheckSetDictcCs|jtj|jd�dS)NrF)r1r�Warningr)rrrr�CheckConnectionCallsz#RegressionTests.CheckConnectionCallcCs/dd�}|jtj|jjd|�dS)NcSsdS)NrFr)�a�brrr�collation_cbsz4RegressionTests.CheckCollation.<locals>.collation_cbu�)r1rrSrZcreate_collation)rrkrrr�CheckCollationszRegressionTests.CheckCollationcs�tjd�}|j���jd��jd��fdd�}|jtj��%�jddd�|�D��WdQRXdS)	Nz:memory:zcreate table a (bar)zcreate table b (baz)c3s�jdd�dVdS)Nzinsert into a (bar) values (?)rF)rF)r
r)rrr�foo+sz4RegressionTests.CheckRecursiveCursorUse.<locals>.foozinsert into b (baz) values (?)css|]}|fVqdS)Nr)rrrrr�	<genexpr>1sz:RegressionTests.CheckRecursiveCursorUse.<locals>.<genexpr>)rrrr
r1rSr)rrrmr)rr�CheckRecursiveCursorUses

	z'RegressionTests.CheckRecursiveCursorUsecCs�tjddtj�}|j�}|jd�|jd�|jd�|jd�dd�|j�D�}|j|tjd	d
d
ddd
d�tjd	d
d
ddd
d�g�dS)Nz:memory:rzCREATE TABLE t (x TIMESTAMP)z4INSERT INTO t (x) VALUES ('2012-04-04 15:06:00.456')z:INSERT INTO t (x) VALUES ('2012-04-04 15:06:00.123456789')zSELECT * FROM tcSsg|]}|d�qS)rr)rrrrrrFs	zKRegressionTests.CheckConvertTimestampMicrosecondPadding.<locals>.<listcomp>i�r[��ri@�i@�)rrr-rr
rTrr.)rrr�valuesrrr�'CheckConvertTimestampMicrosecondPadding3s



	z7RegressionTests.CheckConvertTimestampMicrosecondPaddingcCs |jttjddd�dS)Nz:memory:r<�{)r1r9rr)rrrr�CheckInvalidIsolationLevelTypeMs	z.RegressionTests.CheckInvalidIsolationLevelTypecCsqtjd�}|jt|d�|jt|d�|j�}|jt|jd�|jt|jd�dS)Nz:memory:z	select 1z	select 1z
 select 2z	select 2)rrr1rMrr
)rrrrrr�CheckNullCharacterSsz"RegressionTests.CheckNullCharactercCstjd�}|jd�|j|jd�d}x�t|jd��D]�\}}|jd|d|���|jd|f�|j�|dkr�|j|dd�nC|d	kr�|j|dd	�n |d
kr�|j|dd
�|d	7}WdQRXqKW|j|dd�dS)
Nz:memory:z�
        create table t(c);
        create table t2(c);
        insert into t values(0);
        insert into t values(1);
        insert into t values(2);
        r+rzselect c from trr^zinsert into t2(c) values (?)rFr&r%z'should have returned exactly three rows)	rrZ
executescriptrr<�	enumerater
rJr')rrZcounterrr^rrr�CheckCommitCursorReset\s""
z&RegressionTests.CheckCommitCursorResetN)r%r&r&)#r>r?r@r	rrrrr r$�unittestZskipIfrZsqlite_version_infor)r*r,r/r8r:rPrUrWrZr\r]r_rfrhrlrorsrurvrxrrrrrs8
'		
	rcCs"tjtd�}tj|f�S)NZCheck)ryZ	makeSuiterZ	TestSuite)Zregression_suiterrr�suite|srzcCs tj�}|jt��dS)N)ryZTextTestRunner�runrz)Zrunnerrrr�test�sr|�__main__)	r.ryZsqlite3rZTestCaserrzr|r>rrrr�<module>s�a