
    d                         d dl Z d dlmZmZ ddlmZ ddlmZmZm	Z	m
Z
 	 d dlZdZn# e$ r dZY nw xY werddlmZ d	Zdd
ZddZ ee e           G d de                      ZdS )    N)TestCaseskipIf   )MemoryObjectStore)BlobCommitTreeparse_timezoneTF)GreenThreadsMissingObjectFinderzGevent library is not installedc                    t          j        d| z             }t                      }|                    d| z   d|j                   t                      }|j        |_        dx|_        |_        | |_	        t          d          d         }t          t          j                              x|_        |_        |x|_        |_        |||fS )Ns   The blob content s   thefile i  s   John Doe <john@doe.net>s   -0200r   )r   from_stringr	   addidr   treeauthor	committermessager
   inttimecommit_timeauthor_timecommit_timezoneauthor_timezone)markerblobr   cmttzs        c/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/dulwich/tests/test_greenthreads.pycreate_commitr   +   s    069::D66DHH[6!8TW555
((CwCH!;;CJCK		!	!!	$B(+DIKK(8(88COco022C#-d?       c                     g }t          d|          D ]W}t          d|z                      d                    }|D ],}|                    |           |                     |           -X|S )Nr   z%dascii)r   )ranger   encodeappend
add_object)storecountretiobjsobjs         r   
init_storer.   9   s    
C1e__ " "TAX$5$5g$>$>??? 	" 	"CJJsOOOS!!!!	" Jr    c                   $     e Zd Z fdZd Z xZS )#TestGreenThreadsMissingObjectFinderc                     t                                                       t                      | _        d| _        t          | j        | j                  | _        d S )N
   )supersetUpr   r(   
cmt_amountr.   r,   )self	__class__s    r   r4   z)TestGreenThreadsMissingObjectFinder.setUpE   sA    &((
tz4?;;			r    c           	      *   d | j         D             }t          | j        d|          }|                     t	          |j                  d           |                     t	          |j                  | j                   t          | j        |dt          | j        dz                     |          }|                     t	          |j                  | j        dz  dz             |                     t	          |j                  | j        dz             d S )Nc                 F    g | ]}t          |t                    |j        S  )
isinstancer   r   ).0shas     r   
<listcomp>zCTestGreenThreadsMissingObjectFinder.test_finder.<locals>.<listcomp>L   s)    HHHC
30G0GHHHHr    r:   r   r   )	r,   r   r(   assertEquallensha_doneobjects_to_sendr5   r   )r6   wantsfinders      r   test_finderz/TestGreenThreadsMissingObjectFinder.test_finderK   s    HH49HHH0RGGV_--q111V344doFFF0Ja#do&9":"::;U
 
 	V_--!0Cq/HIIIV344do6IJJJJJr    )__name__
__module____qualname__r4   rE   __classcell__)r7   s   @r   r0   r0   C   sN        < < < < <K K K K K K Kr    r0   )N)r!   )r   dulwich.testsr   r   object_storer   objectsr   r   r	   r
   geventgevent_supportImportErrorgreenthreadsr   skipmsgr   r.   r0   r:   r    r   <module>rR      s:  .  * * * * * * * * , , , , , , 8 8 8 8 8 8 8 8 8 8 8 8MMMNN   NNN  ?>>>>>>
+       NG$$K K K K K( K K %$K K Ks   ' 11