
    .Ph                     Z    d Z ddlZddlZddlmZ ddlmZmZmZm	Z	  G d de          Z
dS )zTest for object db    N)TestBase)
to_hex_sha
to_bin_shaNULL_HEX_SHALockedFDc                        e Zd Zd Zd Zd ZdS )	TestUtilsc                    t          t                    t          k    sJ t          t          t                              dk    sJ t          t          t                              t          j        d          k    sJ d S )N   ascii)r   r   lenr   encode)selfs    T/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/gitdb/test/test_util.pytest_basicszTestUtils.test_basics   sn    ,''<7777:l++,,2222*\2233|7J77S7SSSSSSS    c                     t          |d          5 }|                                |                    d          k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nrbr   )openreadr   )r   	file_pathdatafps       r   _cmp_contentszTestUtils._cmp_contents   s     )T"" 	5b7799G 4 444444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5s   .AAAc                    t          j                    }d}d}t          |d          5 }|                    |                    d                     d d d            n# 1 swxY w Y   	 t          |          }|                                }|                     t          |j	                   |                     t          |j
                   t          j                            |          rJ |                    d          }|j        |u sJ t          j                            |          sJ t          j        ||                    d                     |	                                 |j        J |                     ||           t          j                            |          rJ |
                                 |	                                 t          |          }|                    d          }t          j        |t#          |                    |                    d          k    sJ t          j                            |          sJ ~t          j                            |          rJ t          |          }t          |          }	t          j                            |          rJ |                    dd          }
t          j                            |          sJ |                     t$          |	j                   |
                    |                    d                     |
                                 t          j                            |          rJ |                     ||           t          j        |           n# t          j        |           w xY wt          t          j                              }	 |                    d           |                     d	           d S # t*          $ r7 t          j                            |                                          rJ Y d S w xY w)
Nhelloworldwbr   T)writeF)r   streamzexpected OSError)tempfilemktempr   r   r   r   _lockfilepathassertRaisesAssertionErrorrollbackcommitospathisfile_fdr   r   r   IOErrorremovefailOSErrorexists)r   my_file	orig_datanew_data
my_file_fplfdlockfilepathwfdrfdolfd	wfdstreams              r   test_lockedfdzTestUtils.test_lockedfd   s   /##	'4   	8JY--g66777	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	83	7##C,,..L ncl;;;ncj999 w~~l33333(((&&C7c>>>>7>>,///// HS(//'22333LLNNN7???w	222w~~l33333 JJLLLLLNNN 7##C(((''C73I//93C3CG3L3LLLLL7>>,/////w~~l33333 7##CG$$Dw~~l33333tD99I7>>,/////gty111OOHOOG44555JJLLLw~~l33333w111 IgBIg x(())	*HH5H!!! II()))))  	; 	; 	;w~~c&7&7&9&9::::::::	;s0   )AA!$A!)LN N+O< <=P=<P=N)__name__
__module____qualname__r   r   r;    r   r   r	   r	      sI        T T T
5 5 5D* D* D* D* D*r   r	   )__doc__r!   r(   gitdb.test.libr   
gitdb.utilr   r   r   r   r	   r?   r   r   <module>rC      s   
    				 # # # # # #           Q* Q* Q* Q* Q* Q* Q* Q* Q* Q*r   