o
    ~]	                     @   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[	dd Zdd Zdd ZedkrVe  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   Q/var/www/Datamplify/venv/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   s.   z    ddl m}  |  \}}}||f Y S )Nr   )exc_info)sysr   )r   e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)
pickleableunpickleableClassObjectTypec                  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   odr   r   r   test_class_descriptors0   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   )ooor   r   r   r   
test_class?   s   

r/   c                  C   s   t d} | j}t \}}dd }t|}tr"td|t||f  || s)J t| }tr;td|t| | f  || sBJ t|}trTtd|t||f  |rXJ t|}trjtd|t||f  |snJ trvtd d S d S )N   c                 S   s   t jjr|  S | S r   )r	   _dillIS_PYPY)r   r   r   r   <lambda>O   s    z$test_frame_related.<locals>.<lambda>r   r   )r   gi_framer   r	   r
   r   r   r   )gfr   t_isr   r   r   r   test_frame_relatedK   s"   




r9   __main__)__doc__r	   settingsr   r   r   r   objectr   r#   r$   r)   r,   r/   r9   r    r   r   r   r   <module>   s,   

