
    tKg                     6   d Z ddlZddlmZ ddlZddlZddlZddlZ G d dej                        Z	 G d dej                        Z
 ej                  d	      d
        Zej                  j                  d      ej                  j                  d               Zy)z
Tests which scan for certain occurrences in the code, they may not find
all of these occurrences but should catch almost all. This file was adapted
from NumPy.
    N)Pathc                       e Zd Zd Zd Zd Zy)	ParseCallc                     g | _         y N)ls)selfs    b/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/_lib/tests/test_warnings.py__init__zParseCall.__init__   s	        c                     t         j                  j                  | |       | j                  j	                  |j
                         y r   )astNodeVisitorgeneric_visitr   appendattrr	   nodes     r
   visit_AttributezParseCall.visit_Attribute   s*    %%dD1tyy!r   c                 N    | j                   j                  |j                         y r   )r   r   idr   s     r
   
visit_NamezParseCall.visit_Name   s    twwr   N)__name__
__module____qualname__r   r   r    r   r
   r   r      s    " r   r   c                   $     e Zd Z fdZd Z xZS )	FindFuncsc                 L    t         |           || _        g | _        g | _        y r   )superr   _FindFuncs__filenamebad_filtersbad_stacklevels)r	   filename	__class__s     r
   r   zFindFuncs.__init__   s%    "!r   c                    t               }|j                  |j                         t        j                  j                  | |       |j                  d   dk(  s|j                  d   dk(  r|j                  d   xxt        j                  d x\   } |j                  }nJ  xt        j                  d x&\   }dj                  d |j                  D              }n  	 t        d      |d	k(  r4| j                  j                  | j                    d
|j"                          |j                  d   dk(  rt%        |j                        dk(  s|j                  d   dk(  r| j                   dk(  ry t%        |j                        dk(  ry |j&                  D ch c]  }|j(                   }}d|vr5| j*                  j                  | j                    d
|j"                          y y y y c c}w )Nsimplefilterfilterwarningsr   r    c              3   j   K   | ]+  }t        |t        j                        s|j                   - y wr   )
isinstancer   Constantvalue).0xs     r
   	<genexpr>z'FindFuncs.visit_Call.<locals>.<genexpr>3   s%      &)2AjCLL6Qs   33zunknown ast node typeignore:warn   warningsz_lib/tests/test_warnings.py   
stacklevel)r   visitfuncr   r   r   r   argsr-   r.   	JoinedStrjoinvalues
ValueErrorr"   r   r!   linenolenkeywordsargr#   )r	   r   pcargtextjskwr<   s           r
   
visit_CallzFindFuncs.visit_Call%   s   K			%%dD1448~%b5E)E))A,(S\\^(ggG )*S]]_* !gg &)+& G	 + $%<==("  '''q68 448vADD	Q!$$r(j"8"?? 499~"%)]]3]rBFF]D34'$$++'q68 ( #9  4s   G%)r   r   r   r   rJ   __classcell__)r%   s   @r
   r   r      s    "%8r   r   session)scopec                     t        t        j                        j                  } g }g }| j	                  d      D ]  }t        j                  t        |            5 }t        j                  |j                         t        |            }t        |j                  |             }|j                  |       |j                  |j                         |j                  |j                          d d d         ||fS # 1 sw Y   xY w)Nz*.py)r$   )r   scipy__file__parentrglobtokenizeopenstrr   parsereadr   relative_tor:   extendr"   r#   )baser"   r#   pathfiletreefinders          r
   warning_callsr_   M   s     &&DKO

6" ]]3t9%99TYY[3t9=Dt//56FLLv112""6#9#9: &% # '' &%s   BC88D	   c                    | \  }}t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  dd	      t         j                  j                  d
d      t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  dd      t         j                  j                  ddd      t         j                  j                  dd      t         j                  j                  d
ddd      df}|D cg c]  }|j                  d      d   |vs| }}|r)t	        dj                  dj                  |                  y c c}w )Ndatasetsz_fetchers.pyz__init__.pyoptimizez_optimize.pyz_constraints.pyz_nnls.pysignalz
_ltisys.pysparsestatsz_discrete_distns.pyz_continuous_distns.pyz_binned_statistic.pytestsztest_axis_nan_policy.py_libz_util.pylinalg_dsolvezlinsolve.pyzconftest.pyr3   r   zxwarning ignore filter should not be used, instead, use
numpy.testing.suppress_warnings (in tests only);
found in:
    {}z
    )osr[   r>   splitAssertionErrorformat)r_   r"   r#   allowed_filtersitems        r
   test_warning_calls_filtersrq   b   sw    $1 K 	Z0
Z/
Z0
Z!23
Z,
X|,
X}-
W34
W56
W45
Wg'@A
VZ(
XxMBO  %0 $KD4::c?13E"4#4KK $   &k*!,- 	- $s   #G1?G1)__doc__rk   pathlibr   r   rS   rO   pytestr   r   r   fixturer_   mark	fail_slowslowrq   r   r   r
   <module>ry      s    
  
   	  	 ,8 ,8^ i ( !(( r"-  "-r   