Ë
    °Œj?C  ã                   óŠ   — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZ d dlZdd	lmZ  G d
„ de
«      Zy)é    N)ÚPath)ÚOperationalError)ÚTemporaryDirectory)ÚThread)ÚIsolatedAsyncioTestCaseÚSkipTest)Úpatché   ©Úsetup_loggerc                   ó²   — e Zd Zed„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	SmokeTestc                 ó   — t        «        y ©Nr   )Úclss    ú_/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/aiosqlite/tests/smoke.pyÚ
setUpClasszSmokeTest.setUpClass   s   € ä�ó    c                 ó¤   — t        «       }| j                  |j                  «       t        |j                  «      j                  «       dz  | _        y )Nztest.db)r   Ú
addCleanupÚcleanupr   ÚnameÚresolveÚdb)ÚselfÚtds     r   ÚsetUpzSmokeTest.setUp   s7   € ÜÓ!ˆØ�‰˜Ÿ
™
Ô#Ü�r—w‘w“-×'Ñ'Ó)¨IÑ5ˆ�r   c              ƒ   ó²  K  — t        j                  | j                  «      ƒ d {  –—† }| j                  |t         j                  «       |j                  d«      4 ƒd {  –—† }|j                  «       ƒ d {  –—† }| j                  |dg«       d d d «      ƒd {  –—†  |j                  «       ƒ d {  –—†  y 7 Œ’7 ŒZ7 ŒD7 Œ## 1 ƒd {  –—†7  sw Y   Œ3xY w7 Œ"­w©Núselect 1, 2)r
   é   )	Ú	aiosqliteÚconnectr   ÚassertIsInstanceÚ
ConnectionÚexecuteÚfetchallÚassertEqualÚclose©r   r   ÚcursorÚrowss       r   Útest_connection_awaitzSmokeTest.test_connection_await   s£   è ø€ Ü×$Ñ$ T§W¡WÓ-×-ˆØ×Ñ˜b¤)×"6Ñ"6Ô7à—:‘:˜m×,Ô,°ØŸ™Ó*×*ˆDØ×Ñ˜T F 8Ô,÷ -×,ð �h‰h‹j×Ñð .øð -øØ*øð -ø×,×,Ñ,úð 	úsu   ‚#C¥B8¦9CÁB:Á CÁ#C Á7B<Á8C ÂCÂB>ÂCÂ2CÂ3CÂ:CÂ<C Â>CÃ CÃC	ÃCÃCc              ƒ   óÎ  K  — t        j                  | j                  «      4 ƒd {  –—† }| j                  |t         j                  «       |j                  d«      4 ƒd {  –—† }|j                  «       ƒ d {  –—† }| j                  |dg«       d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 ŒŠ7 ŒR7 Œ<7 Œ# 1 ƒd {  –—†7  sw Y   Œ+xY w7 Œ"# 1 ƒd {  –—†7  sw Y   y xY w­wr   )r"   r#   r   r$   r%   r&   r'   r(   r*   s       r   Útest_connection_contextz!SmokeTest.test_connection_context%   s¢   è ø€ Ü×$Ñ$ T§W¡W×-Ô-°Ø×!Ñ! "¤i×&:Ñ&:Ô;à—z‘z -×0Ô0°FØ#Ÿ_™_Ó.×.�Ø× Ñ  ¨ xÔ0÷ 1×0÷ .×-Ñ-øð 1øØ.øð 1ø×0×0Ñ0úð .ø×-×-Ñ-üsž   ‚$C%¦B1§C%ª6CÁ B3Á!CÁ$B9Á8B5Á9B9ÂCÂB7ÂCÂ C%Â+CÂ,C%Â3CÂ5B9Â7CÂ9C	Â?CÃ C	ÃCÃC%ÃC"ÃCÃC"ÃC%c              ƒ   ód  ‡K  — | j                   j                  «       Š G ˆfd„d«      }t        ‰«      ‰‰j                  «        |«       f}t	        j
                  |d   «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—†  |j                  «       ƒ d {  –—†  |j                  d«      ƒ d {  –—† }|j                  «       ƒ d {  –—† }d d d «      ƒd {  –—†  |D ]q  }t	        j
                  |«      4 ƒd {  –—† }|j                  d«      ƒ d {  –—† }| j                  |j                  «       ƒ d {  –—† «       d d d «      ƒd {  –—†  Œs y 7 �Œ7 Œð7 ŒÙ7 ŒÃ7 Œ¬7 Œ–7 Œˆ# 1 ƒd {  –—†7  sw Y   Œ˜xY w7 Œ|7 Œe7 ŒD7 Œ1# 1 ƒd {  –—†7  sw Y   Œ³xY w­w)Nc                   ó   •— e Zd Zˆ fd„Zy)ú1SmokeTest.test_connection_locations.<locals>.Fakec                 ó   •— ‰S r   © )r   ÚTEST_DBs    €r   Ú__str__z9SmokeTest.test_connection_locations.<locals>.Fake.__str__1   s   ø€ Ø�r   N)Ú__name__Ú
__module__Ú__qualname__r6   )r5   s   €r   ÚFaker2   0   s   ø„ õr   r:   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   r:   Úlocsr   r+   r,   Úlocr5   s          @r   Útest_connection_locationsz#SmokeTest.test_connection_locations-   sR  øè ø€ Ø—'‘'×"Ñ"Ó$ˆ÷	ó 	ô �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%F0Á(E/Á)F0Á,E>ÂE2ÂE>ÂE4ÂE>Â2E6Â3E>ÃE8ÃE>Ã#E:Ã$E>Ã(F0Ã3E<Ã4"F0ÄFÄF0ÄFÄ/FÄ0"FÅFÅ	FÅF0Å'FÅ(F0Å2E>Å4E>Å6E>Å8E>Å:E>Å<F0Å>FÆFÆFÆF0ÆFÆFÆF0ÆF-	Æ!F$Æ"F-	Æ)F0c              ƒ   ó˜  ‡ K  — t        j                  ‰ j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  d d d «      ƒd {  –—†  ˆ fd„}t	        j
                  t        d«      D �cg c]
  } ||«      ‘Œ c}Ž ƒ d {  –—†  t        j                  ‰ j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—† }|j                  «       ƒ d {  –—† }d d d «      ƒd {  –—†  t        «      dk(  sJ ‚y 7 Œã7 ŒÌ7 Œ¾# 1 ƒd {  –—†7  sw Y   ŒÎxY wc c}w 7 Œž7 Œx7 Œa7 ŒK7 Œ=# 1 ƒd {  –—†7  sw Y   ŒMxY w­w)NzHcreate table multiple_connections (i integer primary key asc, k integer)c              “   ó  •K  — t        j                  ‰j                  «      4 ƒd {  –—† }|j                  d| g«      ƒ d {  –—†  |j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  y 7 ŒH7 Œ/7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nz/insert into multiple_connections (k) values (?))r"   r#   r   r&   r>   )Úir   r   s     €r   Údo_one_connz8SmokeTest.test_multiple_connections.<locals>.do_one_connJ   si   øè ø€ Ü ×(Ñ(¨¯©×1Ô1°RØ—j‘jÐ!RÐUVÐTWÓX×XÐXØ—i‘i“k×!Ð!÷ 2×1Ñ1øØXøØ!øð 2ø×1×1Ñ1üsh   ƒ$B§A0¨B«A8ÁA2ÁA8ÁA4ÁA8ÁBÁ*A6Á+BÁ2A8Á4A8Á6BÁ8B
Á>BÁ?B
ÂBé
   z"select * from multiple_connections)	r"   r#   r   r&   ÚasyncioÚgatherÚranger'   Úlen)r   r   rE   rD   r+   r,   s   `     r   Útest_multiple_connectionsz#SmokeTest.test_multiple_connectionsC   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
Á6D&ÂE
ÂD+Â'E
Â4D-Â5E
Â8D5ÃD/ÃD5Ã%D1Ã&D5Ã*E
Ã5D3Ã6E
ÄDÄE
ÄD#ÄDÄD#ÄE
Ä-E
Ä/D5Ä1D5Ä3E
Ä5EÄ;D>Ä<EÅE
c           
   ƒ   óØ  K  — t        j                  | j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  t	        j
                  t        d«      D �cg c]  }|j                  d|g«      ‘Œ c}Ž ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  | j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—† }|j                  «       ƒ d {  –—† }d d d «      ƒd {  –—†  t        «      dk(  sJ ‚y 7 �Œ7 Œëc c}w 7 Œ°7 Œš7 ŒŒ# 1 ƒd {  –—†7  sw Y   ŒœxY w7 Œ{7 Œd7 ŒN7 Œ@# 1 ƒd {  –—†7  sw Y   ŒPxY w­w)NzDcreate table multiple_queries (i integer primary key asc, k integer)rF   z+insert into multiple_queries (k) values (?)zselect * from multiple_queries)
r"   r#   r   r&   rG   rH   rI   r>   r'   rJ   )r   r   rD   r+   r,   s        r   Útest_multiple_querieszSmokeTest.test_multiple_queriesW   s5  è ø€ Ü×$Ñ$ 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*ªD8¿D+Á  D8Á D-
Á:D8ÂD2ÂD8ÂD4ÂD8ÂE*Â)D6Â*'E*ÃEÃE*ÃEÃ*EÃ+EÄEÄEÄE*ÄEÄE*Ä+D8Ä-D8Ä4D8Ä6E*Ä8E
Ä>EÄ?E
ÅE*ÅEÅEÅE*ÅE'ÅEÅE'Å#E*c              ƒ   óú  K  — t        j                  | j                  «      4 ƒd {  –—† }|j                  «       ƒ d {  –—† }|j	                  d«      ƒ d {  –—†  |j                  dt        d«      D �cg c]  }|g‘Œ c}«      ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  | j                  «      4 ƒd {  –—† }|j	                  d«      ƒ d {  –—† }g }|2 3 d {  –—† }|j                  |«       Œ7 Œï7 ŒÙ7 ŒÂc c}w 7 Œ—7 Œ�7 Œs# 1 ƒd {  –—†7  sw Y   ŒƒxY w7 Œb7 ŒK7 Œ@6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wt        «      dk(  sJ ‚y ­w)NzCcreate table iterable_cursor (i integer primary key asc, k integer)z*insert into iterable_cursor (k) values (?)rF   zselect * from iterable_cursor©
r"   r#   r   r+   r&   ÚexecutemanyrI   r>   ÚappendrJ   ©r   r   r+   rD   r,   Úrows         r   Útest_iterable_cursorzSmokeTest.test_iterable_cursorm   s?  è ø€ Ü×$Ñ$ 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  ‚$E;¦D§E;ªD'¾D¿D'ÁDÁD'Á5
DÁ?
D'Â	D!Â
D'Â!D#Â"D'Â&E;Â1D%Â2'E;ÃD<ÃE;ÃEÃ2D>Ã3EÃ;EÃ?E Ä EÄEÄE;ÄD'ÄD'ÄD'Ä#D'Ä%E;Ä'D9Ä-D0Ä.D9Ä5E;Ä>EÅ EÅEÅE;ÅEÅE;ÅE'ÅEÅE'Å#E;c           	   ƒ   ó–  ‡ ‡K  — i Šˆˆ fd„}t        j                  d«      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  dd«      ƒ d {  –—†  |j                  «       ƒ d {  –—†  t	        d«      D �cg c]  }t        |||f¬«      ‘Œ }}|D ]  }|j                  «        Œ |D ]  }|j                  «        Œ d d d «      ƒd {  –—†  ‰ j                  t        ‰«      d«       ‰j                  «       D ]  }‰ j                  t        |«      d«       Œ y 7 Œþ7 Œç7 ŒÏ7 Œ¹c c}w 7 Œ]# 1 ƒd {  –—†7  sw Y   ŒmxY w­w)	Nc                 óÞ   •‡— ˆˆfd„}‰j                  | «      5  t        j                  «       }|j                   |«       «      }|j	                  «        |‰| <   d d d «       y # 1 sw Y   y xY w)Nc               “   ó  •K  — ‰j                  d«      4 ƒd {  –—† } | j                  «       ƒ d {  –—† }‰j                  t        |«      d«       |cd d d «      ƒd {  –—†  S 7 ŒJ7 Œ47 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr;   r!   )r&   r'   r(   rJ   )r+   r,   Úconnr   s     €€r   Úqueryz>SmokeTest.test_multi_loop_usage.<locals>.runner.<locals>.query„   s^   øè ø€ ØŸ<™<Ð(;×<Ô<ÀØ!'§¡Ó!2×2�DØ×$Ñ$¤S¨£Y°Ô2Ø÷ =×<Ò<øØ2øð =ø×<×<Ñ<üsT   ƒA?™A$šA?�A*±A&² A*ÁA?ÁA(ÁA?Á&A*Á(A?Á*A<Á0A3Á1A<Á8A?)ÚsubTestrG   Únew_event_loopÚrun_until_completer)   )ÚkrX   rY   Úloopr,   Úresultsr   s    `   €€r   Úrunnerz/SmokeTest.test_multi_loop_usage.<locals>.runnerƒ   sQ   ù€ õ ð —‘˜a•Ü×-Ñ-Ó/�Ø×.Ñ.©u«wÓ7�Ø—
‘
”Ø!�˜‘
÷	 !—‘ús   šA A#Á#A,ú:memory:z'create table foo (id int, name varchar)z%insert into foo values (?, ?), (?, ?))r
   ÚSallyr!   ÚJaneté   )ÚtargetÚargsr!   )r"   r#   r&   r>   rI   r   ÚstartÚjoinr(   rJ   Úvalues)r   r`   r   r]   ÚthreadsÚthreadr,   r_   s   `      @r   Útest_multi_loop_usagezSmokeTest.test_multi_loop_usage€   s  ùè ø€ Øˆõ	"ô ×$Ñ$ Z×0Ô0°BØ—*‘*ÐFÓG×GÐGØ—*‘*Ø7Ð9Qó÷ ð ð —)‘)“+×ÐäDIÈ!ÄHÓMÁH¸q”v V°1°b°'Ö:ÀHˆGÐMÛ!�Ø—‘•ð "ã!�Ø—‘•ð "÷ 1×0ð 	×Ñœ˜W› qÔ)Ø—N‘NÖ$ˆDØ×ÑœS ›Y¨Õ*ñ %ð 1øØGøðøð úâMð 1ø×0×0Ñ0üsŒ   „"E	¦D%§E	ªD4¿D'Á D4ÁD)ÁD4Á1D+Á2D4ÂD-Â0D4Ã	E	ÃD2ÃAE	Ä'D4Ä)D4Ä+D4Ä-D4Ä2E	Ä4EÄ:D=Ä;EÅE	c           	   ƒ   óœ  K  — t        j                  | j                  «      4 ƒd {  –—† }|j                  «       4 ƒd {  –—† }|j	                  d«      ƒ d {  –—†  |j                  dt        d«      D �cg c]  }|g‘Œ c}«      ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  t        j                  | j                  «      4 ƒd {  –—† }|j	                  d«      4 ƒd {  –—† }g }|2 3 d {  –—† }|j                  |«       Œ7 �Œ7 Œë7 ŒÔc c}w 7 Œ©7 Œ“7 Œ…# 1 ƒd {  –—†7  sw Y   Œ•xY w7 ŒŒ# 1 ƒd {  –—†7  sw Y   ŒœxY w7 Œ{7 Œc7 ŒX6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wt        «      dk(  sJ ‚y ­w)NzBcreate table context_cursor (i integer primary key asc, k integer)z)insert into context_cursor (k) values (?)rF   zselect * from context_cursorrO   rR   s         r   Útest_context_cursorzSmokeTest.test_context_cursor¡   sf  è ø€ Ü×$Ñ$ T§W¡W×-Ô-°Ø—y‘y—{”{ fØ—n‘nð=ó÷ ð ð ×(Ñ(Ø?Ü"'¨¤)Ó,¡)˜Q�a’S )Ñ,ó÷ ð ð —i‘i“k×!Ð!÷ #—{÷ .×-ô ×$Ñ$ T§W¡W×-Ô-°Ø—z‘zÐ"@×AÔAÀVØ�Ù!'÷ %˜#Ø—K‘K Õ$ð! .ùØ"øðúò -ðøð "øð #ø—{—{‘{úð .ø×-×-Ñ-úð .øØAøð%ø ÷ B×A×A×AÓAú÷ .×-×-×-Ó-úô �4‹y˜BŠÐ‰ùsu  ‚$G¦D(§GªE¿D+Á EÁD:ÁD-ÁD:Á6
D/Â 
D:Â
D4ÂD:Â"D6Â#D:Â'EÂ2D8Â3EÂ7GÃEÃ'GÃ*E&Ã+GÃ.F&ÄE(ÄF&ÄE?ÄE,ÄE*
ÄE,ÄE?Ä(GÄ+EÄ-D:Ä/D:Ä6D:Ä8EÄ:E	Å EÅE	ÅEÅGÅE#ÅEÅE#ÅGÅ(F&Å*E,Å,E?Å-F&Å8E;Å9F&Å?F	ÆFÆF	ÆF&ÆGÆF"Æ GÆ&F8Æ,F/Æ-F8Æ4Gc              ƒ   óø  K  — t        j                  | j                  «      4 ƒd {  –—† }|j                  «       ƒ d {  –—† }|j	                  d«      ƒ d {  –—† }| j                  ||d«       |j                  dddg«      ƒ d {  –—† }| j                  ||«       |j                  d«      ƒ d {  –—† }| j                  ||«       d d d «      ƒd {  –—†  y 7 Œ²7 Œœ7 Œ…7 ŒX7 Œ/7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)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(   rP   Úexecutescript)r   r   r+   Úresults       r   Útest_cursor_return_selfz!SmokeTest.test_cursor_return_self¶   så   è ø€ Ü×$Ñ$ T§W¡W×-Ô-°ØŸ9™9›;×&ˆFà!Ÿ>™>ØMó÷ ˆFð ×Ñ˜V VÐ-LÔMà!×-Ñ-ØCÀfÈfÐEUó÷ ˆFð ×Ñ˜V VÔ,à!×/Ñ/ðEó÷ ˆFð
 ×Ñ˜V VÔ,÷% .×-Ñ-øØ&øðøð
øð
øð .ø×-×-Ñ-üsŠ   ‚$C:¦C§C:ªC%¾C¿C%ÁCÁ.C%ÂCÂ*C%Â1C!Â2C%ÃC:ÃC#ÃC:ÃC%ÃC%ÃC%Ã!C%Ã#C:Ã%C7Ã+C.Ã,C7Ã3C:c              ƒ   ó
  K  — t        j                  | j                  «      4 ƒd {  –—† }| j                  |j                  d«       |j                  «       4 ƒd {  –—† }| j                  |j                  «       |j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—†  | j                  |j                  «       |j                  «       ƒ d {  –—†  | j                  |j                  «       d d d «      ƒd {  –—†  | j                  |j                  d«       | j                  |j                  «       | j                  |j                  t        «       |j                  «       4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  «       ƒ d {  –—† }| j!                  |t"        «       | j                  |d«       | j%                  t&        «      5  |d   }d d d «       d d d «      ƒd {  –—†  |j                  «       4 ƒd {  –—† }t         j(                  |_        | j                  |j                  t         j(                  «       |j                  d«      ƒ d {  –—†  |j                  «       ƒ d {  –—† }| j!                  |t         j(                  «       | j                  |d   d«       | j                  |d   d	«       | j                  |d   d«       | j                  |d
   d	«       d d d «      ƒd {  –—†  t         j(                  |_        t*        |_        | j                  |j                  t         j(                  «       | j                  |j                  t*        «       |j                  «       4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  «       ƒ d {  –—† }| j!                  |t         j(                  «       | j                  |d   d«       | j                  |d   d«       | j                  |d   d«       | j                  |d
   d«       d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 �Œ77 �Œ7 �ŒÔ7 �Œ¾7 �ŒŽ7 �Œf# 1 ƒd {  –—†7  sw Y   �ŒwxY w7 �Œ7 �Œù7 �Œä# 1 sw Y   �Œ¡xY w7 �Œ™# 1 ƒd {  –—†7  sw Y   �ŒªxY w7 �Œ™7 �ŒD7 �Œ/7 �Œ®# 1 ƒd {  –—†7  sw Y   �Œ¿xY w7 �ŒD7 �Œ.7 �Œ7 Œ—# 1 ƒd {  –—†7  sw Y   Œ§xY w7 Œž# 1 ƒd {  –—†7  sw Y   y xY w­w)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
   Úhir]   r!   rt   Úds   hi)r"   r#   r   r(   Útotal_changesr+   ÚassertFalseÚin_transactionr&   Ú
assertTruer>   ÚassertIsNoneÚrow_factoryÚtext_factoryÚstrÚfetchoner$   ÚtupleÚassertRaisesÚ	TypeErrorÚRowÚbytes)r   r   r+   rS   Ú_s        r   Útest_connection_propertiesz$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ª1S8ÁQ ÁS8Á0Q/ÂQ#ÂQ/Â(Q&Â)2Q/ÃQ)ÃQ/Ã;S8ÄQ,ÄA/S8Å6RÅ7S8Å:RÆRÆRÆ'RÆ(ARÇ)RÇ/RÇ7S8ÈRÈS8ÈR4ÈS8ÈAS É3R7É4S ÊR:ÊA8S ÌS8ÌR=ÌBS8ÎSÎS8ÎS!Î+SÎ,S!ÏSÏA8S!Ð<S8ÑSÑS8ÑTÑS6ÑTÑ S8Ñ#Q/Ñ&Q/Ñ)Q/Ñ,S8Ñ/R	Ñ5Q8Ñ6R	Ñ=	S8ÒRÒRÒRÒRÒS8ÒR1	Ò$R'Ò%R1	Ò,	S8Ò7S Ò:S Ò=S8Ó S	ÓS	ÓS	Ó	S8ÓS!ÓS!ÓS8Ó!S3	Ó'S*Ó(S3	Ó/S8Ó6TÓ8T
Ó>TÓ?T
ÔTc              ƒ   ó‚  K  — t        j                  | j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  d«      ƒ d {  –—†  |j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  | j                  «      4 ƒd {  –—† }|j                  d«      ƒ d {  –—† }|j                  «       ƒ d {  –—† }| j                  |g d¢«       d d d «      ƒd {  –—†  y 7 ŒÜ7 ŒÅ7 Œ®7 Œ˜7 ŒŠ# 1 ƒd {  –—†7  sw Y   ŒšxY w7 Œy7 Œb7 ŒL7 Œ*# 1 ƒd {  –—†7  sw Y   y xY w­w)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))rF   )é   )é   )r"   r#   r   r&   r>   r'   r(   r*   s       r   Útest_fetch_allzSmokeTest.test_fetch_all  s  è ø€ Ü×$Ñ$ T§W¡W×-Ô-°Ø—*‘*ØTó÷ ð ð —*‘*ØNó÷ ð ð —)‘)“+×Ð÷ .×-ô ×$Ñ$ T§W¡W×-Ô-°ØŸ:™:Ð&QÓR×RˆFØŸ™Ó*×*ˆDØ×Ñ˜TÒ#8Ô9÷ .×-Ð-ð .øðøðøð øð .ø×-×-Ñ-úð .øØRøØ*øð .ø×-×-Ñ-üsß   ‚$D?¦D§D?ªD¿DÁ DÁDÁDÁ0D	Á1DÁ5D?Â DÂ'D?Â(D"Â)D?Â,D*ÃD$ÃD*ÃD&ÃD*Ã2D?Ã=D(Ã>D?ÄDÄDÄ	DÄD?ÄDÄDÄDÄD?Ä$D*Ä&D*Ä(D?Ä*D<Ä0D3Ä1D<Ä8D?c              ƒ   ó˜  K  — t        j                  | j                  «      4 ƒd{  –—† }	 |j                  d«      ƒ d{  –—†  |j	                  d«      ƒ d{  –—†  ddd«      ƒd{  –—†  y7 ŒH7 Œ07 Œ# t
        $ r}d|j                  vsJ ‚Y d}~Œ5d}~wt        $ r}t        d«      |‚d}~ww xY w7 ŒI# 1 ƒd{  –—†7  sw Y   yxY w­w)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   rf   ÚAttributeErrorr   )r   r   Úes      r   Útest_enable_load_extensionz$SmokeTest.test_enable_load_extension  s®   è ø€ ä×$Ñ$ T§W¡W×-Ô-°ð	Ø×.Ñ.¨tÓ4×4Ð4Ø×'Ñ'¨Ó/×/Ð/÷ .×-Ñ-øà4øØ/ùÜ#ò 6Ø'¨q¯v©vÑ5Ð5Õ5ûÜ!ò Üð=óð ðûðúð .ø×-×-Ñ-üs—   ‚$C
¦A/§C
ªB5¬A5Á A1ÁA5ÁA3ÁA5ÁC
Á)B3Á*C
Á1A5Á3A5Á5	B0Á>BÂB5ÂB0ÂB+Â+B0Â0B5Â3C
Â5CÂ;B>Â<CÃC
c              ƒ   ór  K  — t        j                  | j                  «      4 ƒd{  –—† }|j                  d„ d«      ƒ d{  –—†  | j	                  t
        «      5  |j                  d«      ƒ d{  –—†  ddd«       ddd«      ƒd{  –—†  y7 Œg7 ŒN7 Œ!# 1 sw Y   Œ xY w7 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)ze
        Assert that after setting a progress handler returning 1, DB operations are aborted
        Nc                   ó   — y)Nr
   r4   r4   r   r   Ú<lambda>z5SmokeTest.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_handlerz#SmokeTest.test_set_progress_handler  s�   è ø€ ô ×$Ñ$ T§W¡W×-Ô-°Ø×)Ñ)©)°QÓ7×7Ð7Ø×"Ñ"Ô#3Õ4Ø—j‘jØ_ó÷ ð ÷ 5÷ .×-Ñ-øØ7øðø÷ 5Ð4úð .ø×-×-Ñ-üs€   ‚$B7¦B§B7ªB"ÁBÁB"ÁBÁ0BÁ1BÁ5B"Á=B7ÂB Â	B7ÂB"ÂBÂB	ÂB"Â B7Â"B4Â(B+Â)B4Â0B7c              ƒ   óö  K  — d„ }d„ }t        j                  | j                  «      4 ƒd{  –—† }|j                  dd|«      ƒ d{  –—†  |j                  dd|«      ƒ d{  –—†  |j	                  d«      4 ƒd{  –—† }|j                  «       ƒ d{  –—† }| j                  |d   d	«       ddd«      ƒd{  –—†  |j	                  d
«      4 ƒd{  –—† }|j                  «       ƒ d{  –—† }| j                  |d   d«       ddd«      ƒd{  –—†  ddd«      ƒd{  –—†  y7 Œù7 Œà7 ŒÇ7 Œ¯7 Œ™7 Œv# 1 ƒd{  –—†7  sw Y   Œ†xY w7 Œs7 Œ]7 Œ:# 1 ƒd{  –—†7  sw Y   ŒJxY w7 ŒA# 1 ƒd{  –—†7  sw Y   yxY w­w)z<Assert that after creating a custom function, it can be usedc                   ó   — y)Núno argr4   r4   r   r   Úno_argz.SmokeTest.test_create_function.<locals>.no_arg-  s   € Ør   c                 ó   — | dz  S ©Nr!   r4   ©Únums    r   Úone_argz/SmokeTest.test_create_function.<locals>.one_arg0  ó   € Ø˜‘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   ÚresrS   s         r   Útest_create_functionz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  ‚*E9¬D&­E9°E$ÁD(ÁE$Á"D*Á#E$Á<D,Á=E$Â D2ÂD.ÂD2Â.E$Â9D0Â:E$ÃEÃE$ÃEÃ+E	Ã,EÄE$ÄEÄE$ÄE9Ä E"Ä!E9Ä(E$Ä*E$Ä,E$Ä.D2Ä0E$Ä2E	Ä8D;Ä9E	Å E$Å	EÅE$ÅE	ÅEÅE	ÅE$Å"E9Å$E6Å*E-Å+E6Å2E9c              ƒ   ó^  K  — d„ }t        j                  | j                  «      4 ƒd{  –—† }|j                  dd|d¬«      ƒ d{  –—†  |j	                  d«      ƒ d{  –—†  |j	                  d«      ƒ d{  –—†  ddd«      ƒd{  –—†  y7 Œd7 ŒI7 Œ27 Œ7 Œ# 1 ƒd{  –—†7  sw Y   yxY w­w)	zƒAssert that after creating a deterministic custom function, it can be used.

        https://sqlite.org/deterministic.html
        c                 ó   — | dz  S rœ   r4   r�   s    r   rŸ   z=SmokeTest.test_create_function_deterministic.<locals>.one_argE  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_deterministicz,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   ‚'B-©BªB-­BÁBÁBÁBÁ BÁ8BÁ9BÁ=B-ÂBÂ	B-ÂBÂBÂBÂB-ÂB*ÂB!ÂB*Â&B-c              ƒ   ó\  ‡K  — g Šdt         fˆfd„}t        j                  | j                  «      4 ƒd {  –—† }|j	                  |«      ƒ d {  –—†  |j                  d«      ƒ d {  –—†  | j                  d‰«       d d d «      ƒd {  –—†  y 7 ŒY7 ŒB7 Œ+7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)NÚ	statementc                 ó(   •— ‰j                  | «       y r   )rQ   )rª   Ú
statementss    €r   Úcallbackz3SmokeTest.test_set_trace_callback.<locals>.callbackR  s   ø€ Ø×Ñ˜iÕ(r   z	select 10)r}   r"   r#   r   Úset_trace_callbackr&   ÚassertIn)r   r­   r   r¬   s      @r   Útest_set_trace_callbackz!SmokeTest.test_set_trace_callbackO  sˆ   øè ø€ Øˆ
ð	)¤õ 	)ô ×$Ñ$ T§W¡W×-Ô-°Ø×'Ñ'¨Ó1×1Ð1à—*‘*˜[Ó)×)Ð)Ø�M‰M˜+ zÔ2÷	 .×-Ñ-øØ1øà)øð .ø×-×-Ñ-üsh   ƒ2B,µB¶B,¹BÁBÁBÁ'BÁ(BÁ>B,Â	BÂ
B,ÂBÂBÂB,ÂB)ÂB ÂB)Â%B,c              ƒ   ó¼  K  — t        d«      }| j                  t        d«      5  t        j                  |«      4 ƒd {  –—† }| j                  |«       d d d «      ƒd {  –—†  d d d «       | j                  t        d«      5  t        j                  |«      ƒ d {  –—†  d d d «       y 7 Œj7 ŒK# 1 ƒd {  –—†7  sw Y   Œ[xY w# 1 sw Y   Œ_xY w7 Œ2# 1 sw Y   y xY w­w)Nz!/something/that/shouldnt/exist.dbzunable to open database)r   ÚassertRaisesRegexr   r"   r#   rz   )r   Úbad_dbr   s      r   Útest_connect_errorz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Ñ0ú÷ QÐPúð
 ,ø÷ QÐPüsŒ   ‚"C¤C¾B)¿CÁB-ÁCÁB+Á CÁ$CÂCÂCÂCÂ 	CÂ)CÂ+CÂ-B?	Â3B6Â4B?	Â;CÃCÃCÃCÃCÃCc           	   ƒ   óÄ  K  — d„ }t        j                  d„ d«      }t        j                  t        d|¬«      5  | j                  t        j                  d«      5  |4 ƒd {  –—†  	 d d d «      ƒd {  –—†  d d d «       d d d «       |j                  r|j                  «        t        d«      ‚y 7 ŒM7 Œ># 1 ƒd {  –—†7  sw Y   ŒNxY w# 1 sw Y   ŒRxY w# 1 sw Y   ŒVxY w­w)Nc                  ó,   — t        j                  d«      ‚)NúI changed my mind)rG   ÚCancelledError)r„   Ú__s     r   Ú_raise_cancelled_errorzESmokeTest.test_connect_base_exception.<locals>._raise_cancelled_errorf  s   € Ü×(Ñ(Ð)<Ó=Ð=r   c                  ó,   — t        j                  d«      S )Nra   )Úsqlite3r#   r4   r   r   r“   z7SmokeTest.test_connect_base_exception.<locals>.<lambda>i  s   € ´'·/±/À*Ô2Mr   é@   r#   )Úside_effectr·   z!connection thread was not stopped)r"   r%   r	   Úobjectr¼   r²   rG   r¸   Ú_runningÚ_stop_runningÚAssertionError)r   rº   Ú
connections      r   Útest_connect_base_exceptionz%SmokeTest.test_connect_base_exceptiond  s®   è ø€ ò	>ô ×)Ñ)Ñ*MÈrÓRˆ
ä�L‰Lœ )Ð9OÖPØ×"Ñ"¤7×#9Ñ#9Ð;NÕOç!’zØ÷ "—z÷ P÷ Qð ×ÒØ×$Ñ$Ô&Ü Ð!DÓEÐEð ð "ø�zø—z—z‘zú÷ PÐOú÷ QÐPüs|   ‚7C ¹!CÁCÁ!B/
Á"CÁ%B3Á'CÁ2B1Á3CÁ7CÁ?0C Â/CÂ1CÂ3CÂ9B<Â:CÃCÃC	ÃCÃCÃC c              ƒ   óˆ  K  — t        j                  d«      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  dddg«      ƒ d {  –—†  |j	                  «       2 �cg c3 d {  –—† }|‘Œ7 ŒY7 ŒB7 Œ(7 Œ6 nc c}w }}| j                  |g d¢«       d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nra   ú,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&   rP   Úiterdumpr(   )r   r   ÚlineÚliness       r   Útest_iterdumpzSmokeTest.test_iterdumpu  sª   è ø€ Ü×$Ñ$ Z×0Ô0°BØ—*‘*ÐKÓL×LÐLØ—.‘.Ø/°,ÀÐ1Mó÷ ð ð -/¯K©K¬M×:Ó: D’Tð 1øØLøðøð ;øÑ:ùÒ:ˆEÐ:Ø×ÑØòô	÷ 1×0×0×0Ó0üs–   ‚CœA6�C B-µA8¶B-ÁA:ÁB-Á(B Á*A>Á.A<Á/A>Á2B Á6CÁ8B-Á:B-Á<A>Á>B Á?B-ÂCÂ&B)Â'CÂ-B?Â3B6Â4B?Â;Cc              ƒ   óÜ  K  — t        j                  | j                  «      ƒ d {  –—† }|j                  d«      ƒ d {  –—† }|j	                  «       ƒ d {  –—†  | j                  t        d«      5  |j                  «       ƒ d {  –—†  d d d «       | j                  t        d«      5  |j                  «       ƒ d {  –—†  d d d «       y 7 Œ¤7 Œ�7 Œw7 ŒJ# 1 sw Y   ŒIxY w7 Œ!# 1 sw Y   y xY w­w)Nr    zConnection closed)r"   r#   r   r&   r)   r²   Ú
ValueErrorr'   )r   r   r+   s      r   Ú test_cursor_on_closed_connectionz*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…   ‚#C,¥C
¦C,¾C¿C,ÁCÁC,Á1CÂCÂCÂ
C,Â(C Â<CÂ=C Ã
C,ÃC,ÃC,ÃCÃCÃC,ÃC Ã C)Ã%C,c              ƒ   óä  K  — t        j                  | j                  «      ƒ d {  –—† }|j                  d«      ƒ d {  –—† }g }t	        d«      D ]k  }|dk(  r2|j                  t        j                  |j                  «       «      «       |j                  t        j                  |j                  «       «      «       Œm |D ]  }	 |ƒ d {  –—†  Œ y 7 Œ«7 Œ”7 Œ# t        j                  $ r Y Œ,w xY w­w)Nr    éd   é2   )r"   r#   r   r&   rI   rQ   rG   Úensure_futurer)   r'   r¼   ÚProgrammingError)r   r   r+   ÚtasksrD   Útasks         r   Ú%test_cursor_on_closed_connection_loopz/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øð ùÜ×+Ñ+ò ÙðüsV   ‚#C0¥C¦C0¾C¿BC0ÃCÃ	CÃ
CÃC0ÃC0ÃCÃC-Ã*C0Ã,C-Ã-C0c              ƒ   óÆ   K  — t        j                  | j                  «      ƒ d {  –—† }|j                  «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  y 7 Œ57 Œ7 Œ	­wr   )r"   r#   r   r)   r•   s     r   Útest_close_twicezSmokeTest.test_close_twice¡  sL   è ø€ Ü×$Ñ$ T§W¡WÓ-×-ˆà�h‰h‹j×Ðð �h‰h‹j×Ñð .øàøð 	ús1   ‚#A!¥A¦A!½A¾A!ÁAÁA!ÁA!ÁA!c           	   ƒ   ó‚  K  — d„ }t        j                  d«      4 ƒd {  –—† }t        j                  d«      4 ƒd {  –—† }|j                  d«      ƒ d {  –—†  |j                  dddg«      ƒ d {  –—†  |j	                  «       ƒ d {  –—†  | j                  t        d«      5  |j                  d«      ƒ d {  –—†  d d d «       |j                  ||¬	«      ƒ d {  –—†  |j                  d«      4 ƒd {  –—† }|j                  «       ƒ d {  –—† }| j                  |ddg«       d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 �Œ:7 �Œ7 �Œ	7 Œï7 ŒÙ7 Œ«# 1 sw Y   ŒªxY w7 Œ–7 Œ~7 Œh7 ŒF# 1 ƒd {  –—†7  sw Y   ŒVxY w7 ŒM# 1 ƒd {  –—†7  sw Y   Œ]xY w7 ŒT# 1 ƒd {  –—†7  sw Y   y xY w­w)
Nc                 ó   — t        | ||«       y r   )Úprint)ÚaÚbÚcs      r   Úprogressz1SmokeTest.test_backup_aiosqlite.<locals>.progressª  s   € Ü�!�Q˜�Nr   ra   rÆ   rÇ   rÈ   rÊ   úno such table: foor;   )rã   )
r"   r#   r&   rP   r>   r²   r   Úbackupr'   r(   )r   rã   Údb1Údb2r+   r,   s         r   Útest_backup_aiosqlitezSmokeTest.test_backup_aiosqlite©  sm  è ø€ ò	ô ×Ñ˜j×)Ô)¨SÜ×Ñ˜j×)Ô)¨Sà—+‘+ÐLÓM×MÐMØ—/‘/Ø/°,ÀÐ1Mó÷ ð ð —*‘*“,×Ðà×'Ñ'Ô(8Ð:NÕOØ—k‘kÐ"5Ó6×6Ð6÷ Pð —*‘*˜S¨8�*Ó4×4Ð4à—{‘{Ð#6×7Ô7¸6Ø#Ÿ_™_Ó.×.�Ø× Ñ  ¨°lÐ'CÔD÷ 8×7÷ *×)÷ *×)Ñ)ùØ)ùàMùðøð øð 7ø÷ PÐOúð 5øà7øØ.øð 8ø×7×7Ñ7úð *ø×)×)Ñ)úð *ø×)×)Ñ)üsP  ‚F?ŸE F?£F*½E¾F*ÁFÁEÁFÁ2E"Á3FÂ
E$ÂFÂ%E(Â:E&
Â;E(Â?FÃE4ÃFÃ7E6
Ã8FÃ;E<ÄE8
ÄE<Ä(FÄ3E:Ä4FÄ8F*ÅFÅF*ÅF?ÅF(ÅF?ÅF*ÅFÅ"FÅ$FÅ&E(Å(E1Å-FÅ6FÅ8E<Å:FÅ<FÆFÆFÆ
FÆF*ÆF%	ÆFÆF%	Æ!F*Æ(F?Æ*F<Æ0F3Æ1F<Æ8F?c              ƒ   ó¬  K  — t        j                  d«      4 ƒd {  –—† }t        j                  d«      5 }|j                  d«      ƒ d {  –—†  |j	                  dddg«      ƒ d {  –—†  |j                  «       ƒ d {  –—†  | j                  t        d«      5  |j                  d«       d d d «       |j                  |«      ƒ d {  –—†  |j                  d«      }|j                  «       }| j                  |ddg«       d d d «       d d d «      ƒd {  –—†  y 7 Œþ7 ŒÑ7 Œ·7 Œ¡# 1 sw Y   ŒxxY w7 Œf# 1 sw Y   Œ0xY w7 Œ'# 1 ƒd {  –—†7  sw Y   y xY w­w)Nra   rÆ   rÇ   rÈ   rÊ   rä   r;   )r"   r#   r¼   r&   rP   r>   r²   r   rå   r'   r(   )r   ræ   rç   r+   r,   s        r   Útest_backup_sqlitez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 D?¶D1ÁDÁD1Á'DÁ(D1Á?D!Â D1ÂD#Â,D1ÃD/Ã	9D1ÄD?Ä
EÄD=ÄEÄD1ÄD1Ä!D1Ä#D,Ä(D1Ä1D:	Ä6D?Ä=EÄ?EÅEÅEÅEN)r7   r8   r9   Úclassmethodr   r   r-   r/   rA   rK   rM   rT   rl   rn   rr   r…   r‰   r�   r–   r¤   r¨   r°   r´   rÄ   rÏ   rÒ   rÚ   rÜ   rè   rê   r4   r   r   r   r      s˜   „ Øñó ðò6ò
ò1ò@ò,ò(ò,ò&+òBò*-ò*52òn:òò	ò-ò*Dò 
3ò,òFò"ò&$òòòEó.Er   r   )rG   r¼   Úpathlibr   r   Útempfiler   Ú	threadingr   Úunittestr   r   Úunittest.mockr	   r"   Úhelpersr   r   r4   r   r   Ú<module>rò      s6   ðó Û Ý Ý $Ý 'Ý ß 6Ý ã Ý !ôEÐ'õ Er   