HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/testing/__pycache__/exclusions.cpython-310.pyc
o

���g�0�@s`ddlZddlZddlZddlZddlmZddlmZddlmZddlm	Z	d8dd	�Z
d8d
d�ZGdd
�d
�Zd8dd�Z
d8dd�ZGdd�d�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZejZdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd8d(d)�Zd*d+�Zd8d,d-�Zd.d/�Zd8d0d1�Z d8d2d3�Z!d8d4d5�Z"d6d7�Z#dS)9�N���config�)�util)�	decorator)�inspect_getfullargspeccC� t�}t||�}|j�|�|S�N)�compound�
_as_predicate�skips�add��	predicate�reason�rule�pred�r�H/usr/local/lib/python3.10/dist-packages/sqlalchemy/testing/exclusions.py�skip_if�
rcCr	r
)rr�failsrrrrr�fails_ifrrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zedd��Z	d
d�Z
dd�Zdd�Zdd�Z
ejdd��Zdd�Zddd�Zddd�ZdS) rcCst�|_t�|_dSr
)�setrr
��selfrrr�__init__#szcompound.__init__cC�
|�|�Sr
)r�r�otherrrr�__add__'�
zcompound.__add__cCs&t�}|j�|j�|j�|j�|Sr
)rr
�updater)rrrrr�as_skips*szcompound.as_skipscGsLt�}|j�|j�|j�|j�|D]}|j�|j�|j�|j�q|Sr
�rrr#r
)r�others�copyr rrrr0szcompound.addcCs:t�}|j�dd�|jD��|j�dd�|jD��|S)Ncs��|]}t|�VqdSr
��NotPredicate��.0�failrrr�	<genexpr><��z compound.not_.<locals>.<genexpr>csr(r
r))r,�skiprrrr.=r/r%)rr'rrr�not_:sz
compound.not_cCs|�tj�Sr
)�enabled_for_configr�_currentrrrr�enabled@szcompound.enabledcCs&|j�|j�D]	}||�rdSqdS)NFT�r
�unionr)rrrrrrr2Ds
�zcompound.enabled_for_configcs�fdd�|j�|j�D�S)Ncsg|]}|��r|����qSr��
_as_string)r,rrrr�
<listcomp>Ls��z4compound.matching_config_reasons.<locals>.<listcomp>r5�rrrrr�matching_config_reasonsKs
�z compound.matching_config_reasonscCs |j�|j�|j�|j�dSr
)r
r#rrrrr�_extendRszcompound._extendcs<t|d�r
|j���|St�fdd��}||�}�|_|S)N�_sa_exclusion_extendcs�jtj|g|�Ri|��Sr
)�_dorr3)�fn�args�kwrrr�decorate[sz#compound.__call__.<locals>.decorate)�hasattrr=r<r)rr?rB�	decoratedrrr�__call__Vs
zcompound.__call__c
csn�t�}|j�|j�|j��zdVWnty.}z|�tj|�WYd}~dSd}~ww|�	tj�dSr
)
rrr#r
r6�	Exception�_expect_failurerr3�_expect_success)r�	all_fails�exrrr�fail_ifcs�
��zcompound.fail_ifc	
Os�|jD]}||�rdt��|�|�f}t�|�qz	||i|��}Wnty?}z|j|||jd�WYd}~dSd}~ww|j||jd�|S)Nz	'%s' : %s)�name)	r
r�get_current_test_namer8�	skip_testrFrG�__name__rH)	r�cfgr?r@rAr0�msg�return_valuerJrrrr>os 
�
� ��zcompound._do�blockcCsD|jD]}||�rtd||�|�|f�dSq|�t��d��)Nz%s failed as expected (%s): %s r)r�printr8�with_traceback�sys�exc_info)rrrJrLr-rrrrG�s
���zcompound._expect_failurec	sH|jsdS|jD]}|��r!td|d��fdd�|jD��f��qdS)Nz Unexpected success for '%s' (%s)� and c3s�|]}|���VqdSr
r7r+rrrr.�s�

�z+compound._expect_success.<locals>.<genexpr>)r�AssertionError�join)rrrLr-rrrrH�s
������zcompound._expect_successN)rS)rO�
__module__�__qualname__rr!r$rr1�propertyr4r2r;r<rE�
contextlib�contextmanagerrKr>rGrHrrrrr"s"



rcC�t|�}tt|�|�Sr
)rrr*�rrrrr�only_if��rbcCr`r
)rrr*rarrr�succeeds_if�rcrdc@s.eZdZed	dd��Zd
dd�Zddd�ZdS)�	PredicateNcst|t�r��|j|�St|t�r|r|jdur||_|St|ttf�r0t�fdd�|D�|�St|t	�r9t
|�St|t�rtt�
d|�}|sLtd|��|�d�}|�d�}|�d�rjt	dd	�|�d��d
�D��nd}t
||||d�St|�r}t||�SJd
|��)Ncsg|]}��|��qSr)�as_predicate)r,r��clsrrr9��z*Predicate.as_predicate.<locals>.<listcomp>z.([\+\w]+)\s*(?:(>=|==|!=|<=|<|>)\s*([\d\.]+))?z(Couldn't locate DB name in predicate: %rrr�csr(r
)�int)r,�drrrr.�r/z)Predicate.as_predicate.<locals>.<genexpr>�.)�descriptionFzunknown predicate type: %s)�
isinstancerrfr2rern�listr�OrPredicate�tuple�
SpecPredicate�str�re�match�
ValueError�group�split�callable�LambdaPredicate)rhrrn�tokens�db�op�specrrgrrf�s<

�

��

 ��
zPredicate.as_predicateFcCs\||�}|r	|}|j|r|jj��nd|r|jj��nd|r!dnd|r)dd�Sdd�S)Nz<no driver>z
<no database>zdoesn't supportzdoes support)�driver�database�doesnt_support�does_support)rnr}�url�get_driver_name�get_backend_name)rr�negate�bool_rrr�_format_description�s
��zPredicate._format_descriptioncCst��r
)�NotImplementedError�rrr�rrrr8��zPredicate._as_stringr
�F)NF)rOr[r\�classmethodrfr�r8rrrrre�s

#rec@�(eZdZd	dd�Zdd�Zd
dd�ZdS)�BooleanPredicateNcCs||_|pd||_dS)Nz
boolean %s)�valuern)rr�rnrrrr�szBooleanPredicate.__init__cCs|jSr
)r�r:rrrrE�r�zBooleanPredicate.__call__FcCs|j||d�S)N�r��r�r�rrrr8��zBooleanPredicate._as_stringr
r��rOr[r\rrEr8rrrrr���
r�c	@sPeZdZddd�Zejejejejej	ej
ejdd�d�Zdd�Z
d
d
d�ZdS)rsNcCs||_||_||_||_dSr
)r}r~rrn)rr}r~rrnrrrr�s
zSpecPredicate.__init__cCs||dko||dkS)Nrrr)�val�pairrrr�<lambda>��zSpecPredicate.<lambda>)�<�>z==z!=z<=z>=�in�betweencCs�|durdS|j}d|jvr|j�d�\}}n|jd}}|r&|j|kr&dS|dur1|j|kr1dS|jdurW|dus>Jd��t|�}t|jd�rK|jpP|j|j}|||j�SdS)NF�+z%DBAPI version specs not supported yetrET)	r}ryrLr�r~�_server_versionrC�_opsr)rr�engine�dialectr��version�operrrrrE�s"

�zSpecPredicate.__call__FcCsb|jdur
|�|�S|jdur|rd|jSd|jS|r'd|j|j|jfSd|j|j|jfS)Nznot %sz%sznot %s %s %sz%s %s %s)rnr�r~r}rr�rrrr8s




zSpecPredicate._as_string�NNNr�)rOr[r\r�operator�lt�gt�eq�ne�le�ge�containsr�rEr8rrrrrs�s
�rsc@r�)r{Ncsdt��}|ds�fdd�|_n�|_|pd|_|pi|_|r$||_dS�jr-�j|_dSd|_dS)Nrcs��Sr
r)r}��lambda_rrr�*sz*LambdaPredicate.__init__.<locals>.<lambda>rzcustom function)rr�r@rArn�__doc__)rr�rnr@rArrr�rr's



zLambdaPredicate.__init__cCrr
r�r:rrrrE6r"zLambdaPredicate.__call__FcCrr
r�r�rrrr89r"zLambdaPredicate._as_stringr�r�r�rrrrr{&s
r{c@r�)r*NcC�||_||_dSr
)rrn)rrrnrrrr>�
zNotPredicate.__init__cCs|�|�Sr
)rr:rrrrEBszNotPredicate.__call__FcCs$|jr
|�||�S|j�||�Sr
)rnr�rr8r�rrrr8EszNotPredicate._as_stringr
r�r�rrrrr*=r�r*c@s:eZdZd
dd�Zdd�Zddd�Zd	d
�Zddd�ZdS)rqNcCr�r
)�
predicatesrn)rr�rnrrrrMr�zOrPredicate.__init__cCs|jD]	}||�rdSqdS)NTF)r�)rrrrrrrEQs

�zOrPredicate.__call__Fcs*�rd}nd}|���fdd�|jD��S)NrXz or c3s�|]
}|j��d�VqdS)r�Nr7)r,�p�rr�rrr.\s�
�z(OrPredicate._eval_str.<locals>.<genexpr>)rZr�)rrr��conjunctionrr�r�	_eval_strWs�zOrPredicate._eval_strcCs&|jdurd|�|�S|j|dd�S)NzNot Tr�)rnr�r�r:rrr�
_negation_str`s
zOrPredicate._negation_strcCs,|r|�|�S|jdur|�|�S|�|�Sr
)r�rnr�r�r�rrrr8fs




zOrPredicate._as_stringr
r�)rOr[r\rrEr�r�r8rrrrrqLs

	rqcCst|||�tj�Sr
)rsrr3)r}r~rrrr�_is_excludeds�r�cCs.|��}t|jdd�}|durd}|��|S)z#Return a server_version_info tuple.�server_version_infoNr)�connect�getattrr��close)r��connr�rrrr�wsr�cGstdd�|D��S)NcS�g|]}t�|��qSr�rerf�r,r}rrrr9�rizdb_spec.<locals>.<listcomp>�rq��dbsrrr�db_spec�r�r�cC�ttdd��S)NFzmark as execute�rr�rrrr�open�r�r�cCr�)NTzmarked as skipr�rrrr�closed�r�r�cCsttd|pd��S)NTzexpected to fail�rr��rrrrr�r�rcCr�)NTzFuture featurer�rrrr�future�r�r�cC�
t||�Sr
)r�r}rrrr�fails_on�r"r�cGsttdd�|D���S)NcSr�rr�r�rrrr9�riz.fails_on_everything_except.<locals>.<listcomp>)rdrqr�rrr�fails_on_everything_except�sr�cCr�r
)rr�rrrr0�r"r0cs tt�fdd�t�|�D���S)Ncsg|]}t�|���qSrr�r�r�rrr9�r�zonly_on.<locals>.<listcomp>)rbrqr�to_list)r�rrr�r�only_on�s
��r�cCstt|||�|�Sr
)rrs)r}r~rrrrr�exclude�r�r�cGs"|sJd��tdd�|D��|�S)Nzno queries sent!cSr�rr�)r,�queryrrrr9�rizagainst.<locals>.<listcomp>r�)r�queriesrrr�against�s�r�r
)$r^r�rurV�rrr�util.compatrrrrrbrdrer�rsr{r*rqrfrr�r�r�r�r�rr�r�r�r0r�r�r�rrrr�<module>sB


z
8<$