ó
    øÞ j‹M  ã                   ó’   • S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJr  S SKJr  S SKrSS	KJr   " S
 S\5      rg)é    N)ÚPath)ÚOperationalError)ÚTemporaryDirectory)ÚThread)ÚIsolatedAsyncioTestCaseÚSkipTest)Úpatché   ©Úsetup_loggerc                   óÞ   • \ rS rSr\S 5       rS rS rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S  r#S! r$S"r%g#)$Ú	SmokeTesté   c                 ó   • [        5         g ©Nr   )Úclss    ÚO/var/www/html/gaurav/venv/lib/python3.13/site-packages/aiosqlite/tests/smoke.pyÚ
setUpClassÚSmokeTest.setUpClass   s   € ä�ó    c                 ó¤   • [        5       nU R                  UR                  5        [        UR                  5      R                  5       S-  U l        g )Nztest.db)r   Ú
addCleanupÚcleanupr   ÚnameÚresolveÚdb)ÚselfÚtds     r   ÚsetUpÚSmokeTest.setUp   s7   € ÜÓ!ˆØ�‰˜Ÿ
™
Ô#Ü�r—w‘w“-×'Ñ'Ó)¨IÑ5ˆ�r   c              ƒ   ó¾  #   • [         R                  " U R                  5      I S h  v•N nU R                  U[         R                  5        UR                  S5       IS h  v•N nUR                  5       I S h  v•N nU R                  US/5        S S S 5      IS h  v•N   UR                  5       I S h  v•N   g  N’ NZ ND N#! , IS h  v•N  (       d  f       N8= f N'7f©Núselect 1, 2)r
   é   )	Ú	aiosqliteÚconnectr   ÚassertIsInstanceÚ
ConnectionÚexecuteÚfetchallÚassertEqualÚclose©r   r   ÚcursorÚrowss       r   Útest_connection_awaitÚSmokeTest.test_connection_await   sž   é € Ü×$Ò$ T§W¡WÓ-×-ˆØ×Ñ˜b¤)×"6Ñ"6Ô7à—:‘:˜m×,Ô,°ØŸ™Ó*×*ˆDØ×Ñ˜T F 8Ô,÷ -×,ð �h‰h‹j×Ññ .ñ -Ù*÷ -×,×,Ð,úñ 	ùsu   ‚$C¦B9§9CÁ B;Á!CÁ$CÁ8B=Á9CÂCÂB?ÂCÂ3CÂ4CÂ;CÂ=CÂ?CÃCÃC
ÃCÃCc              ƒ   óä  #   • [         R                  " U R                  5       IS h  v•N nU R                  U[         R                  5        UR                  S5       IS h  v•N nUR                  5       I S h  v•N nU R                  US/5        S S S 5      IS h  v•N   S S S 5      IS h  v•N   g  NŠ NR N< N! , IS h  v•N  (       d  f       N0= f N'! , IS h  v•N  (       d  f       g = f7fr"   )r%   r&   r   r'   r(   r)   r*   r+   r-   s       r   Útest_connection_contextÚ!SmokeTest.test_connection_context&   sœ   é € Ü×$Ò$ T§W¡W×-Ô-°Ø×!Ñ! "¤i×&:Ñ&:Ô;à—z‘z -×0Ô0°FØ#Ÿ_™_Ó.×.�Ø× Ñ  ¨ xÔ0÷ 1×0÷ .×-Ò-ñ 1Ù.÷ 1×0×0Ð0ú÷ .×-×-Ð-üsž   ‚%C0§B2¨C0«6CÁ!B4Á"CÁ%B:Á9B6Á:B:ÂCÂB8ÂCÂ!C0Â,CÂ-C0Â4CÂ6B:Â8CÂ:C	Ã CÃC	ÃCÃC0ÃC-ÃCÃC-Ã)C0c              ƒ   ó„  ^#   • U R                   R                  5       m " U4S jS5      n[        T5      TTR                  5       U" 5       4n[        R
                  " US   5       IS h  v•N nUR                  S5      I S h  v•N   UR                  S5      I S h  v•N   UR                  5       I S h  v•N   UR                  S5      I S h  v•N nUR                  5       I S h  v•N nS S S 5      IS h  v•N   U Hs  n[        R
                  " U5       IS h  v•N nUR                  S5      I S h  v•N nU R                  UR                  5       I S h  v•N W5        S S S 5      IS h  v•N   Mu     g  GN
 Nó NÜ NÆ N¯ N™ N‹! , IS h  v•N  (       d  f       N = f Nƒ Nl NK N8! , IS h  v•N  (       d  f       MÁ  = f7f)Nc                   ó"   >• \ rS rSrU 4S jrSrg)Ú1SmokeTest.test_connection_locations.<locals>.Fakeé1   c                 ó   >• T$ r   © )r   ÚTEST_DBs    €r   Ú__str__Ú9SmokeTest.test_connection_locations.<locals>.Fake.__str__2   s   ø€ Ø�r   r:   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r<   Ú__static_attributes__)r;   s   €r   ÚFaker7   1   s   ø† ÷ð r   rC   r   z'create table foo (i integer, k integer)z$insert into foo (i, k) values (1, 5)úselect * from foo)
r   Úas_posixr   Úencoder%   r&   r)   Úcommitr*   r+   )r   rC   Úlocsr   r.   r/   Úlocr;   s          @r   Útest_connection_locationsÚ#SmokeTest.test_connection_locations.   sF  øé € Ø—'‘'×"Ñ"Ó$ˆ÷	ô 	ô �W“˜w¨¯©Ó(8¹$»&ÐAˆä×$Ò$ T¨!¡W×-Ô-°Ø—*‘*ÐFÓG×GÐGØ—*‘*ÐCÓD×DÐDØ—)‘)“+×ÐàŸ:™:Ð&9Ó:×:ˆFØŸ™Ó*×*ˆD÷ .×-ó ˆCÜ ×(Ò(¨×-Ô-°Ø!Ÿz™zÐ*=Ó>×>�Ø× Ñ  v§¡Ó'8×!8¸$Ô?÷ .×-Ñ-ò ò .ÙGÙDÙá:Ù*÷ .×-×-Ð-úñ .Ù>Ù!8÷ .×-×-Ñ-üs  ƒA'G Á*E4Á+G Á.FÂE7ÂFÂE9ÂFÂ4E;Â5FÃE=ÃFÃ%E?Ã&FÃ*G Ã5FÃ6#G ÄFÄG ÄF%Ä2FÄ3"F%ÅF!Å	F%ÅG Å*F#Å+
G Å7FÅ9FÅ;FÅ=FÅ?FÆG ÆFÆ	FÆ
FÆG ÆF%Æ!F%Æ#G Æ%F=	Æ+F.Æ,F=	Æ8G c              ƒ   ó¸  ^ #   • [         R                  " T R                  5       IS h  v•N nUR                  S5      I S h  v•N   S S S 5      IS h  v•N   U 4S jn[        R
                  " [        S5       Vs/ sH
  o2" U5      PM     sn6 I S h  v•N   [         R                  " T R                  5       IS h  v•N nUR                  S5      I S h  v•N nUR                  5       I S h  v•N nS S S 5      IS h  v•N   [        W5      S:X  d   eg  Nè NÑ NÃ! , IS h  v•N  (       d  f       NØ= fs  snf  N¥ N~ Ng NQ NC! , IS h  v•N  (       d  f       NX= f7f)NzHcreate table multiple_connections (i integer primary key asc, k integer)c              “   ó*  >#   • [         R                  " TR                  5       IS h  v•N nUR                  SU /5      I S h  v•N   UR	                  5       I S h  v•N   S S S 5      IS h  v•N   g  NH N/ N N! , IS h  v•N  (       d  f       g = f7f)Nz/insert into multiple_connections (k) values (?))r%   r&   r   r)   rG   )Úir   r   s     €r   Údo_one_connÚ8SmokeTest.test_multiple_connections.<locals>.do_one_connK   sd   øé € Ü ×(Ò(¨¯©×1Ô1°RØ—j‘jÐ!RÐUVÐTWÓX×XÐXØ—i‘i“k×!Ð!÷ 2×1Ò1ÙXÙ!÷ 2×1×1Ð1üsh   ƒ%B¨A1©B¬A9ÁA3ÁA9ÁA5ÁA9Á BÁ+A7Á,BÁ3A9Á5A9Á7BÁ9BÁ?BÂ BÂBé
   z"select * from multiple_connections)	r%   r&   r   r)   ÚasyncioÚgatherÚranger*   Úlen)r   r   rO   rN   r.   r/   s   `     r   Útest_multiple_connectionsÚ#SmokeTest.test_multiple_connectionsD   sú   øé € Ü×$Ò$ T§W¡W×-Ô-°Ø—*‘*ð9ó÷ ð ÷ .×-õ	"ô
 �nŠn´u¸R´yÓA±y°!˜{¨1ž~±yÑAÐB×BÐBä×$Ò$ T§W¡W×-Ô-°ØŸ:™:Ð&JÓK×KˆFØŸ™Ó*×*ˆD÷ .×-ô �4‹y˜B‹Ð‰ñ# .ñ÷ .×-×-Ð-üò BÑBá-ÙKÙ*÷ .×-×-Ð-üsÚ   ƒ%E¨D©E¬DÁDÁDÁEÁDÁ'EÁ9D1Â	EÂD6Â(EÂ9D8Â:EÂ=E ÃD:ÃE Ã*D<Ã+E Ã/EÃ:D>Ã;EÄDÄEÄD.ÄD ÄD.Ä*EÄ8EÄ:E Ä<E Ä>EÅ EÅE	ÅEÅEc           
   ƒ   óø  #   • [         R                  " U R                  5       IS h  v•N nUR                  S5      I S h  v•N   [        R
                  " [        S5       Vs/ sH  nUR                  SU/5      PM     sn6 I S h  v•N   UR                  5       I S h  v•N   S S S 5      IS h  v•N   [         R                  " U R                  5       IS h  v•N nUR                  S5      I S h  v•N nUR                  5       I S h  v•N nS S S 5      IS h  v•N   [        W5      S:X  d   eg  GN Nðs  snf  N² Nœ NŽ! , IS h  v•N  (       d  f       N£= f N� Nj NT NF! , IS h  v•N  (       d  f       N[= f7f)NzDcreate table multiple_queries (i integer primary key asc, k integer)rQ   z+insert into multiple_queries (k) values (?)zselect * from multiple_queries)
r%   r&   r   r)   rR   rS   rT   rG   r*   rU   )r   r   rN   r.   r/   s        r   Útest_multiple_queriesÚSmokeTest.test_multiple_queriesX   s,  é € Ü×$Ò$ T§W¡W×-Ô-°Ø—*‘*ð9ó÷ ð ô
 —.’.ô # 2œYóá&˜ð —J‘JÐLÈqÈcÖRÙ&ñð÷ ð ð —)‘)“+×Ð÷ .×-ô ×$Ò$ T§W¡W×-Ô-°ØŸ:™:Ð&FÓG×GˆFØŸ™Ó*×*ˆD÷ .×-ô �4‹y˜B‹Ð‰ò' .ñùòññ ÷ .×-×-Ð-úñ .ÙGÙ*÷ .×-×-Ð-üsì   ‚%E:§D.¨E:«D>Á D1Á!D>Á"D3
Á>D>ÂD8ÂD>ÂD:ÂD>Â"E:Â-D<Â.(E:ÃEÃE:ÃE Ã/EÃ0E ÄEÄE ÄE:ÄEÄE:Ä1D>Ä3D>Ä:D>Ä<E:Ä>EÅEÅEÅE:ÅE ÅE ÅE:Å E7Å&E)Å'E7Å3E:c              ƒ   ó  #   • [         R                  " U R                  5       IS h  v•N nUR                  5       I S h  v•N nUR	                  S5      I S h  v•N   UR                  S[        S5       Vs/ sH  o3/PM     sn5      I S h  v•N   UR                  5       I S h  v•N   S S S 5      IS h  v•N   [         R                  " U R                  5       IS h  v•N nUR	                  S5      I S h  v•N n/ nU  S h  v•N nUR                  U5        M   Nò NÜ NÅs  snf  N™ Nƒ Nu! , IS h  v•N  (       d  f       NŠ= f Nh NQ NF
 S S S 5      IS h  v•N    O! , IS h  v•N  (       d  f       O= f[        W5      S:X  d   eg 7f)NzCcreate table iterable_cursor (i integer primary key asc, k integer)z*insert into iterable_cursor (k) values (?)rQ   zselect * from iterable_cursor©
r%   r&   r   r.   r)   ÚexecutemanyrT   rG   ÚappendrU   ©r   r   r.   rN   r/   Úrows         r   Útest_iterable_cursorÚSmokeTest.test_iterable_cursorn   s7  é € Ü×$Ò$ T§W¡W×-Ô-°ØŸ9™9›;×&ˆFØ—.‘.ØXó÷ ð ð ×$Ñ$Ø<ÌEÐRTÌIÓ>VÉIÀq»sÉIÑ>Vó÷ ð ð —)‘)“+×Ð÷ .×-ô ×$Ò$ T§W¡W×-Ô-°ØŸ:™:Ð&EÓF×FˆFØˆDÙ#÷ !�cØ—‘˜CÖ ñ .Ù&ñùò ?Wññ ÷ .×-×-Ð-úñ .ÙFñ!˜V÷ .×-×-×-×-Ð-úô �4‹y˜B‹Ð‰ùs  ‚%F
§D¨F
«D+¿DÁ D+ÁDÁD+Á6D Â
D+ÂD%ÂD+Â#D'Â$D+Â(F
Â3D)Â4(F
ÃEÃF
Ã EÃ5EÃ6EÃ>EÄE	ÄEÄEÄF
ÄD+ÄD+Ä D+Ä'D+Ä)F
Ä+EÄ1D4Ä2EÄ>F
ÅEÅ	EÅEÅF
ÅEÅF
ÅE5Å$E'Å%E5Å1F
c           	   ƒ   ó®  ^ ^#   • 0 mUU 4S jn[         R                  " S5       IS h  v•N nUR                  S5      I S h  v•N   UR                  SS5      I S h  v•N   UR                  5       I S h  v•N   [	        S5       Vs/ sH  n[        XU4S9PM     nnU H  nUR                  5         M     U H  nUR                  5         M     S S S 5      IS h  v•N   T R                  [        T5      S5        TR                  5        H  nT R                  [        U5      S5        M      g  GN Nì NÔ N¾s  snf  N`! , IS h  v•N  (       d  f       Nu= f7f)	Nc                 óì   >^• UU4S jnTR                  U 5         [        R                  " 5       nUR                  U" 5       5      nUR	                  5         UTU '   S S S 5        g ! , (       d  f       g = f)Nc               “   ó  >#   • TR                  S5       IS h  v•N n U R                  5       I S h  v•N nTR                  [        U5      S5        UsS S S 5      IS h  v•N   $  NJ N4 N	! , IS h  v•N  (       d  f       g = f7f)NrD   r$   )r)   r*   r+   rU   )r.   r/   Úconnr   s     €€r   ÚqueryÚ>SmokeTest.test_multi_loop_usage.<locals>.runner.<locals>.query…   sZ   øé € ØŸ<™<Ð(;×<Ô<ÀØ!'§¡Ó!2×2�DØ×$Ñ$¤S¨£Y°Ô2Ø÷ =×<Ó<Ù2÷ =×<×<Ð<üsT   ƒB™A$šB�A*±A&² A*ÁBÁA(ÁBÁ&A*Á(BÁ*BÁ0A3Á1BÁ=B)ÚsubTestrR   Únew_event_loopÚrun_until_completer,   )Úkrf   rg   Úloopr/   Úresultsr   s    `   €€r   ÚrunnerÚ/SmokeTest.test_multi_loop_usage.<locals>.runner„   sQ   ù€ ö ð —‘˜a•Ü×-Ò-Ó/�Ø×.Ñ.©u«wÓ7�Ø—
‘
”Ø!�˜‘
÷	 !—–ús   ›AA%Á%
A3ú:memory:z'create table foo (id int, name varchar)z%insert into foo values (?, ?), (?, ?))r
   ÚSallyr$   ÚJaneté   )ÚtargetÚargsr$   )r%   r&   r)   rG   rT   r   ÚstartÚjoinr+   rU   Úvalues)r   ro   r   rl   ÚthreadsÚthreadr/   rn   s   `      @r   Útest_multi_loop_usageÚSmokeTest.test_multi_loop_usage�   s  ùé € Øˆö	"ô ×$Ò$ Z×0Ô0°BØ—*‘*ÐFÓG×GÐGØ—*‘*Ø7Ð9Qó÷ ð ð —)‘)“+×ÐäDIÈ!ÄHÓMÁH¸q”v V°b°'Ô:ÁHˆGÐMÛ!�Ø—‘–ñ "ã!�Ø—‘–ñ "÷ 1×0ð 	×Ñœ˜W› qÔ)Ø—N‘NÖ$ˆDØ×ÑœS ›Y¨Ö*ò %ò 1ÙGññ ùâM÷ 1×0×0Ð0üs�   „$E¨D+©E¬D;ÁD.ÁD;ÁD0ÁD;Á3D2Á4D;ÂD4Â4D;ÃEÃD9ÃAEÄ.D;Ä0D;Ä2D;Ä4D;Ä9EÄ;EÅEÅEÅEc           	   ƒ   óÎ  #   • [         R                  " U R                  5       IS h  v•N nUR                  5        IS h  v•N nUR	                  S5      I S h  v•N   UR                  S[        S5       Vs/ sH  o3/PM     sn5      I S h  v•N   UR                  5       I S h  v•N   S S S 5      IS h  v•N   S S S 5      IS h  v•N   [         R                  " U R                  5       IS h  v•N nUR	                  S5       IS h  v•N n/ nU  S h  v•N nUR                  U5        M   GN Nî N×s  snf  N« N• N‡! , IS h  v•N  (       d  f       Nœ= f N“! , IS h  v•N  (       d  f       N¨= f N† Nn Nc
 S S S 5      IS h  v•N    O! , IS h  v•N  (       d  f       O= fS S S 5      IS h  v•N    O! , IS h  v•N  (       d  f       O= f[        W5      S:X  d   eg 7f)NzBcreate table context_cursor (i integer primary key asc, k integer)z)insert into context_cursor (k) values (?)rQ   zselect * from context_cursorr\   r_   s         r   Útest_context_cursorÚSmokeTest.test_context_cursor¢   s`  é € Ü×$Ò$ T§W¡W×-Ô-°Ø—y‘y—{”{ fØ—n‘nð=ó÷ ð ð ×(Ñ(Ø?Ü"'¨¤)Ó,¡)˜Q“S¡)Ñ,ó÷ ð ð —i‘i“k×!Ð!÷ #—{÷ .×-ô ×$Ò$ T§W¡W×-Ô-°Ø—z‘zÐ"@×AÔAÀVØ�Ù!'÷ %˜#Ø—K‘K Ö$ò! .Ù"ñùò -ññ "÷ #—{—{�{ú÷ .×-×-Ð-úñ .ÙAñ% ÷ B×A×A×A×AÐAú÷ .×-×-×-×-Ð-úô �4‹y˜B‹Ð‰ùsv  ‚%G%§D,¨G%«EÁ D/ÁEÁD>ÁD1ÁD>Á7D3Â
D>ÂD8ÂD>Â$D:Â%D>Â)EÂ4D<Â5EÂ9G%ÃEÃ(G%Ã-E4Ã.G%Ã1F9ÄE6ÄF9ÄFÄE:ÄE8
ÄE:ÄFÄ,G%Ä/EÄ1D>Ä3D>Ä:D>Ä<EÄ>E	ÅEÅE	ÅEÅG%ÅE1Å E#Å!E1Å-G%Å6F9Å8E:Å:FÅ;F9ÆF	ÆF9ÆF$	ÆFÆF$	Æ F9Æ'G%Æ2F5Æ3G%Æ9GÆ?GÇ GÇG%c              ƒ   óþ  #   • [         R                  " U R                  5       IS h  v•N nUR                  5       I S h  v•N nUR	                  S5      I S h  v•N nU R                  X2S5        UR                  SSS/5      I S h  v•N nU R                  X25        UR                  S5      I S h  v•N nU R                  X25        S S S 5      IS h  v•N   g  N¯ N™ N‚ NV N. N! , IS h  v•N  (       d  f       g = f7f)Nz;create table test_cursor_return_self (i integer, k integer)zcursor execute returns itselfz1insert into test_cursor_return_self values (?, ?))r
   r
   )r$   r$   z–insert into test_cursor_return_self values (3, 3);insert into test_cursor_return_self values (4, 4);insert into test_cursor_return_self values (5, 5);)r%   r&   r   r.   r)   r+   r]   Úexecutescript)r   r   r.   Úresults       r   Útest_cursor_return_selfÚ!SmokeTest.test_cursor_return_self·   sØ   é € Ü×$Ò$ T§W¡W×-Ô-°ØŸ9™9›;×&ˆFà!Ÿ>™>ØMó÷ ˆFð ×Ñ˜VÐ-LÔMà!×-Ñ-ØCÀfÈfÐEUó÷ ˆFð ×Ñ˜VÔ,à!×/Ñ/ðEó÷ ˆFð
 ×Ñ˜VÔ,÷% .×-Ò-Ù&ññ
ñ
÷ .×-×-Ð-üs‹   ‚%C=§C¨C=«C#¿CÁ C#ÁCÁ-C#ÂCÂ)C#Â0CÂ1C#ÃC=ÃC!ÃC=ÃC#ÃC#ÃC#ÃC#Ã!C=Ã#C:Ã)C,Ã*C:Ã6C=c              ƒ   ó\
  #   • [         R                  " U R                  5       IS h  v•N nU R                  UR                  S5        UR                  5        IS h  v•N nU R                  UR                  5        UR                  S5      I S h  v•N   UR                  S5      I S h  v•N   U R                  UR                  5        UR                  5       I S h  v•N   U R                  UR                  5        S S S 5      IS h  v•N   U R                  UR                  S5        U R                  UR                  5        U R                  UR                  [        5        UR                  5        IS h  v•N nUR                  S5      I S h  v•N   UR                  5       I S h  v•N nU R!                  U["        5        U R                  US5        U R%                  [&        5         US   nS S S 5        S S S 5      IS h  v•N   UR                  5        IS h  v•N n[         R(                  Ul        U R                  UR                  [         R(                  5        UR                  S5      I S h  v•N   UR                  5       I S h  v•N nU R!                  U[         R(                  5        U R                  US   S5        U R                  US   S	5        U R                  US   S5        U R                  US
   S	5        S S S 5      IS h  v•N   [         R(                  Ul        [*        Ul        U R                  UR                  [         R(                  5        U R                  UR                  [*        5        UR                  5        IS h  v•N nUR                  S5      I S h  v•N   UR                  5       I S h  v•N nU R!                  U[         R(                  5        U R                  US   S5        U R                  US   S5        U R                  US   S5        U R                  US
   S5        S S S 5      IS h  v•N   S S S 5      IS h  v•N   g  GN7 GN GNÔ GN¾ GNŽ GNf! , IS h  v•N  (       d  f       GN|= f GN GNþ GNé! , (       d  f       GN«= f GN£! , IS h  v•N  (       d  f       GN¹= f GN¨ GNS GN> GN½! , IS h  v•N  (       d  f       GNÓ= f GNX GNB GN- N«! , IS h  v•N  (       d  f       NÀ= f N·! , IS h  v•N  (       d  f       g = f7f)Nr   zKcreate table test_properties (i integer primary key asc, k integer, d text)z3insert into test_properties (k, d) values (1, 'hi')r
   zselect * from test_properties)r
   r
   Úhirl   r$   r‡   Úds   hi)r%   r&   r   r+   Útotal_changesr.   ÚassertFalseÚin_transactionr)   Ú
assertTruerG   ÚassertIsNoneÚrow_factoryÚtext_factoryÚstrÚfetchoner'   ÚtupleÚassertRaisesÚ	TypeErrorÚRowÚbytes)r   r   r.   r`   Ú_s        r   Útest_connection_propertiesÚ$SmokeTest.test_connection_propertiesÌ   s   é € Ü×$Ò$ T§W¡W×-Ô-°Ø×Ñ˜R×-Ñ-¨qÔ1à—y‘y—{”{ fØ× Ñ  ×!2Ñ!2Ô3Ø—n‘nðEó÷ ð ð —n‘nØIó÷ ð ð —‘ × 1Ñ 1Ô2Ø—i‘i“k×!Ð!Ø× Ñ  ×!2Ñ!2Ô3÷ #—{ð ×Ñ˜R×-Ñ-¨qÔ1à×Ñ˜bŸn™nÔ-Ø×Ñ˜RŸ_™_¬cÔ2à—y‘y—{”{ fØ—n‘nÐ%DÓE×EÐEØ"ŸO™OÓ-×-�Ø×%Ñ% c¬5Ô1Ø× Ñ   lÔ3Ø×&Ñ&¤yÕ1Ø˜C™�A÷ 2÷ #—{ð —y‘y—{”{ fÜ%.§]¡]�Ô"Ø× Ñ  ×!3Ñ!3´Y·]±]ÔCØ—n‘nÐ%DÓE×EÐEØ"ŸO™OÓ-×-�Ø×%Ñ% c¬9¯=©=Ô9Ø× Ñ   Q¡¨Ô+Ø× Ñ   Q¡¨Ô.Ø× Ñ   S¡¨1Ô-Ø× Ñ   S¡¨4Ô0÷ #—{ô 'Ÿ]™]ˆBŒNÜ#ˆBŒOØ×Ñ˜RŸ^™^¬Y¯]©]Ô;Ø×Ñ˜RŸ_™_¬eÔ4à—y‘y—{”{ fØ—n‘nÐ%DÓE×EÐEØ"ŸO™OÓ-×-�Ø×%Ñ% c¬9¯=©=Ô9Ø× Ñ   Q¡¨Ô+Ø× Ñ   Q¡¨Ô/Ø× Ñ   S¡¨1Ô-Ø× Ñ   S¡¨5Ô1÷ #—{÷[ .×-Ó-ò #òòò "÷ #—{—{’{úò$ #ÚEÚ-÷ 2Ö1ú÷ #—{—{’{úò #ò FÚ-÷	 #—{—{’{úò  #ÚEÚ-÷ #—{—{�{ú÷[ .×-×-Ð-üs  ‚%T,§Q¨T,«1TÁQ!ÁTÁ 0Q0ÂQ$ÂQ0Â)Q'Â*2Q0ÃQ*ÃQ0Ã<TÄQ-ÄA/TÅ7RÅ8TÅ;R)ÆRÆR)Æ(RÆ)AR)Ç*RÇ0R)Ç8TÈR&ÈTÈSÈTÈ ASÉ4SÉ5SÊS
ÊA8SÌTÌSÌBTÎS+ÎTÎS6Î,S.Î-S6ÏS1ÏA8S6Ð=TÑS4Ñ	TÑT,ÑTÑT,Ñ!TÑ$Q0Ñ'Q0Ñ*Q0Ñ-TÑ0R	Ñ6Q9Ñ7R	Ò	TÒR)ÒR)Ò
R#ÒR)Ò&TÒ)S	Ò/R2Ò0S	Ò<	TÓSÓ
SÓTÓS(	ÓSÓS(	Ó#	TÓ.S6Ó1S6Ó4TÓ6T	Ó<S?Ó=T	Ô	TÔT,ÔT)ÔTÔT)Ô%T,c              ƒ   óš  #   • [         R                  " U R                  5       IS h  v•N nUR                  S5      I S h  v•N   UR                  S5      I S h  v•N   UR	                  5       I S h  v•N   S S S 5      IS h  v•N   [         R                  " U R                  5       IS h  v•N nUR                  S5      I S h  v•N nUR                  5       I S h  v•N nU R                  U/ SQ5        S S S 5      IS h  v•N   g  NÝ NÆ N¯ N™ N‹! , IS h  v•N  (       d  f       N = f N~ Ng NQ N/! , IS h  v•N  (       d  f       g = f7f)NzBcreate table test_fetch_all (i integer primary key asc, k integer)z<insert into test_fetch_all (k) values (10), (24), (16), (32)z)select k from test_fetch_all where k < 30))rQ   )é   )é   )r%   r&   r   r)   rG   r*   r+   r-   s       r   Útest_fetch_allÚSmokeTest.test_fetch_all  sû   é € Ü×$Ò$ T§W¡W×-Ô-°Ø—*‘*ØTó÷ ð ð —*‘*ØNó÷ ð ð —)‘)“+×Ð÷ .×-ô ×$Ò$ T§W¡W×-Ô-°ØŸ:™:Ð&QÓR×RˆFØŸ™Ó*×*ˆDØ×Ñ˜TÒ#8Ô9÷ .×-Ð-ñ .ñññ ÷ .×-×-Ð-úñ .ÙRÙ*÷ .×-×-Ð-üsà   ‚%E§D¨E«DÁ DÁDÁD	ÁDÁ1DÁ2DÁ6EÂDÂ(EÂ*D)Â+EÂ.D1ÃD+ÃD1ÃD-ÃD1Ã4EÃ?D/Ä EÄDÄ	DÄDÄEÄD&ÄDÄD&Ä"EÄ+D1Ä-D1Ä/EÄ1EÄ7D:Ä8EÅEc              ƒ   ó¬  #   • [         R                  " U R                  5       ISh  v•N n UR                  S5      I Sh  v•N   UR	                  S5      I Sh  v•N   SSS5      ISh  v•N   g NH N0 N! [
         a  nSUR                  ;  d   e SnAN8SnAf[         a  n[        S5      UeSnAff = f NM! , ISh  v•N  (       d  f       g= f7f)z@Assert that after enabling extension loading, they can be loadedNTÚtestznot authorizedzKpython was not compiled with sqlite3 extension support, so we can't test it)	r%   r&   r   Úenable_load_extensionÚload_extensionr   rv   ÚAttributeErrorr   )r   r   Úes      r   Útest_enable_load_extensionÚ$SmokeTest.test_enable_load_extension  sª   é € ä×$Ò$ T§W¡W×-Ô-°ð	Ø×.Ñ.¨tÓ4×4Ð4Ø×'Ñ'¨Ó/×/Ð/÷ .×-Ò-á4Ù/øÜ#ó 6Ø'¨q¯v©vÓ5Ð5Õ5ûÜ!ó Üð=óð ðûðú÷ .×-×-Ð-üs—   ‚%C§A0¨C«B:­A6ÁA2ÁA6ÁA4ÁA6ÁCÁ*B8Á+CÁ2A6Á4A6Á6
B5Â BÂB:ÂB5Â$B0Â0B5Â5B:Â8CÂ:CÃ CÃCÃCc              ƒ   óˆ  #   • [         R                  " U R                  5       ISh  v•N nUR                  S S5      I Sh  v•N   U R	                  [
        5         UR                  S5      I Sh  v•N   SSS5        SSS5      ISh  v•N   g Ng NN N!! , (       d  f       N%= f N! , ISh  v•N  (       d  f       g= f7f)zU
Assert that after setting a progress handler returning 1, DB operations are aborted
Nc                  ó   • g)Nr
   r:   r:   r   r   Ú<lambda>Ú5SmokeTest.test_set_progress_handler.<locals>.<lambda>%  s   € °!r   r
   zIcreate table test_progress_handler (i integer primary key asc, k integer))r%   r&   r   Úset_progress_handlerr“   r   r)   ©r   r   s     r   Útest_set_progress_handlerÚ#SmokeTest.test_set_progress_handler   s‹   é € ô ×$Ò$ T§W¡W×-Ô-°Ø×)Ñ)©)°QÓ7×7Ð7Ø×"Ñ"Ô#3Õ4Ø—j‘jØ_ó÷ ð ÷ 5÷ .×-Ò-Ù7ñ÷ 5Õ4ú÷ .×-×-Ð-üs€   ‚%C§B¨C«B(ÁBÁB(ÁBÁ1BÁ2BÁ6B(Á>CÂ	B&Â
CÂB(ÂBÂ
B#	ÂB(Â&CÂ(B?Â.B1Â/B?Â;Cc              ƒ   ó  #   • S nS n[         R                  " U R                  5       ISh  v•N nUR                  SSU5      I Sh  v•N   UR                  SSU5      I Sh  v•N   UR	                  S5       ISh  v•N nUR                  5       I Sh  v•N nU R                  US   S	5        SSS5      ISh  v•N   UR	                  S
5       ISh  v•N nUR                  5       I Sh  v•N nU R                  US   S5        SSS5      ISh  v•N   SSS5      ISh  v•N   g Nù Nà NÇ N¯ N™ Nv! , ISh  v•N  (       d  f       N‹= f Nx Nb N?! , ISh  v•N  (       d  f       NT= f NK! , ISh  v•N  (       d  f       g= f7f)z<Assert that after creating a custom function, it can be usedc                  ó   • g)Núno argr:   r:   r   r   Úno_argÚ.SmokeTest.test_create_function.<locals>.no_arg.  s   € Ør   c                 ó   • U S-  $ ©Nr$   r:   ©Únums    r   Úone_argÚ/SmokeTest.test_create_function.<locals>.one_arg1  ó   € Ø˜‘7ˆNr   Nr²   r   r¸   r
   zSELECT no_arg();r±   zSELECT one_arg(10);é   )r%   r&   r   Úcreate_functionr)   r‘   r+   )r   r²   r¸   r   Úresr`   s         r   Útest_create_functionÚSmokeTest.test_create_function+  s  é € ò	ò	ô ×$Ò$ T§W¡W×-Ô-°Ø×$Ñ$ X¨q°&Ó9×9Ð9Ø×$Ñ$ Y°°7Ó;×;Ð;à—z‘zÐ"4×5Ô5¸ØŸL™L›N×*�Ø× Ñ   Q¡¨Ô2÷ 6×5ð —z‘zÐ"7×8Ô8¸CØŸL™L›N×*�Ø× Ñ   Q¡¨Ô,÷ 9×8÷ .×-Ò-Ù9Ù;á5Ù*÷ 6×5×5Ð5úñ 9Ù*÷ 9×8×8Ð8ú÷ .×-×-Ð-üs  ‚+F	­D'®F	±E/ÁD)Á	E/Á#D+Á$E/Á=D-Á>E/ÂD3ÂD/ÂD3Â/E/Â:D1Â;E/ÃEÃE/ÃEÃ,EÃ-EÄE/ÄEÄE/ÄF	Ä!E-Ä"F	Ä)E/Ä+E/Ä-E/Ä/D3Ä1E/Ä3E
	Ä9D<Ä:E
	ÅE/ÅEÅE/ÅE*	ÅEÅE*	Å&E/Å-F	Å/FÅ5E8Å6FÆF	c              ƒ   ód  #   • S n[         R                  " U R                  5       ISh  v•N nUR                  SSUSS9I Sh  v•N   UR	                  S5      I Sh  v•N   UR	                  S5      I Sh  v•N   SSS5      ISh  v•N   g Na NI N2 N N! , ISh  v•N  (       d  f       g= f7f)	zsAssert that after creating a deterministic custom function, it can be used.

https://sqlite.org/deterministic.html
c                 ó   • U S-  $ rµ   r:   r¶   s    r   r¸   Ú=SmokeTest.test_create_function_deterministic.<locals>.one_argF  rº   r   Nr¸   r
   T)Údeterministicz"create table foo (id int, bar int)z#create index t on foo(one_arg(bar)))r%   r&   r   r¼   r)   )r   r¸   r   s      r   Ú"test_create_function_deterministicÚ,SmokeTest.test_create_function_deterministic@  s�   é € ò	ô ×$Ò$ T§W¡W×-Ô-°Ø×$Ñ$ Y°°7È$Ð$ÐO×OÐOØ—*‘*ÐAÓB×BÐBð —*‘*ÐBÓC×CÐC÷ .×-Ò-ÙOÙBñ D÷ .×-×-Ð-üsz   ‚(B0ªB«B0®BÁBÁBÁBÁBÁ6BÁ7BÁ;B0ÂBÂB0ÂBÂBÂBÂB0ÂB-ÂBÂB-Â)B0c              ƒ   ól  ^#   • / mS[         4U4S jjn[        R                  " U R                  5       IS h  v•N nUR	                  U5      I S h  v•N   UR                  S5      I S h  v•N   U R                  ST5        S S S 5      IS h  v•N   g  NY NB N+ N! , IS h  v•N  (       d  f       g = f7f)NÚ	statementc                 ó(   >• TR                  U 5        g r   )r^   )rÇ   Ú
statementss    €r   ÚcallbackÚ3SmokeTest.test_set_trace_callback.<locals>.callbackS  s   ø€ Ø×Ñ˜iÕ(r   z	select 10)r�   r%   r&   r   Úset_trace_callbackr)   ÚassertIn)r   rÊ   r   rÉ   s      @r   Útest_set_trace_callbackÚ!SmokeTest.test_set_trace_callbackP  sƒ   øé € Øˆ
ð	)¤÷ 	)ô ×$Ò$ T§W¡W×-Ô-°Ø×'Ñ'¨Ó1×1Ð1à—*‘*˜[Ó)×)Ð)Ø�M‰M˜+ zÔ2÷	 .×-Ò-Ù1á)÷ .×-×-Ð-üsh   ƒ5B4¸B¹B4¼BÁBÁBÁ*BÁ+BÂB4ÂBÂB4ÂBÂBÂB4ÂB1Â B#Â!B1Â-B4c              ƒ   óÖ  #   • S n[         R                  " U R                  5       ISh  v•N nUR                  U5      I Sh  v•N   UR	                  S5      I Sh  v•N   UR	                  S5      I Sh  v•N   UR	                  S5      I Sh  v•N   U R                  [        R                  5         UR	                  S5      I Sh  v•N   SSS5        [        R                  S:¼  a2  UR                  S5      I Sh  v•N   UR	                  S5      I Sh  v•N   SSS5      ISh  v•N   g GN Nê NÓ N¼ N¥ Nn! , (       d  f       Nr= f NL N5 N'! , ISh  v•N  (       d  f       g= f7f)z+Test authorizer that denies DROP operationsc                 ój   • U [         R                  :X  a  [         R                  $ [         R                  $ r   )Úsqlite3ÚSQLITE_DROP_TABLEÚSQLITE_DENYÚ	SQLITE_OK©Úaction_codeÚarg1Úarg2Údb_nameÚtrigger_names        r   Ú
deny_dropsÚ<SmokeTest.test_set_authorizer_deny_drops.<locals>.deny_drops_  s(   € Øœg×7Ñ7Ó7Ü×*Ñ*Ð*Ü×$Ñ$Ð$r   Nz#CREATE TABLE test_drop (id INTEGER)z INSERT INTO test_drop VALUES (1)zSELECT * FROM test_dropzDROP TABLE test_drop)é   é   )
r%   r&   r   Úset_authorizerr)   r“   rÒ   ÚDatabaseErrorÚsysÚversion_info)r   rÜ   r   s      r   Útest_set_authorizer_deny_dropsÚ(SmokeTest.test_set_authorizer_deny_drops\  s  é € ò	%ô
 ×$Ò$ T§W¡W×-Ô-°Ø×#Ñ# JÓ/×/Ð/ð —*‘*ÐBÓC×CÐCØ—*‘*Ð?Ó@×@Ð@Ø—*‘*Ð6Ó7×7Ð7ð ×"Ñ"¤7×#8Ñ#8Õ9Ø—j‘jÐ!7Ó8×8Ð8÷ :ô ×Ñ 7Ó*à×'Ñ'¨Ó-×-Ð-Ø—j‘jÐ!7Ó8×8Ð8÷ .×-Ó-Ù/ñ DÙ@Ù7ñ 9÷ :Õ9úñ
 .Ù8÷ .×-×-Ð-üsÔ   ‚(E)ªD+«E)®EÁD.ÁEÁD0ÁEÁ5D2Á6EÂD4Â#EÂ2D8ÃD6ÃD8Ã0EÃ<E	Ã=EÄEÄEÄE)Ä%EÄ&E)Ä.EÄ0EÄ2EÄ4EÄ6D8Ä8
E	ÅEÅEÅE)ÅE&ÅEÅE&Å"E)c              ƒ   óž  #   • S n[         R                  " U R                  5       ISh  v•N nUR                  U5      I Sh  v•N   U R	                  [
        R                  5         UR                  S5      I Sh  v•N   SSS5        SSS5      ISh  v•N   g No NX N!! , (       d  f       N%= f N! , ISh  v•N  (       d  f       g= f7f)zGTest that exceptions raised in authorizer callback are caught by SQLitec                 ó   • [        S5      e)NzTest exception from authorizer)Ú
ValueErrorrÖ   s        r   Úraise_exceptionÚLSmokeTest.test_set_authorizer_exception_propagation.<locals>.raise_exceptionx  s   € ÜÐ=Ó>Ð>r   Nz(CREATE TABLE test_exception (id INTEGER))r%   r&   r   rà   r“   rÒ   rá   r)   )r   ré   r   s      r   Ú)test_set_authorizer_exception_propagationÚ3SmokeTest.test_set_authorizer_exception_propagationu  s‹   é € ò	?ô ×$Ò$ T§W¡W×-Ô-°Ø×#Ñ# OÓ4×4Ð4Ø×"Ñ"¤7×#8Ñ#8Õ9Ø—j‘jÐ!KÓL×LÐL÷ :÷ .×-Ò-Ù4áL÷ :Õ9ú÷ .×-×-Ð-üs€   ‚(CªB«C®B3ÁBÁ#B3Á'B Á<BÁ=B ÂB3Â	CÂB1ÂCÂB3ÂB Â 
B.	Â*B3Â1CÂ3C
Â9B<Â:C
ÃCc              ƒ   óÞ  #   • [        S5      nU R                  [        S5         [        R                  " U5       IS h  v•N nU R                  U5        S S S 5      IS h  v•N   S S S 5        U R                  [        S5         [        R                  " U5      I S h  v•N   S S S 5        g  Nk NL! , IS h  v•N  (       d  f       Na= f! , (       d  f       Nj= f N<! , (       d  f       g = f7f)Nz!/something/that/shouldnt/exist.dbzunable to open database)r   ÚassertRaisesRegexr   r%   r&   r�   )r   Úbad_dbr   s      r   Útest_connect_errorÚSmokeTest.test_connect_error€  s©   é € ÜÐ9Ó:ˆØ×#Ñ#Ô$4Ð6OÕPÜ ×(Ò(¨×0Ô0°BØ×!Ñ! "Ô%÷ 1×0÷ Qð ×#Ñ#Ô$4Ð6OÕPÜ×#Ò# FÓ+×+Ð+÷ QÐP÷ 1×0×0Ò0ú÷ QÕPúñ
 ,÷ QÕPüs�   ‚"C-¤C	¿B+Á C	ÁB/ÁC	Á B-Á!C	Á%C-ÂCÂCÂCÂ"	C-Â+C	Â-C	Â/C	Â5B8Â6C	ÃC	Ã	
CÃC-ÃCÃ
C*Ã&C-c           	   ƒ   óê  #   • S n[         R                  " S S5      n[        R                  " [        SUS9   U R                  [        R                  S5         U IS h  v•N    S S S 5      IS h  v•N   S S S 5        S S S 5        UR                  (       a  UR                  5         [        S5      eg  NR NC! , IS h  v•N  (       d  f       NX= f! , (       d  f       Na= f! , (       d  f       Nj= f7f)Nc                  ó.   • [         R                  " S5      e)NúI changed my mind)rR   ÚCancelledError)r—   Ú__s     r   Ú_raise_cancelled_errorÚESmokeTest.test_connect_base_exception.<locals>._raise_cancelled_error‹  s   € Ü×(Ò(Ð)<Ó=Ð=r   c                  ó.   • [         R                  " S5      $ ©Nrq   )rÒ   r&   r:   r   r   r©   Ú7SmokeTest.test_connect_base_exception.<locals>.<lambda>Ž  s   € ´'·/²/À*Ô2Mr   é@   r&   )Úside_effectrô   z!connection thread was not stopped)r%   r(   r	   ÚobjectrÒ   rî   rR   rõ   Ú_runningÚstopÚAssertionError)r   r÷   Ú
connections      r   Útest_connect_base_exceptionÚ%SmokeTest.test_connect_base_exception‰  s§   é € ò	>ô ×)Ò)Ñ*MÈrÓRˆ
ä�LŠLœ )Ð9OÓPØ×"Ñ"¤7×#9Ñ#9Ð;NÕOç!’zØ÷ "—z÷ P÷ Qð ××Ø�O‰OÔÜ Ð!DÓEÐEð ÷ "—z—z’zú÷ PÕOú÷ QÕPüs|   ‚6C3¸!C"ÁCÁ B3
Á!CÁ$B7Á&CÁ1B5Á2CÁ6C"Á>5C3Â3CÂ5CÂ7CÂ=C Â>CÃ
CÃ
C	ÃC"Ã"
C0Ã,C3c              ƒ   ó”  #   • [         R                  " S5       IS h  v•N nUR                  S5      I S h  v•N   UR                  SSS/5      I S h  v•N   UR	                  5        Vs/ s S h  v•N o"PM   NY NB N( N
 Os  snf nnU R                  U/ SQ5        S S S 5      IS h  v•N    g ! , IS h  v•N  (       d  f       g = f7f)Nrq   ú,create table foo (i integer, k charvar(250))úinsert into foo values (?, ?)©r
   Úhello©r$   Úworld)zBEGIN TRANSACTION;z-CREATE TABLE foo (i integer, k charvar(250));z$INSERT INTO "foo" VALUES(1,'hello');z$INSERT INTO "foo" VALUES(2,'world');zCOMMIT;)r%   r&   r)   r]   Úiterdumpr+   )r   r   ÚlineÚliness       r   Útest_iterdumpÚSmokeTest.test_iterdumpš  s¥   é € Ü×$Ò$ Z×0Ô0°BØ—*‘*ÐKÓL×LÐLØ—.‘.Ø/°,ÀÐ1Mó÷ ð ð -/¯K©K¬M×:Ó: D’Tñ 1ÙLñó ;ùÒ:ˆEÐ:Ø×ÑØòô	÷ 1×0×0×0×0Ð0üs–   ‚C�A7žC¡B.¶A9·B.ÁA;ÁB.Á)BÁ+A?Á/A=Á0A?Á3BÁ7CÁ9B.Á;B.Á=A?Á?BÂ B.ÂCÂ'B*Â(CÂ.CÂ4B7Â5CÃCc              ƒ   óò  #   • [         R                  " U R                  5      I S h  v•N nUR                  S5      I S h  v•N nUR	                  5       I S h  v•N   U R                  [        S5         UR                  5       I S h  v•N   S S S 5        U R                  [        S5         UR                  5       I S h  v•N   S S S 5        g  N¤ N� Nw NJ! , (       d  f       NN= f N&! , (       d  f       g = f7f)Nr#   zConnection closed)r%   r&   r   r)   r,   rî   rè   r*   )r   r   r.   s      r   Ú test_cursor_on_closed_connectionÚ*SmokeTest.test_cursor_on_closed_connection­  s³   é € Ü×$Ò$ T§W¡WÓ-×-ˆà—z‘z -Ó0×0ˆØ�h‰h‹j×ÐØ×#Ñ#¤JÐ0CÕDØ—/‘/Ó#×#Ð#÷ Eà×#Ñ#¤JÐ0CÕDØ—/‘/Ó#×#Ð#÷ EÐDñ .á0Ùá#÷ EÕDúñ $÷ EÕDüs†   ‚$C7¦C§C7¿CÁ C7ÁCÁC7Á2CÂCÂCÂC7Â)C&Â=C$Â>C&Ã
C7ÃC7ÃC7ÃCÃ
C!ÃC7Ã$C&Ã&
C4Ã0C7c              ƒ   óø  #   • [         R                  " U R                  5      I S h  v•N nUR                  S5      I S h  v•N n/ n[	        S5       Ho  nUS:X  a3  UR                  [        R                  " UR                  5       5      5        UR                  [        R                  " UR                  5       5      5        Mq     U H  n UI S h  v•N   M     g  N² N› N! [        R                   a     M0  f = f7f)Nr#   éd   é2   )r%   r&   r   r)   rT   r^   rR   Úensure_futurer,   r*   rÒ   ÚProgrammingError)r   r   r.   ÚtasksrN   Útasks         r   Ú%test_cursor_on_closed_connection_loopÚ/SmokeTest.test_cursor_on_closed_connection_loop·  s¾   é € Ü×$Ò$ T§W¡WÓ-×-ˆà—z‘z -Ó0×0ˆØˆÜ�s–ˆAØ�B‹wØ—‘œW×2Ò2°2·8±8³:Ó>Ô?Ø�L‰Lœ×.Ò.¨v¯©Ó/@ÓAÖBñ ó ˆDðØ—
’
ò ñ .á0ñ øÜ×+Ñ+ó ÚðüsW   ‚$C:¦C§C:¿CÁ B	C:Ã
CÃCÃCÃC:ÃC:ÃCÃC7Ã3C:Ã6C7Ã7C:c              ƒ   óH  #   • [         R                  " U R                  5      I S h  v•N n[        S5       H  nUR	                  SU 35      I S h  v•N   M!     UR                  5       I S h  v•N   U R                  UR                  R                  5       S5        g  Nu NM N37f)Niè  z
select 1, T)	r%   r&   r   rT   r)   r,   r+   Ú_txÚempty)r   r   rN   s      r   Ú1test_close_blocking_until_transaction_queue_emptyÚ;SmokeTest.test_close_blocking_until_transaction_queue_emptyÆ  s}   é € Ü×$Ò$ T§W¡WÓ-×-ˆô �t–ˆAØ—*‘*˜z¨!¨Ð-Ó.×.Ò.ñ ð �h‰h‹j×Ðà×Ñ˜Ÿ™Ÿ™›¨Õ.ñ .ñ /áùs3   ‚$B"¦B§)B"ÁBÁB"Á,B Á-0B"ÂB"Â B"c              ƒ   óÈ   #   • [         R                  " U R                  5      I S h  v•N nUR                  5       I S h  v•N   UR                  5       I S h  v•N   g  N5 N N	7fr   )r%   r&   r   r,   r¬   s     r   Útest_close_twiceÚSmokeTest.test_close_twiceÑ  sI   é € Ü×$Ò$ T§W¡WÓ-×-ˆà�h‰h‹j×Ðð �h‰h‹j×Ññ .áñ 	ùs1   ‚$A"¦A§A"¾A¿A"ÁA ÁA"ÁA"Á A"c           	   ƒ   ó¦  #   • S n[         R                  " S5       IS h  v•N n[         R                  " S5       IS h  v•N nUR                  S5      I S h  v•N   UR                  SSS/5      I S h  v•N   UR	                  5       I S h  v•N   U R                  [        S5         UR                  S5      I S h  v•N   S S S 5        UR                  X1S	9I S h  v•N   UR                  S5       IS h  v•N nUR                  5       I S h  v•N nU R                  USS/5        S S S 5      IS h  v•N   S S S 5      IS h  v•N   S S S 5      IS h  v•N   g  GN7 GN GN Në NÕ N§! , (       d  f       N«= f N› Nƒ Nm NK! , IS h  v•N  (       d  f       N`= f NW! , IS h  v•N  (       d  f       Nl= f Nc! , IS h  v•N  (       d  f       g = f7f)
Nc                 ó   • [        XU5        g r   )Úprint)ÚaÚbÚcs      r   ÚprogressÚ1SmokeTest.test_backup_aiosqlite.<locals>.progressÚ  s   € Ü�!˜�Nr   rq   r  r  r  r
  úno such table: foorD   )r+  )
r%   r&   r)   r]   rG   rî   r   Úbackupr*   r+   )r   r+  Údb1Údb2r.   r/   s         r   Útest_backup_aiosqliteÚSmokeTest.test_backup_aiosqliteÙ  s^  é € ò	ô ×Ò˜j×)Ô)¨SÜ×Ò˜j×)Ô)¨Sà—+‘+ÐLÓM×MÐMØ—/‘/Ø/°,ÀÐ1Mó÷ ð ð —*‘*“,×Ðà×'Ñ'Ô(8Ð:NÕOØ—k‘kÐ"5Ó6×6Ð6÷ Pð —*‘*˜S�*Ð4×4Ð4à—{‘{Ð#6×7Ô7¸6Ø#Ÿ_™_Ó.×.�Ø× Ñ  ¨°lÐ'CÔD÷ 8×7÷ *×)÷ *×)Ó)Ú)âMññ ñ 7÷ PÕOúñ 5á7Ù.÷ 8×7×7Ð7ú÷ *×)×)Ð)ú÷ *×)×)Ð)üsQ  ‚G E¡G¤F7¿EÁ F7ÁFÁEÁFÁ4E Á5FÂE"ÂFÂ'E&Â<E$
Â=E&ÃFÃE7ÃFÃ5E9
Ã6FÃ9E?ÄE;
ÄE?Ä&FÄ1E=Ä2FÄ6F7ÅFÅF7ÅGÅF5ÅGÅF7ÅFÅ FÅ"FÅ$E&Å&
E4Å0FÅ9FÅ;E?Å=FÅ?FÆFÆFÆFÆF7ÆF2	Æ!F$Æ"F2	Æ.F7Æ5GÆ7GÆ=G Æ>GÇ
Gc              ƒ   óÎ  #   • [         R                  " S5       IS h  v•N n[        R                  " S5       nUR                  S5      I S h  v•N   UR	                  SSS/5      I S h  v•N   UR                  5       I S h  v•N   U R                  [        S5         UR                  S5        S S S 5        UR                  U5      I S h  v•N   UR                  S5      nUR                  5       nU R                  USS/5        S S S 5        S S S 5      IS h  v•N   g  Nÿ NÑ N· N¡! , (       d  f       N}= f Nk! , (       d  f       N:= f N1! , IS h  v•N  (       d  f       g = f7f)Nrq   r  r  r  r
  r-  rD   )r%   r&   rÒ   r)   r]   rG   rî   r   r.  r*   r+   )r   r/  r0  r.   r/   s        r   Útest_backup_sqliteÚSmokeTest.test_backup_sqliteð  s  é € Ü×$Ò$ Z×0Ô0°CÜ—’ Ô,°Ø—k‘kÐ"PÓQ×QÐQØ—o‘oØ3°lÀLÐ5Qó÷ ð ð —j‘j“l×"Ð"à×+Ñ+Ô,<Ð>RÕSØ—K‘KÐ 3Ô4÷ Tð —j‘j “o×%Ð%àŸ™Ð%8Ó9�Ø—‘Ó(�Ø× Ñ  ¨°lÐ'CÔD÷ -÷ 1×0Ò0áQññ #çSÕSúñ &÷ -Õ,ú÷ 1×0×0Ð0üsµ   ‚E%�DžE%¡E¸D8ÁDÁD8Á)D!Á*D8ÂD#ÂD8ÂD%Â.D8Ã
D6Ã9D8ÄEÄE%ÄE	ÄE%ÄD8Ä!D8Ä#D8Ä%
D3Ä/D8Ä8
E	ÅEÅ	E%ÅE"ÅEÅE"ÅE%c              ƒ   ó®   #   • [         R                  " S5      I S h  v•N nU R                  [        S5         AS S S 5        g  N%! , (       d  f       g = f7f)Nrq   z#.*was deleted before being closed.*)r%   r&   ÚassertWarnsRegexÚResourceWarningr¬   s     r   Ú!test_emits_warning_when_left_openÚ+SmokeTest.test_emits_warning_when_left_open  sJ   é € Ü×$Ò$ ZÓ0×0ˆà×"Ñ"ÜÐCõ
ð ÷
ð 
ñ 1÷
õ 
üs%   ‚AœA�A·A¹
AÁ
AÁAc              ƒ   ó€   #   • [         R                  " S5      I S h  v•N nUR                  5       I S h  v•N   g  N N7frú   )r%   r&   r   r¬   s     r   Útest_stop_without_closeÚ!SmokeTest.test_stop_without_close
  s-   é € Ü×$Ò$ ZÓ0×0ˆØ�g‰g‹i�‰ñ 1Ùùs   ‚>œ:�>´<µ>¼>c                 ó¬   ^• S mU4S jn[         R                  " 5       nUR                  U" 5       5        UR                  5         TR	                  5         g )Nc               “   óN   >#   • [         R                  " S5      I S h  v•N m g  N7frú   )r%   r&   ©r   s   €r   ÚinnerÚ:SmokeTest.test_stop_after_event_loop_closed.<locals>.inner  s   øé € ä ×(Ò(¨Ó4×4‰BÑ4ùs   ƒ%�#ž%)rR   rj   rk   r,   r   )r   rA  rm   r   s      @r   Ú!test_stop_after_event_loop_closedÚ+SmokeTest.test_stop_after_event_loop_closed  s?   ø€ Øˆõ	5ô ×%Ò%Ó'ˆØ×Ñ¡£Ô(Ø�
‰
Œà
�‰�	r   r@  N)&r>   r?   r@   rA   Úclassmethodr   r   r0   r3   rJ   rV   rY   ra   r|   r   r„   r˜   r�   r¥   r­   r¾   rÄ   rÎ   rä   rë   rð   r  r  r  r  r   r#  r1  r4  r9  r<  rC  rB   r:   r   r   r   r      s·   † Øñó ðò6ò
ò1ò@ò,ò(ò,ò&+òBò*-ò*52òn:òò	ò-ò*Dò 
3ò9ò2	Mò,òFò"ò&$òò	/òòEò.Eò$òõr   r   )rR   rÒ   râ   Úpathlibr   r   Útempfiler   Ú	threadingr   Úunittestr   r   Úunittest.mockr	   r%   Úhelpersr   r   r:   r   r   Ú<module>rL     s7   ðó Û Û 
Ý Ý $Ý 'Ý ß 6Ý ã Ý !ôGÐ'õ Gr   