o
    NZh                     @   s  d Z ddlZdejd< dZdd Zdd	 Zd
d ZG dd deZddlm	Z	 ddlm
Z
 e
ddd e	d Ze	d   e	d   e	d   e	d   e	d   e	d   [	dd Zdd Zdd Zdd Zed kre  e  e  e  e  dS dS )!z$
testing some selected object types
    NTrecurseFc                  C   sX   t j} |  D ]\}}t|}trtd|t ||f  |s!J qtr*td d S d S N
%s: %s, %s )type__dict__itemsdillpicklesverboseprint)cijok r   O/var/www/html/lang_env/lib/python3.10/site-packages/dill/tests/test_selected.pytest_dict_contents   s   

r   c                 c   s    | V  d S Nr   )xr   r   r   _g   s   
 r   c                  C   s6   z  t y   ddlm}  |  \}}}||f Y S w )Nr   )exc_info)	Exceptionsysr   )r   eZertbr   r   r   _f   s   r   c                   @   s   e Zd Zdd ZdS )_dc                 C   s   d S r   r   )selfr   r   r   _method&   s   z
_d._methodN)__name__
__module____qualname__r   r   r   r   r   r   %   s    r   )objects)
load_types)Z
pickleableZunpickleableZClassObjectTypeZTemporaryFileTypeZTextWrapperTypeZBufferedRandomTypeZBufferedReaderTypeZBufferedWriterTypeFileTypec                  C   s   t j} |  D ]}t|}trtd|t||f  |sJ qtr&td tj}| D ]}t|}trAtd|t||f  |sEJ q-trNtd d S d S r   )	r   r   valuesr	   r
   r   r   r   	_newclass)dr   r   Zodr   r   r   test_class_descriptors7   s   



r)   c                  C   sx   t  } t }t| }trtd|t| | f  |sJ t|}tr.td|t||f  |s2J tr:td d S d S r   )r   r'   r	   r
   r   r   r   )oZoor   r   r   r   
test_classF   s   

r+   c                  C   s   t d} | j}t \}}dd }t|}tr"td|t||f  |r&J t| }tr8td|t| | f  || s?J t|}trQtd|t||f  |rUJ t|}trgtd|t||f  |skJ trstd d S d S )N   c                 S   s   | S r   r   )r   r   r   r   <lambda>V   s    z$test_frame_related.<locals>.<lambda>r   r   )r   gi_framer   r	   r
   r   r   r   )gfr   tZ_isr   r   r   r   test_frame_relatedR   s"   




r2   c                  C   s   dd l } | j}|t|ksJ | jttf }|t|ks J | jt }|t|ks.J | jttf }|t|ks>J | jt }|t|ksLJ | jd }|t|ksZJ | jd 	d}|t|kskJ d S )Nr   r   )
typingAnyr	   copyDictintstrListTuple	copy_with)r3   r   r   r   r   test_typinge   s    


r<   __main__)__doc__r	   settingsr   r   r   r   objectr   r#   r$   r'   closer)   r+   r2   r<   r    r   r   r   r   <module>   s<   

