HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/sqlite3/test/__pycache__/regression.cpython-37.opt-2.pyc
B

��g�@�@s�ddlZddlZddlZddlZddlmZGdd�dej�ZGdd�d�Z	Gdd�dej�Z
d	d
�Zdd�Zed
kr|e�dS)�N)�supportc@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
�ej
dkd�dd��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Z d7d8�Z!d9d:�Z"d;d<�Z#d=S)>�RegressionTestscCst�d�|_dS)Nz:memory:)�sqlite�connect�con)�self�r�3/usr/local/lib/python3.7/sqlite3/test/regression.py�setUpszRegressionTests.setUpcCs|j��dS)N)r�close)rrrr	�tearDown"szRegressionTests.tearDowncCs|j��}|�d�dS)Nzpragma user_version)r�cursor�execute)r�currrr	�CheckPragmaUserVersion%s
z&RegressionTests.CheckPragmaUserVersioncCs@tjdtjd�}z|j��}|�d�Wd|��|��XdS)Nz:memory:)�detect_typeszpragma schema_version)rrZPARSE_COLNAMESrr
rr)rrrrrr	�CheckPragmaSchemaVersion*s
z(RegressionTests.CheckPragmaSchemaVersioncs�tjddd���fdd�td�D�}|d�d�x.td�D]"}|d�d	d
d�td�D��q<Wx&td�D]}||�d|d�qlW���dS)
Nz:memory:�)Zcached_statementscsg|]}����qSr)r
)�.0�x)rrr	�
<listcomp>9sz7RegressionTests.CheckStatementReset.<locals>.<listcomp>rzcreate table test(x)�
zinsert into test(x) values (?)cSsg|]
}|f�qSrr)rrrrr	r<s� zselect x from test)rr�ranger�executemany�rollback)r�cursors�ir)rr	�CheckStatementReset4s"z#RegressionTests.CheckStatementResetcCsN|j��}|�d�|�|jddd�|�d�|�|jddd�dS)Nz select 1 as "foo bar [datetime]"rzfoo bar [datetime]zselect 1 as "foo baz"zfoo baz)rr
r�assertEqual�description)rrrrr	�CheckColumnNameWithSpacesCs



z)RegressionTests.CheckColumnNameWithSpacescCsPt�d�}g}x4td�D](}|��}|�|�|�dt|��qW|��dS)Nz:memory:�izselect 1 x union select )rrrr
�appendr�strr)rrrrrrrr	�#CheckStatementFinalizationOnCloseDbKs

z3RegressionTests.CheckStatementFinalizationOnCloseDb)��r'zneeds sqlite 3.2.2 or newercCs�t�d�}|�d�|�d�y|�d�Wntjk
rBYnX|�d�y|��Wn tjk
rz|�d�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)rrrZ
DatabaseError�commit�OperationalErrorZfail)rrrrr	�CheckOnConflictRollbackYs



z'RegressionTests.CheckOnConflictRollbackcCs(|j�d�|j�d�|j�d�dS)Nzcreate table foo(bar)zdrop table foo)rr)rrrr	�-CheckWorkaroundForBuggySqliteTransferBindingshsz=RegressionTests.CheckWorkaroundForBuggySqliteTransferBindingscCs|j�d�dS)N�)rr)rrrr	�CheckEmptyStatementqsz#RegressionTests.CheckEmptyStatementcCshd}tjdtjd�}|�d�|�dtj��f�|�|�|�d�|�d�|�d�|�|�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	�CheckTypeMapUsagexs




z!RegressionTests.CheckTypeMapUsagec	CsP|�tj��$}|j�dttdg��f���WdQRXd}|�|t	|j
��dS)Nz"select 'xxx' || ? || 'yyy' colname�z9Could not decode to UTF-8 column 'colname' with text 'xxx)�assertRaisesrr)rr�bytes�	bytearray�fetchoneZassertInr$Z	exception)r�cm�msgrrr	�CheckErrorMsgDecodeError�s
 z(RegressionTests.CheckErrorMsgDecodeErrorcCs|�ttjid�dS)N)r2�	TypeErrorrZregister_adapter)rrrr	�CheckRegisterAdapter�sz$RegressionTests.CheckRegisterAdaptercs�G�fdd�dt�}t�d��d�_xHdD]@}|j|d��*|�_|���_|���_||��_WdQRXq*Wd�_d�_dtfdtfd	tfd
tfdtfg}xR|D]J\}}|j|d��0|�	|��|�_WdQRX|�
�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�srAz:memory:)r,�DEFERREDZ	IMMEDIATEZ	EXCLUSIVE)�levelrB���abczIMMEDIATEEXCLUSIVE�é)r$rrr<�subTest�lower�
capitalizer9�
ValueErrorr2r)rrArCZpairs�value�excr)rr	�CheckSetIsolationLevel�s$



z&RegressionTests.CheckSetIsolationLevelc	CspGdd�dtj�}t�d�}||�}|�tj��|�d���WdQRX|�tjd��|��WdQRXdS)Nc@seZdZdd�ZdS)z?RegressionTests.CheckCursorConstructorCallCheck.<locals>.CursorcSsdS)Nr)rrrrr	�__init__�szHRegressionTests.CheckCursorConstructorCallCheck.<locals>.Cursor.__init__N)r>r?r@rOrrrr	�Cursor�srPz:memory:z
select 4+5z$^Base Cursor\.__init__ not called\.$)	rrPrr2�ProgrammingErrorr�fetchall�assertRaisesRegexr)rrPrrrrr	�CheckCursorConstructorCallCheck�s
z/RegressionTests.CheckCursorConstructorCallCheckcCs(Gdd�dt�}|j�d|d�f�dS)Nc@seZdZdS)z/RegressionTests.CheckStrSubclass.<locals>.MyStrN)r>r?r@rrrr	�MyStr�srUzselect ?rF)r$rr)rrUrrr	�CheckStrSubclass�sz RegressionTests.CheckStrSubclassc	Cs>Gdd�dtj�}|d�}|�tj��|��}WdQRXdS)Nc@seZdZdd�ZdS)zGRegressionTests.CheckConnectionConstructorCallCheck.<locals>.ConnectioncSsdS)Nr)r�namerrr	rO�szPRegressionTests.CheckConnectionConstructorCallCheck.<locals>.Connection.__init__N)r>r?r@rOrrrr	�
Connection�srXz:memory:)rrXr2rQr
)rrXrrrrr	�#CheckConnectionConstructorCallCheck�sz3RegressionTests.CheckConnectionConstructorCallCheckc	s�G�fdd�dtj�}Gdd�dtj��|d�}|��}|�d�|�ddd	d
g�|�d�|��|�tj��|�	�WdQRXdS)NcseZdZ�fdd�ZdS)z;RegressionTests.CheckCursorRegistration.<locals>.Connectioncs�|�S)Nr)r)rPrr	r
�szBRegressionTests.CheckCursorRegistration.<locals>.Connection.cursorN)r>r?r@r
r)rPrr	rX�srXc@seZdZdd�ZdS)z7RegressionTests.CheckCursorRegistration.<locals>.CursorcSstj�||�dS)N)rrPrO)rrrrr	rO�sz@RegressionTests.CheckCursorRegistration.<locals>.Cursor.__init__N)r>r?r@rOrrrr	rP�srPz:memory:zcreate table foo(x)zinsert into foo(x) values (?))r&)�)rzselect x from foo)
rrXrPr
rrrr2ZInterfaceErrorrR)rrXrrr)rPr	�CheckCursorRegistration�s

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




z%RegressionTests.CheckPragmaAutocommitcCs|�tj|jd�dS)NrD)r2r�Warningr)rrrr	�CheckConnectionCallsz#RegressionTests.CheckConnectionCallcCs"dd�}|�tj|jjd|�dS)NcSsdS)NrDr)�a�brrr	�collation_cbsz4RegressionTests.CheckCollation.<locals>.collation_cbu�)r2rrQrZcreate_collation)rrcrrr	�CheckCollation
szRegressionTests.CheckCollationc	sft�d�}|�����d���d��fdd�}|�tj����ddd�|�D��WdQRXdS)	Nz:memory:zcreate table a (bar)zcreate table b (baz)c3s��dd�dVdS)Nzinsert into a (bar) values (?))rDrD)rr)rrr	�foosz4RegressionTests.CheckRecursiveCursorUse.<locals>.foozinsert into b (baz) values (?)css|]}|fVqdS)Nr)rrrrr	�	<genexpr>$sz:RegressionTests.CheckRecursiveCursorUse.<locals>.<genexpr>)rrr
rr2rQr)rrrer)rr	�CheckRecursiveCursorUses


z'RegressionTests.CheckRecursiveCursorUsec
Cs�tjdtjd�}|��}|�d�|�d�|�d�|�d�dd�|��D�}|�|t�d	d
d
ddd
d�t�d	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)rrrrr	r9szKRegressionTests.CheckConvertTimestampMicrosecondPadding.<locals>.<listcomp>i�rZ��ri@�i@�)rrr.r
rrRrr/)rrr�valuesrrr	�'CheckConvertTimestampMicrosecondPadding&s



z7RegressionTests.CheckConvertTimestampMicrosecondPaddingcCs|jttjddd�dS)Nz:memory:�{)r<)r2r9rr)rrrr	�CheckInvalidIsolationLevelType@sz.RegressionTests.CheckInvalidIsolationLevelTypecCsRt�d�}|�t|d�|�t|d�|��}|�t|jd�|�t|jd�dS)Nz:memory:z	select 1z	select 1z
 select 2z	select 2)rrr2rKr
r)rrrrrr	�CheckNullCharacterFs
z"RegressionTests.CheckNullCharacterc
Cs�t�d�}|�d�|�|jd�d}x�t|�d��D]�\}}|j||d��p|�d|f�|��|dkr~|�|dd�n2|dkr�|�|dd�n|d	kr�|�|dd	�|d7}WdQRXq6W|�|d
d�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 t)rr]zinsert into t2(c) values (?)rDr'r&z'should have returned exactly three rows)	rrZ
executescriptrr<�	enumeraterrHr()rrZcounterrr]rrr	�CheckCommitCursorResetOs"
z&RegressionTests.CheckCommitCursorResetcCsBdd�}t�d�}t�|�}t�||�}|�|�~~t��dS)NcWsdS)Nr)�argsrrr	�callbackssz/RegressionTests.CheckBpo31770.<locals>.callbackz:memory:)rrrP�weakref�refrOrZ
gc_collect)rrrrrrtrrr	�
CheckBpo31770ns


zRegressionTests.CheckBpo31770c	Cs |�t��|j`WdQRXdS)N)r2�AttributeErrorrr<)rrrr	�CheckDelIsolation_levelSegfault~sz/RegressionTests.CheckDelIsolation_levelSegfaultN)$r>r?r@r
rrrrr!r%�unittestZskipIfrZsqlite_version_infor*r+r-r0r8r:rNrTrVrYr[r\r^r`rdrgrkrmrnrprurwrrrr	rs:
		
	rc@s"eZdZdZddd�Zdd�ZdS)�UnhashableFuncNcCsd|_||_dS)Nr)�calls�return_value)rr{rrr	rO�szUnhashableFunc.__init__cOs|jd7_|jS)NrD)rzr{)rrq�kwargsrrr	�__call__�szUnhashableFunc.__call__)N)r>r?r@�__hash__rOr}rrrr	ry�s
ryc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�UnhashableCallbacksTestCasecCst�d�|_dS)Nz:memory:)rrr)rrrr	r
�sz!UnhashableCallbacksTestCase.setUpcCs|j��dS)N)rr)rrrr	r�sz$UnhashableCallbacksTestCase.tearDownc	CsLtdd�}|�td��|j�|d�WdQRX|j�d�|�|j�dS)Nr)r{zunhashable typerDzSELECT 1)ryrSr9rZset_progress_handlerr�assertFalserz)r�frrr	�test_progress_handler�s

z1UnhashableCallbacksTestCase.test_progress_handlerc	Cstd}t�}|�td��|j�|d|�WdQRXd|}|�tj|��|j�d|�WdQRX|�|j	�dS)N�	func_namezunhashable typerzno such function: %szSELECT %s())
ryrSr9rZcreate_functionrr)rr�rz)rr�r�r7rrr	�	test_func�sz%UnhashableCallbacksTestCase.test_funcc	CsLttjd�}|�td��|j�|�WdQRX|j�d�|�|j	�dS)N)r{zunhashable typezSELECT 1)
ryrZSQLITE_DENYrSr9rZset_authorizerrr�rz)rr�rrr	�test_authorizer�s
z+UnhashableCallbacksTestCase.test_authorizerc	CszGdd�dt�}d}|�td��|j�|d|ddi��WdQRXd|}|�tj|��|j�d	|�WdQRXdS)
Nc@seZdZdZdS)z=UnhashableCallbacksTestCase.test_aggr.<locals>.UnhashableTypeN)r>r?r@r~rrrr	�UnhashableType�sr��	aggr_namezunhashable typerZAggrrzno such function: %szSELECT %s())�typerSr9rZcreate_aggregaterr)r)rr�r�r7rrr	�	test_aggr�s"z%UnhashableCallbacksTestCase.test_aggrN)	r>r?r@r
rr�r�r�r�rrrr	r�s
rcCs t�td�}t�|t�t�f�S)NZCheck)rxZ	makeSuiterZ	TestSuiter)Zregression_suiterrr	�suite�sr�cCst��}|�t��dS)N)rxZTextTestRunner�runr�)Zrunnerrrr	�test�sr��__main__)
r/rxZsqlite3rrsr�rZTestCaserryrr�r>rrrr	�<module>sg0