+
    Bi                         ^ RI t^ RIt^RIHt  ! R R]P
                  4      t]R8X  d   ]P                  ! 4        R# R# )    N)memory_databasec                      a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tR tR tRtV tR# )BackupTestsc                    \         P                  ! R 4      ;qn        VP                  R4       VP	                  RRR.4       VP                  4        R# ):memory:zCREATE TABLE foo (key INTEGER) INSERT INTO foo (key) VALUES (?)N      )sqliteconnectcxexecuteexecutemanycommit)selfr   s   & 4/usr/lib/python3.14/test/test_sqlite3/test_backup.pysetUpBackupTests.setUp   s>    ~~j11W


34
9D$<H
		    c                :    V P                   P                  4        R # N)r   closer   s   &r   tearDownBackupTests.tearDown   s    r   c                    VP                  R 4      P                  4       pV P                  V^ ,          ^ ,          ^4       V P                  V^,          ^ ,          ^4       R# )z SELECT key FROM foo ORDER BY keyN)r   fetchallassertEqual)r   bckcxresults   && r   verify_backupBackupTests.verify_backup   sJ    ABKKM1q)1q)r   c                V   V P                  \        4      ;_uu_ 4        V P                  P                  R 4       R R R 4       V P                  \        4      ;_uu_ 4        V P                  P                  4        R R R 4       R #   + '       g   i     LR; i  + '       g   i     R # ; ir   assertRaises	TypeErrorr   backupr   s   &r   test_bad_targetBackupTests.test_bad_target   sb    y))GGNN4  *y))GGNN *) *))))s   BBB	B(	c                    V P                  \        4      ;_uu_ 4        V P                  P                  R 4       RRR4       R#   + '       g   i     R# ; i)zsome_file_name.dbNr&   r   s   &r   test_bad_target_filename$BackupTests.test_bad_target_filename   s3    y))GGNN./ *)))s   AA	c                    V P                  \        4      ;_uu_ 4        V P                  P                  V P                  4       R R R 4       R #   + '       g   i     R # ; ir   )r'   
ValueErrorr   r)   r   s   &r   test_bad_target_same_connection+BackupTests.test_bad_target_same_connection    s6    z**GGNN477# +***s   &AA	c           	     @   \        4       ;_uu_ 4       pVP                  4        V P                  \        P                  4      ;_uu_ 4        V P
                  P                  V4       R R R 4       R R R 4       R #   + '       g   i     L; i  + '       g   i     R # ; ir   )r   r   r'   r   ProgrammingErrorr   r)   r   bcks   & r   !test_bad_target_closed_connection-BackupTests.test_bad_target_closed_connection$   s]    #IIK""6#:#:;;s# < ;; s#   8BA9	'B9B	BB	c           	     X   \        4       ;_uu_ 4       p\        P                  ! R 4      pVP                  4        V P	                  \        P
                  4      ;_uu_ 4        VP                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r   N)r   r   r   r   r'   r4   r)   )r   r6   sources   &  r   !test_bad_source_closed_connection-BackupTests.test_bad_source_closed_connection*   si    #^^J/FLLN""6#:#:;;c" <  <; s$   AB!B	3BBBB)	c           	     j   \        4       ;_uu_ 4       pVP                  R 4       VP                  RRR.4       V P                  \        P
                  4      ;_uu_ 4       pV P                  P                  V4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)zCREATE TABLE bar (key INTEGER)z INSERT INTO bar (key) VALUES (?)Nr	   r   )r   r   r   r'   r   OperationalErrorr   r)   r   r6   cms   &  r   test_bad_target_in_transaction*BackupTests.test_bad_target_in_transaction1   sx    #KK89OO>tM""6#:#:;;rs# <  <; s$   AB! B	<B!BB!!B2	c           	        V P                  \        4      ;_uu_ 4        \        4       ;_uu_ 4       pV P                  P	                  V^4       RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)   N)r'   r(   r   r   r)   r5   s   & r   test_keyword_only_args"BackupTests.test_keyword_only_args8   sP    y)) ""csA& # *)"" *))s"   A3A 	A3 A0+A33B	c                    \        4       ;_uu_ 4       pV P                  P                  V4       V P                  V4       R R R 4       R #   + '       g   i     R # ; ir   )r   r   r)   r#   r5   s   & r   test_simpleBackupTests.test_simple=   s:    #GGNN3s# s   -A

A	c                  a . oV3R  lp\        4       ;_uu_ 4       pV P                  P                  V^VR7       V P                  V4       RRR4       V P	                  \        S4      ^4       V P	                  S^ ,          \        P                  4       V P	                  S^,          \        P                  4       R#   + '       g   i     L{; i)c                 *   < SP                  V 4       R # r   appendstatus	remainingtotaljournals   &&&r   progress+BackupTests.test_progress.<locals>.progressE   s    NN6"r   pagesrS   N)	r   r   r)   r#   r    lenr   	SQLITE_OKSQLITE_DONEr   rS   r6   rR   s   &  @r   test_progressBackupTests.test_progressB   s    	# #GGNN3a(N;s#  	Wq)V%5%56V%7%78 s   0B??C	c                6  a . oV3R  lp\        4       ;_uu_ 4       pV P                  P                  W!R7       V P                  V4       RRR4       V P	                  \        S4      ^4       V P	                  S^ ,          ^ 4       R#   + '       g   i     LF; i)c                 *   < SP                  V4       R # r   rL   rN   s   &&&r   rS   ?BackupTests.test_progress_all_pages_at_once_1.<locals>.progressS       NN9%r   rS   Nr   r   r)   r#   r    rW   rZ   s   &  @r   !test_progress_all_pages_at_once_1-BackupTests.test_progress_all_pages_at_once_1P   sr    	& #GGNN3N2s#  	Wq)Q' s   .BB	c                :  a . oV3R  lp\        4       ;_uu_ 4       pV P                  P                  VRVR7       V P                  V4       RRR4       V P	                  \        S4      ^4       V P	                  S^ ,          ^ 4       R#   + '       g   i     LF; i)c                 *   < SP                  V4       R # r   rL   rN   s   &&&r   rS   ?BackupTests.test_progress_all_pages_at_once_2.<locals>.progress`   r`   r   rU   Nrb   rZ   s   &  @r   !test_progress_all_pages_at_once_2-BackupTests.test_progress_all_pages_at_once_2]   sv    	& #GGNN3b8N<s#  	Wq)Q' s   0B

B	c           
     Z   V P                  \        4      ;_uu_ 4       p\        4       ;_uu_ 4       pV P                  P	                  V^RR7       RRR4       RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L?; i  + '       g   i     LJ; i)rD   barrU   Nz$progress argument must be a callable)r'   r(   r   r   r)   r    str	exception)r   r@   r6   s   &  r   test_non_callable_progress&BackupTests.test_non_callable_progressj   sn    y))R ""cs!e< # * 	R\\*,RS #" *)s"   BB	BBBB*	c                   a a . oVV 3R  lp\        4       ;_uu_ 4       pS P                  P                  V^VR7       S P                  V4       VP	                  R4      P                  4       pS P                  V^ ,          ^ ,          R4       RRR4       S P                  \        S4      ^4       S P                  S^ ,          ^4       S P                  S^,          ^4       S P                  S^,          ^ 4       R#   + '       g   i     Lx; i)c                    < S'       g?   SP                   P                  R VR,           34       SP                   P                  4        SP                  V4       R# )r   i  N)r   r   r   rM   )rO   rP   rQ   rR   r   s   &&&r   rS   5BackupTests.test_modifying_progress.<locals>.progresss   s:     BYt^DUV NN9%r   rU   z2SELECT key FROM foo WHERE key >= 1000 ORDER BY keyi  N)r   r   r)   r#   r   r   r    rW   )r   rS   r6   r"   rR   s   f   @r   test_modifying_progress#BackupTests.test_modifying_progressp   s    	& #GGNN3a(N;s#[[ "1 22:(*  VAYq\40  	Wq)Q'Q'Q' s   A/C==D	c           	     \   R  pV P                  \        4      ;_uu_ 4       p\        4       ;_uu_ 4       pV P                  P	                  W1R7       RRR4       RRR4       V P                  \        XP                  4      R4       R#   + '       g   i     L?; i  + '       g   i     LJ; i)c                     \        R 4      h)nearly out of space)SystemError)rO   rP   rQ   s   &&&r   rS   3BackupTests.test_failing_progress.<locals>.progress   s    344r   ra   Nrx   )r'   ry   r   r   r)   r    rm   rn   )r   rS   errr6   s   &   r   test_failing_progress!BackupTests.test_failing_progress   sq    	5 {++s ""cs6 # , 	S]]+-BC #" ,+s"   BB	BBBB+	c           	     6   \        4       ;_uu_ 4       pV P                  P                  VR R7       RRR4       \        4       ;_uu_ 4       pV P                  P                  VRR7       RRR4       V P                  \        P
                  4      ;_uu_ 4       p\        4       ;_uu_ 4       pV P                  P                  VRR7       RRR4       RRR4       V P                  R\        XP                  4      4       V P                  P                  R4       V P                  P                  R4       V P                  P                  RR
R.4       V P                  P                  4        \        4       ;_uu_ 4       pV P                  P                  VR	R7       V P                  V4       RRR4       R#   + '       g   i     EL; i  + '       g   i     ELk; i  + '       g   i     EL; i  + '       g   i     EL+; i  + '       g   i     R# ; i)main)nameNtempznon-existingzunknown databasez)ATTACH DATABASE ':memory:' AS attached_dbz*CREATE TABLE attached_db.foo (key INTEGER)z,INSERT INTO attached_db.foo (key) VALUES (?)attached_dbr	   r   )r   r   r)   r'   r   r>   assertInrm   rn   r   r   r   r#   r?   s   &  r   test_database_source_name%BackupTests.test_database_source_name   s_   #GGNN3VN, #GGNN3VN, v66772 ""cs8 # 8 	(#bll*;<CDDEJTSWLY#GGNN3]N3s#   #"" 877 sG   F7GG3+G		G3>/H7G	G	G0*	G33H	H	)r   N)__name__
__module____qualname____firstlineno__r   r   r#   r*   r-   r1   r7   r;   rA   rE   rH   r[   rc   ri   ro   rt   r|   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sf     *
0$$#$'
$
9((T(.D$ $r   r   __main__)	sqlite3r   unittestutilr   TestCaser   r   r    r   r   <module>r      s;      !Y$(## Y$x zMMO r   