HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/python38/lib/python3.8/sqlite3/test/__pycache__/regression.cpython-38.opt-2.pyc
U

�i�_�:�@shddlZddlZddlZddlZddlZddlmZGdd�dej�Z	dd�Z
dd�Zed	krde�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=d>�Z$d?S)@�RegressionTestscCst�d�|_dS)N�:memory:)�sqlite�connect�con��self�r
�6/opt/python38/lib/python3.8/sqlite3/test/regression.py�setUp szRegressionTests.setUpcCs|j��dS�N)r�closerr
r
r�tearDown#szRegressionTests.tearDowncCs|j��}|�d�dS)Nzpragma user_version)r�cursor�execute�r	�curr
r
r�CheckPragmaUserVersion&s
z&RegressionTests.CheckPragmaUserVersioncCs@tjdtjd�}z|j��}|�d�W5|��|��XdS)Nr�Zdetect_typeszpragma schema_version)rrZPARSE_COLNAMESrrrr�r	rrr
r
r�CheckPragmaSchemaVersion+s
z(RegressionTests.CheckPragmaSchemaVersioncs�tjddd���fdd�td�D�}|d�d�td�D]"}|d�d	d
d�td�D��q:td�D]}||�d|d�qf���dS)
Nr�)Zcached_statementscsg|]}����qSr
)r��.0�x�rr
r�
<listcomp>:sz7RegressionTests.CheckStatementReset.<locals>.<listcomp>rzcreate table test(x)�
zinsert into test(x) values (?)cSsg|]
}|f�qSr
r
rr
r
rr=s� zselect x from test)rr�ranger�executemany�rollback)r	�cursors�ir
rr�CheckStatementReset5s 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)rrr�assertEqual�descriptionrr
r
r�CheckColumnNameWithSpacesDs



z)RegressionTests.CheckColumnNameWithSpacescCsLt�d�}g}td�D](}|��}|�|�|�dt|��q|��dS)Nr�izselect 1 x union select )rrr r�appendr�strr)r	rr#r$rr
r
r�#CheckStatementFinalizationOnCloseDbLs

z3RegressionTests.CheckStatementFinalizationOnCloseDb)��r.zneeds sqlite 3.2.2 or newercCs�t�d�}|�d�|�d�z|�d�Wntjk
rBYnX|�d�z|��Wn tjk
rz|�d�YnXdS)Nrz3create 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�r	rr
r
r�CheckOnConflictRollbackZs



z'RegressionTests.CheckOnConflictRollbackcCs(|j�d�|j�d�|j�d�dS)N�create table foo(bar)�drop table foo�rrrr
r
r�-CheckWorkaroundForBuggySqliteTransferBindingsisz=RegressionTests.CheckWorkaroundForBuggySqliteTransferBindingscCs|j�d�dS�N�r5rr
r
r�CheckEmptyStatementrsz#RegressionTests.CheckEmptyStatementcCshd}tjdtjd�}|�d�|�dtj��f�|�|�|�d�|�d�|�d�|�|�dS)	Nzselect * from foorrzcreate table foo(bar timestamp)zinsert into foo(bar) values (?)r4zcreate table foo(bar integer)�insert into foo(bar) values (5))rr�PARSE_DECLTYPESr�datetimeZnow)r	ZSELECTrr
r
r�CheckTypeMapUsageys




z!RegressionTests.CheckTypeMapUsagec	CsP|�tj��$}|j�dttdg��f���W5QRXd}|�|t	|j
��dS)Nz"select 'xxx' || ? || 'yyy' colname�z9Could not decode to UTF-8 column 'colname' with text 'xxx)�assertRaisesrr0rr�bytes�	bytearray�fetchoneZassertInr+�	exception)r	�cm�msgr
r
r�CheckErrorMsgDecodeError�s�z(RegressionTests.CheckErrorMsgDecodeErrorcCs|�ttjid�dSr
)r?�	TypeErrorrZregister_adapterrr
r
r�CheckRegisterAdapter�sz$RegressionTests.CheckRegisterAdaptercs�G�fdd�dt�}t�d��d�_dD]@}|j|d��*|�_|���_|���_||��_W5QRXq(d�_d�_dtfdtfd	tfd
tfdtfg}|D]J\}}|j|d��0|�	|��|�_W5QRX|�
�jd�W5QRXq�dS)Ncs eZdZdd�Z�fdd�ZdS)z9RegressionTests.CheckSetIsolationLevel.<locals>.CustomStrcSsdSr
r
rr
r
r�upper�sz?RegressionTests.CheckSetIsolationLevel.<locals>.CustomStr.uppercs
d�_dSr7��isolation_levelrrr
r�__del__�szARegressionTests.CheckSetIsolationLevel.<locals>.CustomStr.__del__N)�__name__�
__module__�__qualname__rIrLr
rr
r�	CustomStr�srPr)r8�DEFERREDZ	IMMEDIATEZ	EXCLUSIVE)�levelrQ���abczIMMEDIATEEXCLUSIVE�é)r+rrrK�subTest�lower�
capitalizerG�
ValueErrorr?r&)r	rPrRZpairs�value�excr
rr�CheckSetIsolationLevel�s,


�z&RegressionTests.CheckSetIsolationLevelc	CspGdd�dtj�}t�d�}||�}|�tj��|�d���W5QRX|�tjd��|��W5QRXdS)Nc@seZdZdd�ZdS)z?RegressionTests.CheckCursorConstructorCallCheck.<locals>.CursorcSsdSr
r
r1r
r
r�__init__�szHRegressionTests.CheckCursorConstructorCallCheck.<locals>.Cursor.__init__N�rMrNrOr^r
r
r
r�Cursor�sr`rz
select 4+5z$^Base Cursor\.__init__ not called\.$)	rr`rr?�ProgrammingErrorr�fetchallZassertRaisesRegexr)r	r`rrr
r
r�CheckCursorConstructorCallCheck�s
�z/RegressionTests.CheckCursorConstructorCallCheckcCs(Gdd�dt�}|j�d|d�f�dS)Nc@seZdZdS)z/RegressionTests.CheckStrSubclass.<locals>.MyStrN)rMrNrOr
r
r
r�MyStr�srdzselect ?rU)r+rr)r	rdr
r
r�CheckStrSubclass�sz RegressionTests.CheckStrSubclassc	Cs>Gdd�dtj�}|d�}|�tj��|��}W5QRXdS)Nc@seZdZdd�ZdS)zGRegressionTests.CheckConnectionConstructorCallCheck.<locals>.ConnectioncSsdSr
r
)r	�namer
r
rr^�szPRegressionTests.CheckConnectionConstructorCallCheck.<locals>.Connection.__init__Nr_r
r
r
r�
Connection�srgr)rrgr?rar�r	rgrrr
r
r�#CheckConnectionConstructorCallCheck�sz3RegressionTests.CheckConnectionConstructorCallCheckc	s�G�fdd�dtj�}Gdd�dtj��|d�}|��}|�d�|�ddd	d
g�|�d�|��|�tj��|�	�W5QRXdS)NcseZdZ�fdd�ZdS)z;RegressionTests.CheckCursorRegistration.<locals>.Connectioncs�|�Sr
r
r�r`r
rr�szBRegressionTests.CheckCursorRegistration.<locals>.Connection.cursorN)rMrNrOrr
rjr
rrg�srgc@seZdZdd�ZdS)z7RegressionTests.CheckCursorRegistration.<locals>.CursorcSstj�||�dSr
)rr`r^r1r
r
rr^�sz@RegressionTests.CheckCursorRegistration.<locals>.Cursor.__init__Nr_r
r
r
rr`�sr`rzcreate table foo(x)zinsert into foo(x) values (?))r-)�)rzselect x from foo)
rrgr`rrr!r"r?ZInterfaceErrorrbrhr
rjr�CheckCursorRegistration�s

z'RegressionTests.CheckCursorRegistrationcCstjddd�}dS)NrrJ)rrr1r
r
r�CheckAutoCommit�szRegressionTests.CheckAutoCommitcCs4|j��}|�d�|�d�|�d�|��}dS)Nr3r:zpragma page_size)rrrrB)r	r�rowr
r
r�CheckPragmaAutocommit�s




z%RegressionTests.CheckPragmaAutocommitcCs|�tj|jd�dS�NrS)r?r�Warningrrr
r
r�CheckConnectionCallsz#RegressionTests.CheckConnectionCallcCs"dd�}|�tj|jjd|�dS)NcSsdSrpr
)�a�br
r
r�collation_cbsz4RegressionTests.CheckCollation.<locals>.collation_cbu�)r?rrarZcreate_collation)r	rur
r
r�CheckCollations
�zRegressionTests.CheckCollationc	sft�d�}|�����d���d��fdd�}|�tj����ddd�|�D��W5QRXdS)	Nrzcreate table a (bar)zcreate table b (baz)c3s��dd�dVdS)Nzinsert into a (bar) values (?))rSrS)rr
�rr
r�foosz4RegressionTests.CheckRecursiveCursorUse.<locals>.foozinsert into b (baz) values (?)css|]}|fVqdSr
r
)rr$r
r
r�	<genexpr>%sz:RegressionTests.CheckRecursiveCursorUse.<locals>.<genexpr>)rrrrr?rar!)r	rrxr
rwr�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)NrrzCREATE 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
rr
r
rr:szKRegressionTests.CheckConvertTimestampMicrosecondPadding.<locals>.<listcomp>i�rk��ri@�i@�)rrr;rrrbr&r<)r	rr�valuesr
r
r�'CheckConvertTimestampMicrosecondPadding's



�z7RegressionTests.CheckConvertTimestampMicrosecondPaddingcCs|jttjddd�dS)Nr�{rJ)r?rGrrrr
r
r�CheckInvalidIsolationLevelTypeAs
�z.RegressionTests.CheckInvalidIsolationLevelTypecCsRt�d�}|�t|d�|�t|d�|��}|�t|jd�|�t|jd�dS)Nrz	select 1z	select 1z
 select 2z	select 2)rrr?rZrrrr
r
r�CheckNullCharacterGs
z"RegressionTests.CheckNullCharacterc
Cs�t�d�}|�d�|�|jd�d}t|�d��D]�\}}|j||d��p|�d|f�|��|dkr||�|dd�n2|dkr�|�|dd�n|d	kr�|�|dd	�|d7}W5QRXq4|�|d
d�dS)Nrz�
        create table t(c);
        create table t2(c);
        insert into t values(0);
        insert into t values(1);
        insert into t values(2);
        r8rzselect c from t)r$rnzinsert into t2(c) values (?)rSr.r-z'should have returned exactly three rows)	rrZ
executescriptr&rK�	enumeraterrWr/)r	rZcounterr$rnr
r
r�CheckCommitCursorResetPs 

z&RegressionTests.CheckCommitCursorResetcCsBdd�}t�d�}t�|�}t�||�}|�|�~~t��dS)NcWsdSr
r
)�argsr
r
r�callbacktsz/RegressionTests.CheckBpo31770.<locals>.callbackr)rrr`�weakref�refr^r�
gc_collect)r	r�rrr�r
r
r�
CheckBpo31770os


zRegressionTests.CheckBpo31770c	Cs |�t��|j`W5QRXdSr
)r?�AttributeErrorrrKrr
r
r�CheckDelIsolation_levelSegfaultsz/RegressionTests.CheckDelIsolation_levelSegfaultcCsfGdd�d�}|jjtj|jjdd�|jjfD]2}|�}||j�||j�|j�d�|d�q.dS)Nc@seZdZdd�ZdS)z.RegressionTests.CheckBpo37347.<locals>.PrintercWstjSr
)rZ	SQLITE_OK)r	r�r
r
r�log�sz2RegressionTests.CheckBpo37347.<locals>.Printer.logN)rMrNrOr�r
r
r
r�Printer�sr�rS)�nzselect 1)rZset_trace_callback�	functools�partialZset_progress_handlerZset_authorizerr�r)r	r��methodZprinter_instancer
r
r�
CheckBpo37347�s�

zRegressionTests.CheckBpo37347N)%rMrNrOrrrrr%r(r,�unittestZskipIfrZsqlite_version_infor2r6r9r=rFrHr]rcrerirlrmrorrrvrzr~r�r�r�r�r�r�r
r
r
rrs>

		
	rcCst�td�}t�|f�S)NZCheck)r�Z	makeSuiterZ	TestSuite)Zregression_suiter
r
r�suite�s�r�cCst��}|�t��dSr
)r�ZTextTestRunner�runr�)Zrunnerr
r
r�test�sr��__main__)r<r�Zsqlite3rr�r�r�rZTestCaserr�rMr
r
r
r�<module>sv