o
    µ2úh
  ã                   @   sP   d dl Z d dlZd dlmZ d dlZd dlmZ ddlm	Z	 G dd„ de	ƒZ
dS )é    N)ÚSkipTest)Ú_objectsé   )ÚTestCasec                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚTestObjectsc                 C   s   t  d¡}~t  d¡}~d S )Nr   r   )ÚoÚObjectID©ÚselfÚoid© r   úR/var/www/html/chatgem/venv/lib/python3.10/site-packages/h5py/tests/test_objects.pyÚtest_invalid   s   

zTestObjects.test_invalidc                 C   s:   t  d¡}t  d¡}t  d¡}|  ||¡ |  ||¡ d S )Né*   é+   )r   r   ÚassertEqualÚassertNotEqual)r
   Úoid1Úoid2Úoid3r   r   r   Útest_equality   s
   


zTestObjects.test_equalityc                 C   sB   t  d¡}|  t¡ t|ƒ W d   ƒ d S 1 sw   Y  d S )Nr   )r   r   ÚassertRaisesÚ	TypeErrorÚhashr	   r   r   r   Ú	test_hash%   s   

"ÿzTestObjects.test_hashc                    sè   t tdƒs	tdƒ‚t ¡ ‰ ‡ fdd„}tj|d}| ¡  zQˆ  ¡  t ¡ }|dkrBt	j
jddr<t	j
 ¡  t d¡ n%t d	¡ nt |d¡\}}t |¡sQJ ‚t |¡dkshJ ‚W | ¡  d S W | ¡  d S W | ¡  d S | ¡  w )
NÚforkzos.fork not availablec                      s:   t j ¡  zˆ  ¡  t d¡ W t j ¡  d S t j ¡  w )Nr   )r   ÚphilÚacquireÚsetÚtimeÚsleepÚreleaser   ©Úthread_acquired_phil_eventr   r   Úf8   s
   
z2TestObjects.test_phil_fork_with_threads.<locals>.f)Útargetr   F)Úblockingr   )ÚhasattrÚosr   Ú	threadingÚEventÚThreadÚstartÚwaitr   r   r   r   r!   Ú_exitÚwaitpidÚ	WIFEXITEDÚWEXITSTATUSÚjoin)r
   r$   ÚthreadÚpidÚ_Ústatusr   r"   r   Útest_phil_fork_with_threads+   s.   

úö
þz'TestObjects.test_phil_fork_with_threadsN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r7   r   r   r   r   r      s
    	r   )r(   r)   Úunittestr   r   Úh5pyr   r   Úcommonr   r   r   r   r   r   Ú<module>   s   