
    -Shv                     ~    d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlZd dl	Z	d dl	m
Z ddlmZ  G d de          ZdS )    N)SkipTest)_objects   )TestCasec                   ,    e Zd Zd Zd Zd Zd Zd ZdS )TestObjectsc                 Z    t          j        d          }~t          j        d          }~d S )Nr   r   )oObjectIDselfoids     ]/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/h5py/tests/test_objects.pytest_invalidzTestObjects.test_invalid   s&    jmmjmmCC    c                     t          j        d          }t          j        d          }t          j        d          }|                     ||           |                     ||           d S )N*   +   )r
   r   assertEqualassertNotEqual)r   oid1oid2oid3s       r   test_equalityzTestObjects.test_equality    s[    z"~~z"~~z"~~t$$$D$'''''r   c                     t          j        d          }|                     t                    5  t	          |           d d d            d S # 1 swxY w Y   d S )Nr   )r
   r   assertRaises	TypeErrorhashr   s     r   	test_hashzTestObjects.test_hash)   s    jnny)) 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAc           
         t          t          d          st          d          t          j                    5 }g }t          d          D ]}t          j                            |d| d          }t          j	        |d          5 }|
                    dt          j                            dd          	           d d d            n# 1 swxY w Y   |                    |           d
 }g }|D ]B}t          j        ||f          }|                                 |                    |           Ci }t%          |          D ]C\  }	}t          j                    }
|
dk    r  ||           t          j        d           >|
||	<   Dt+          j                    }d}t+          j                    ||z   k     rt-          |          D ]e}	||	         }
t          j        |
t          j                  \  }}||
k    r3t          j        |          sJ t          j        |          dk    sJ ||	= f|sn.t+          j        d           t+          j                    ||z   k     t9          |          dk    rX|                                D ]9\  }	}
t          j        |
t>          j                    t          j        |
d           :J d            |D ]}|                                 	 d d d            d S # 1 swxY w Y   d S )Nforkos.fork not available
   testz.h5wvaluesi  )datac                     t          j        | d          5 }t          d          D ]}|d         d d          }	 d d d            d S # 1 swxY w Y   d S )Nrd   r&   )h5pyFilerange)fnf_s      r   r/   z-TestObjects.test_fork_with_threads.<locals>.f@   s    Yr3'' +1"3ZZ + +hKN++ + + + + + + + + + + + + + + + + +s   #AAA)targetargsr   g      N@g?Fz8Some child processes did not finish and had to be killed)!hasattrosr   tempfileTemporaryDirectoryr-   pathjoinr+   r,   create_datasetnprandomrandappend	threadingThreadstart	enumerater!   _exittimelistwaitpidWNOHANG	WIFEXITEDWEXITSTATUSsleeplenitemskillsignalSIGKILL)r   tmpdirfnsir.   r/   threadsthread
worker2pid	worker_idpidr@   timeout
waited_pidstatuss                  r   test_fork_with_threadsz"TestObjects.test_fork_with_threads/   s    r6"" 	42333(** >	fC2YY  W\\&----88Yr3'' P1$$XBINN44N4N$OOOP P P P P P P P P P P P P P P

2+ + + G ' '")"???v&&&& J!*3 0 0	2gii!88AbEEEHQKKKK -0Jy)) IKKEG)++//!%j!1!1 2 2I$Y/C)+C)D)D&J!S((!|F33333!~f55::::&y1! 
3 )++// :"" '1&6&6&8&8 ' 'NIsGC000JsA&&&&XXXXu "  {>	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	 >	s7   AK.6C;K.CK.CHK..K25K2c                    t          t          d          st          d          t          j                    fd}t          j        |          }|                                 	                                  t          j                    }|dk    rht          j
                            d          r3t          j
                                         t          j        d           n]t          j        d           nHt          j        |d          \  }}t          j        |          sJ t          j        |          dk    sJ |                                 d S # |                                 w xY w)	Nr!   r"   c                     t           j                                         	                                   t	          j        d           t           j                                         d S # t           j                                         w xY w)Nr   )r
   philacquiresetrC   rI   release)thread_acquired_phil_events   r   r/   z2TestObjects.test_phil_fork_with_threads.<locals>.f   si    FNN!*..000
1         s   (A) ) B	)r1   r   F)blockingr   )r3   r4   r   r>   Eventr?   r@   waitr!   r
   r]   r^   r`   rB   rE   rG   rH   r8   )r   r/   rS   rV   r0   rY   ra   s         @r   test_phil_fork_with_threadsz'TestObjects.test_phil_fork_with_threadsx   sQ    r6"" 	42333%._%6%6"	! 	! 	! 	! 	! !+++	&++--- '))Caxx 6>>5>11  FNN$$$HQKKKKHQKKKK JsA..	6|F+++++~f--2222KKMMMMMFKKMMMMs   (CE E1N)__name__
__module____qualname__r   r   r   rZ   re    r   r   r   r      sc          ( ( (  G G GR- - - - -r   r   )r4   rM   r5   r>   unittestr   numpyr:   rC   r+   r   r
   commonr   r   ri   r   r   <module>rm      s    
			                              N N N N N( N N N N Nr   