403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.109
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/sqlite3/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

x2_@�@s�ddlZddlZddlZddlZddlmZGdd�dej�ZGdd�d�Z	Gdd�dej�Z
d	d
�Zdd�Zed
kr|e�dS)�N)�supportc@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/python36/lib64/python3.6/sqlite3/test/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%s
z&RegressionTests.CheckPragmaUserVersionc
Cs@tjdtjd�}z|jj�}|jd�Wd|j�|j�XdS)Nz:memory:)�detect_typeszpragma schema_version)rrZPARSE_COLNAMESrr
rr)rrrrrr	�CheckPragmaSchemaVersion*s
z(RegressionTests.CheckPragmaSchemaVersioncs�tjddd���fdd�td�D�}|djd�x.td�D]"}|djd	d
d�td�D��q<Wx&td�D]}||jd|d�qlW�j�dS)
Nz:memory:�)Zcached_statementscsg|]}�j��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|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�assertEqualZdescription)rrrrr	�CheckColumnNameWithSpacesCs



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

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



z'RegressionTests.CheckOnConflictRollbackcCs(|jjd�|jjd�|jjd�dS)zm
        pysqlite would crash with older SQLite versions unless
        a workaround is implemented.
        zcreate table foo(bar)zdrop table fooN)rr)rrrr	�-CheckWorkaroundForBuggySqliteTransferBindingshsz=RegressionTests.CheckWorkaroundForBuggySqliteTransferBindingscCs|jjd�dS)z
        pysqlite used to segfault with SQLite versions 3.5.x. These return NULL
        for "no-operation" statements
        �N)rr)rrrr	�CheckEmptyStatementqsz#RegressionTests.CheckEmptyStatementcCshd}tjdtjd�}|jd�|jdtjj�f�|j|�|jd�|jd�|jd�|j|�d	S)
z�
        pysqlite until 2.4.1 did not rebuild the row_cast_map when recompiling
        a statement. This test exhibits the problem.
        zselect * 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)N)rr�PARSE_DECLTYPESr�datetimeZnow)rZSELECTrrrr	�CheckTypeMapUsagexs




z!RegressionTests.CheckTypeMapUsagecCsP|jtj��$}|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#Z	exception)r�cm�msgrrr	�CheckErrorMsgDecodeError�s
 z(RegressionTests.CheckErrorMsgDecodeErrorcCs|jttjid�dS)z!
        See issue 3312.
        N)r1�	TypeErrorrZregister_adapter)rrrr	�CheckRegisterAdapter�sz$RegressionTests.CheckRegisterAdaptercs�G�fdd�dt�}tjd��d�_xHdD]@}|j|d��*|�_|j��_|j��_||��_WdQRXq*Wd�_d�_d	tfd
tfdtfdtfd
tfg}xR|D]J\}}|j|d��0|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�sr@z:memory:r+�DEFERRED�	IMMEDIATE�	EXCLUSIVE)�level���abczIMMEDIATEEXCLUSIVE�é)r+rArBrC)r#rrr;�subTest�lower�
capitalizer8�
ValueErrorr1r)rr@rDZpairs�value�excr)rr	�CheckSetIsolationLevel�s$



z&RegressionTests.CheckSetIsolationLevelcCspGdd�dtj�}tjd�}||�}|jtj��|jd�j�WdQRX|jtjd��|j�WdQRXdS)zd
        Verifies that cursor methods check whether base class __init__ was
        called.
        c@seZdZdd�ZdS)z?RegressionTests.CheckCursorConstructorCallCheck.<locals>.CursorcSsdS)Nr)rrrrr	�__init__�szHRegressionTests.CheckCursorConstructorCallCheck.<locals>.Cursor.__init__N)r=r>r?rPrrrr	�Cursor�srQz:memory:z
select 4+5Nz$^Base Cursor\.__init__ not called\.$)	rrQrr1�ProgrammingErrorr�fetchall�assertRaisesRegexr)rrQrrrrr	�CheckCursorConstructorCallCheck�s
z/RegressionTests.CheckCursorConstructorCallCheckcCs(Gdd�dt�}|jjd|d�f�dS)za
        The Python 3.0 port of the module didn't cope with values of subclasses of str.
        c@seZdZdS)z/RegressionTests.CheckStrSubclass.<locals>.MyStrN)r=r>r?rrrr	�MyStr�srVzselect ?rGN)r#rr)rrVrrr	�CheckStrSubclass�sz RegressionTests.CheckStrSubclassc	Cs>Gdd�dtj�}|d�}|jtj��|j�}WdQRXdS)zh
        Verifies that connection methods check whether base class __init__ was
        called.
        c@seZdZdd�ZdS)zGRegressionTests.CheckConnectionConstructorCallCheck.<locals>.ConnectioncSsdS)Nr)r�namerrr	rP�szPRegressionTests.CheckConnectionConstructorCallCheck.<locals>.Connection.__init__N)r=r>r?rPrrrr	�
Connection�srYz:memory:N)rrYr1rRr
)rrYrrrrr	�#CheckConnectionConstructorCallCheck�sz3RegressionTests.CheckConnectionConstructorCallCheckc	s�G�fdd�dtj�}Gdd�dtj��|d�}|j�}|jd�|jdd
ddg�|jd�|j�|jtj��|j	�WdQRXdS)z�
        Verifies that subclassed cursor classes are correctly registered with
        the connection object, too.  (fetch-across-rollback problem)
        cseZdZ�fdd�ZdS)z;RegressionTests.CheckCursorRegistration.<locals>.Connectioncs�|�S)Nr)r)rQrr	r
�szBRegressionTests.CheckCursorRegistration.<locals>.Connection.cursorN)r=r>r?r
r)rQrr	rY�srYc@seZdZdd�ZdS)z7RegressionTests.CheckCursorRegistration.<locals>.CursorcSstjj||�dS)N)rrQrP)rrrrr	rP�sz@RegressionTests.CheckCursorRegistration.<locals>.Cursor.__init__N)r=r>r?rPrrrr	rQ�srQz:memory:zcreate table foo(x)zinsert into foo(x) values (?)r%�rzselect x from fooN)r%)r[)r)
rrYrQr
rrrr1ZInterfaceErrorrS)rrYrrr)rQr	�CheckCursorRegistration�s

z'RegressionTests.CheckCursorRegistrationcCstjddd�}dS)z�
        Verifies that creating a connection in autocommit mode works.
        2.5.3 introduced a regression so that these could no longer
        be created.
        z:memory:N)r;)rr)rrrrr	�CheckAutoCommit�szRegressionTests.CheckAutoCommitcCs4|jj�}|jd�|jd�|jd�|j�}dS)z�
        Verifies that running a PRAGMA statement that does an autocommit does
        work. This did not work in 2.5.3/2.5.4.
        zcreate table foo(bar)zinsert into foo(bar) values (5)zpragma page_sizeN)rr
rr4)rr�rowrrr	�CheckPragmaAutocommit�s




z%RegressionTests.CheckPragmaAutocommitcCs|jtj|jd�dS)z}
        Call a connection with a non-string SQL request: check error handling
        of the statement constructor.
        rEN)r1r�Warningr)rrrr	�CheckConnectionCallsz#RegressionTests.CheckConnectionCallcCs"dd�}|jtj|jjd|�dS)NcSsdS)NrEr)�a�brrr	�collation_cbsz4RegressionTests.CheckCollation.<locals>.collation_cbu�)r1rrRrZcreate_collation)rrdrrr	�CheckCollation
szRegressionTests.CheckCollationcsftjd�}|j���jd��jd��fdd�}|jtj���jddd�|�D��Wd	QRXd	S)
z�
        http://bugs.python.org/issue10811

        Recursively using a cursor, such as when reusing it from a generator led to segfaults.
        Now we catch recursive cursor usage and raise a ProgrammingError.
        z:memory:zcreate table a (bar)zcreate table b (baz)c3s�jdd�dVdS)Nzinsert into a (bar) values (?)rE)rE)rr)rrr	�foosz4RegressionTests.CheckRecursiveCursorUse.<locals>.foozinsert into b (baz) values (?)css|]}|fVqdS)Nr)rrrrr	�	<genexpr>$sz:RegressionTests.CheckRecursiveCursorUse.<locals>.<genexpr>N)rrr
rr1rRr)rrrfr)rr	�CheckRecursiveCursorUses


z'RegressionTests.CheckRecursiveCursorUsecCs�tjdtjd�}|j�}|jd�|jd�|jd�|jd�dd�|j�D�}|j|tjd	d
d
ddd
d�tjd	d
d
ddd
d�g�dS)z�
        http://bugs.python.org/issue14720

        The microsecond parsing of convert_timestamp() should pad with zeros,
        since the microsecond string "456" actually represents "456000".
        z: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�r[��ri@�i@�N)rrr-r
rrSrr.)rrr�valuesrrr	�'CheckConvertTimestampMicrosecondPadding&s



z7RegressionTests.CheckConvertTimestampMicrosecondPaddingcCs|jttjddd�dS)Nz:memory:�{)r;)r1r8rr)rrrr	�CheckInvalidIsolationLevelType@sz.RegressionTests.CheckInvalidIsolationLevelTypecCsRtjd�}|jt|d�|jt|d�|j�}|jt|jd�|jt|jd�dS)Nz:memory:z	select 1z	select 1z
 select 2z	select 2)rrr1rLr
r)rrrrrr	�CheckNullCharacterFs
z"RegressionTests.CheckNullCharactercCs�tjd�}|jd�|j|jd�d}x�t|jd��D]�\}}|j||d��p|jd|f�|j�|dkr~|j|dd�n2|dkr�|j|dd�n|d	kr�|j|dd	�|d7}Wd
QRXq6W|j|dd�d
S)
z�
        Connection.commit() did reset cursors, which made sqlite3
        to return rows multiple times when fetched from cursors
        after commit. See issues 10513 and 23129 for details.
        z: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 (?)rEr&Nr%z'should have returned exactly three rows)	rrZ
executescriptrr;�	enumeraterrIr')rrZcounterrr^rrr	�CheckCommitCursorResetOs"
z&RegressionTests.CheckCommitCursorResetcCsBdd�}tjd�}tj|�}tj||�}|j|�~~tj�dS)zm
        The interpreter shouldn't crash in case Cursor.__init__() is called
        more than once.
        cWsdS)Nr)�argsrrr	�callbackssz/RegressionTests.CheckBpo31770.<locals>.callbackz:memory:N)rrrQ�weakref�refrPrZ
gc_collect)rrsrrrurrr	�
CheckBpo31770ns


zRegressionTests.CheckBpo31770N)r%r&r&)#r=r>r?r
rrrrr r$�unittestZskipIfrZsqlite_version_infor)r*r,r/r7r9rOrUrWrZr\r]r_rarerhrlrnrorqrvrrrr	rs8
		
	rc@s"eZdZdZddd�Zdd�ZdS)�UnhashableFuncNcCsd|_||_dS)Nr)�calls�return_value)rrzrrr	rP�szUnhashableFunc.__init__cOs|jd7_|jS)NrE)ryrz)rrr�kwargsrrr	�__call__�szUnhashableFunc.__call__)N)r=r>r?�__hash__rPr|rrrr	rxs
rxc@s@eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)�UnhashableCallbacksTestCasez�
    https://bugs.python.org/issue34052

    Registering unhashable callbacks raises TypeError, callbacks are not
    registered in SQLite after such registration attempt.
    cCstjd�|_dS)Nz:memory:)rrr)rrrr	r
�sz!UnhashableCallbacksTestCase.setUpcCs|jj�dS)N)rr)rrrr	r�sz$UnhashableCallbacksTestCase.tearDownc
CsLtdd�}|jtd��|jj|d�WdQRX|jjd�|j|j�dS)Nr)rzzunhashable typerEzSELECT 1)rxrTr8rZset_progress_handlerr�assertFalsery)r�frrr	�test_progress_handler�s

z1UnhashableCallbacksTestCase.test_progress_handlercCstd}t�}|jtd��|jj|d|�WdQRXd|}|jtj|��|jjd|�WdQRX|j|j	�dS)N�	func_namezunhashable typerzno such function: %szSELECT %s())
rxrTr8rZcreate_functionrr(rrry)rr�r�r6rrr	�	test_func�sz%UnhashableCallbacksTestCase.test_funcc	CsLttjd�}|jtd��|jj|�WdQRX|jjd�|j|j	�dS)N)rzzunhashable typezSELECT 1)
rxrZSQLITE_DENYrTr8rZset_authorizerrrry)rr�rrr	�test_authorizer�s
z+UnhashableCallbacksTestCase.test_authorizercCszGdd�dt�}d}|jtd��|jj|d|dfi��WdQRXd|}|jtj|��|jjd|�WdQRXdS)	Nc@seZdZdZdS)z=UnhashableCallbacksTestCase.test_aggr.<locals>.UnhashableTypeN)r=r>r?r}rrrr	�UnhashableType�sr��	aggr_namezunhashable typerZAggrzno such function: %szSELECT %s())�typerTr8rZcreate_aggregaterr(r)rr�r�r6rrr	�	test_aggr�s"z%UnhashableCallbacksTestCase.test_aggrN)
r=r>r?�__doc__r
rr�r�r�r�rrrr	r~�s
r~cCs tjtd�}tj|tjt�f�S)NZCheck)rwZ	makeSuiterZ	TestSuiter~)Zregression_suiterrr	�suite�sr�cCstj�}|jt��dS)N)rwZTextTestRunnerZrunr�)Zrunnerrrr	�test�sr��__main__)
r.rwZsqlite3rrtr�rZTestCaserrxr~r�r=rrrr	�<module>sc0

Youez - 2016 - github.com/yon3zu
LinuXploit