o
    V۷i                     @   s   d Z ddlZdejd< ddlmZmZmZ eddd G dd	 d	Zi Zd
d  ed< Z	e j
 ed< Z
ej
ed< ee dddZdddZedkr\ddlZed edd dS dS )z
demonstrate dill's ability to pickle different python types
test pickling of all Python Standard Library objects (currently: CH 1-14 @ 2.7)
    NTrecurse)
load_typesobjectsextendF)
pickleableunpickleablec                   @   s   e Zd Zdd ZdS )_classc                 C   s   d S N )selfr
   r
   M/home/ubuntu/vllm_env/lib/python3.10/site-packages/dill/tests/test_objects.py_method   s   z_class._methodN)__name__
__module____qualname__r   r
   r
   r
   r   r      s    r   c                    s    fddS )Nc                    s    S r	   r
   )yxr
   r   <lambda>!   s    z<lambda>.<locals>.<lambda>r
   r   r
   r   r   r   !   s    r   
LambdaType
MethodTypeUnboundMethodTypec                 C   s   t |  }zGtt|}|r?z
||ksJ W W dS  ty>   t|t|ks*J |r:td| t|f  Y W dS Y W dS w t|t|ksIJ W dS  tyd   |ratd| t|f  Y dS Y dS w )z'quick check if object pickles with dillzweak: %s %szfails: %s %sN)r   pickleloadsdumpsAssertionErrortypeprint	Exception)nameexactverboseobjpikr
   r
   r   pickles&   s   ($r$   c                 C   s    t  D ]	}t|d| d qd S )NF)r    r!   )r   keysr$   )r!   memberr
   r
   r   test_objects7   s   r'   __main__ignore)r!   )FT)T)__doc__dillr   settingsr   r   r   r   special_lambdar   updater$   r'   r   warningssimplefilterr
   r
   r
   r   <module>   s$   





