
    bi0                     >   d dl mZmZmZmZmZmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlZd dlZd dlZd Zd Zd\  ZZZd	 Zd
 Z G d d      Zd Zd gZ G d de      Z e       Zd Zd Zd Z e!dk(  r+ e         e         e         e         e         e         yy)    )baditems
badobjectsbadtypeserrorsparentat
globalvars)settings)IS_PYPY)PicklingErrorNc                     t        j                         } t        |       | gk(  sJ t        |       | u sJ t	        |       t        |       k(  sJ t        t        |             t        u sJ t	        | d      }t        |t              sJ t        t        | d      j                               t        |j                               k(  sJ t        t        | d      j                               t        |j                               k(  sJ t        t        t        | d      j                               D cg c]'  }|j                  j                  |j                   d   f) c}      }t        |      }t"        j$                  j'                  d      s;t        | j(                        t        u rdnd}t+        |      t+        |      |z   k(  sJ d}d|j                         v rt+        |      |u s
J |dz
  sJ y y c c}w )N   r   COVERAGE   r   )inspectcurrentframer   r   r   typer   	TypeError
isinstancedictlistkeyssetvalues	__class____name__argsosenvirongetf_localslen)fderrsaproxyns          Q/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/dill/tests/test_detect.pytest_bad_thingsr+      s   AA;1#a=AA;$q'!!!q	?i'''AAa
1a %%'(DN:::q!!!#$QVVX666T&A,BUBUBW=XYccmm$$SXXa[1YZAQA::>>*%!**%-11vQ%'''	A)QVVX53q6Q;>>1Q3>>3; Zs   0,G4c                      g d} t        |       }t        |t              }|| u sJ t        rt        |t              J t        |t              | d   u sJ t        t        t
                    t
        u sJ y )N)            )iterr   r   r   intr   id)xlistiterobjs      r*   test_parentr8   %   sk    AAwH
4
 C!8O8vc3'///S!QrU*
**bf:    )r   r      c                     t         | dz  z   S )Nr   r'   r5   s    r*   squaredr>   1   s    	
1a4-r9   c                       fd}|S )Nc                      t              | z   S N)r>   )yr5   s    r*   barzfoo.<locals>.bar5   s    1:a<r9    )r5   rC   s   ` r*   foorE   4   s    	*r9   c                       e Zd Zd Zd Zy)_classc                      y rA   rD   selfs    r*   _methodz_class._method:       r9   c                      y)NTrD   rI   s    r*   okz	_class.ok<   s    r9   N)r   
__module____qualname__rK   rN   rD   r9   r*   rG   rG   9   s    r9   rG   c                     d } t        |       t        ddd      k(  sJ t        t        d      }t        |      t        dd	g      k(  sJ t        t        d
      }|i k(  sJ t        d      }t        |d      }t        |      t        dd	g      k(  sJ t        |d
      }t        |      t        dg      k(  sJ ~t        t              }t        |      t        d	g      k(  sJ y )Nc                      t          d } y )Nc                      t          d } y )Nc                      t          y rA   )crD   r9   r*   hz-test_globals.<locals>.f.<locals>.g.<locals>.hD   s    r9   )b)rV   s    r*   gz"test_globals.<locals>.f.<locals>.gB   s
    r9   r<   )rX   s    r*   r#   ztest_globals.<locals>.f@   s
    		r9   r   r   r:   )r'   rW   rU   Trecurser>   r'   F)r	   r   rE   r   r>   )r#   reszaps      r*   test_globalsr]   ?   s     a=D1Q////
S$
'Cs8sIs+,,,,
S%
(C"99
a&C
S$
'Cs8sIs+,,,,
S%
(Cs8sI;''''
W
Cs8sC5z!!!r9   c                       e Zd Zd Zd Zd Zy)Fooc                      y rA   rD   rI   s    r*   __init__zFoo.__init__c   rL   r9   c                 ,    t         d   dz   t         d<   i S )Nr   r   )rC   rI   s    r*   __getstate__zFoo.__getstate__e   s    QA	r9   c                      y rA   rD   )rJ   datas     r*   __setstate__zFoo.__setstate__h   rL   r9   N)r   rO   rP   ra   rc   rf   rD   r9   r*   r_   r_   b   s    r9   r_   c                      ddl m} m}  | t               t        d   } | d d       t        d   |k(  sJ  | d d       t        d   |dz   k(  sJ y )	Nr   dumpsloadsc                      t         S rA   r#   rD   r9   r*   <lambda>ztest_getstate.<locals>.<lambda>q       ! r9   FrY   c                      t         S rA   rl   rD   r9   r*   rm   ztest_getstate.<locals>.<lambda>s   rn   r9   Tr   )dillri   rj   r#   rC   )ri   rj   rW   s      r*   test_getstaterq   m   sM    !	!HAA	)U#q6Q;;	)T"q6QU??r9   c                      ddl m} m} ddlmam} d }dt        d<    | |      }t               j                  d      adab ||      } |d      }dd	lma  |d      |k(  sJ y )
Nr   rh   )sinpic                     t        |       | z  S rA   rs   r=   s    r*   sincztest_deleted.<locals>.sinc|   s    1vaxr9   TrZ   rs   r   rv   )	rp   ri   rj   mathrs   rt   r
   globalspop)ri   rj   rt   rw   _sincsinc_r[   s          r*   test_deletedr}   w   s_    ! HY$KE
)--
C
C%LE
(C7c>>r9   c                      	 ddl m} m} dt        d<    | d      }|dz  } ||g|      }t
        }t               }t        |dd       |t
        u sJ |t               u sJ y # t        $ r Y y w xY w)Nr   )symbolslambdifyTrZ   r5   r   )rZ   builtin)sympyr   r   ImportErrorr
   minry   r	   )r   r   r5   rB   r#   zr$   s          r*   test_lambdifyr      s{    + HYA	1A!aAA	Aq$-8O8	>>  s   A! !	A-,A-__main__)"dill.detectr   r   r   r   r   r   r	   rp   r
   
dill._dillr   pickler   r   sysr   r+   r8   r'   rW   rU   r>   rE   rG   r]   rC   objectr_   r#   rq   r}   r   r   rD   r9   r*   <module>r      s    W V V      
 	?& 1a
 "B 	c&  E&  zMNONO r9   