
    ^MhU                     (   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                            d          ej        j        d                         ZdS )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dS )	ParseCallc                     g | _         d S N)ls)selfs    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/_lib/tests/test_warnings.py__init__zParseCall.__init__   s        c                     t           j                            | |           | j                            |j                   d S r   )astNodeVisitorgeneric_visitr   appendattrr	   nodes     r
   visit_AttributezParseCall.visit_Attribute   s6    %%dD111ty!!!!!r   c                 D    | j                             |j                   d S r   )r   r   idr   s     r
   
visit_NamezParseCall.visit_Name   s    twr   N)__name__
__module____qualname__r   r   r    r   r
   r   r      sA          " " "         r   r   c                   $     e Zd Z fdZd Z xZS )	FindFuncsc                 r    t                                                       || _        g | _        g | _        d S r   )superr   _FindFuncs__filenamebad_filtersbad_stacklevels)r	   filename	__class__s     r
   r   zFindFuncs.__init__   s6    "!r   c                 l   t                      }|                    |j                   t          j                            | |           |j        d         dk    s|j        d         dk    r|j        d         xxt          j        d x\   } |j	        }nL  xt          j
        d x(\   }d                    d |j        D                       }n  	 t          d          |d	k    r)| j                            | j         d
|j                    |j        d         dk    rt%          |j                  dk    s|j        d         dk    ri| j        dk    rd S t%          |j                  dk    rd S d |j        D             }d|vr/| j                            | j         d
|j                    d S d S d S d S )Nsimplefilterfilterwarningsr   r    c              3   X   K   | ]%}t          |t          j                  |j        V  &d S r   )
isinstancer   Constantvalue).0xs     r
   	<genexpr>z'FindFuncs.visit_Call.<locals>.<genexpr>3   sI       & &$%jCL6Q6Q&& & & & & &r   zunknown ast node typeignore:warn   warningsz_lib/tests/test_warnings.py   c                     h | ]	}|j         
S r   )arg)r/   kws     r
   	<setcomp>z'FindFuncs.visit_Call.<locals>.<setcomp>G   s    333rBF333r   
stacklevel)r   visitfuncr   r   r   r   argsr-   r.   	JoinedStrjoinvalues
ValueErrorr"   r   r!   linenolenkeywordsr#   )r	   r   pcargtextjsr@   s          r
   
visit_CallzFindFuncs.visit_Call%   s   KK		%%dD11148~%%b5E)E)E)A,((S\^^^^^^^gG% )(*S]______ !gg & &)+& & &  G 	 +* $%<===("" ''66668 8 8 48vAD		Q!$r(j"8"8"??? 49~~""33T]333D4''$++66668 8 8 8 8 "8"8 ('r   )r   r   r   r   rL   __classcell__)r%   s   @r
   r   r      sG        " " " " "%8 %8 %8 %8 %8 %8 %8r   r   session)scopec                  0   t          t          j                  j        } g }g }|                     d          D ]}t          j        t          |                    5 }t          j	        |
                                t          |                    }t          |                    |                     }|                    |           |                    |j                   |                    |j                   d d d            n# 1 swxY w Y   ||fS )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_callsra   M   s0    &DKO

6"" ; ; ]3t99%% 	;9TYY[[3t99===Dt//5566FLLv1222""6#9:::	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; 	; ''s   B!DD	D	(   c                 J   | \  }}t           j                            dd          t           j                            dd          t           j                            dd          t           j                            dd          t           j                            dd          t           j                            dd	          t           j                            d
d          t           j                            dd          t           j                            dd          t           j                            dd          t           j                            dd          t           j                            dd          t           j                            ddd          t           j                            dd          t           j                            d
ddd          dffd|D             }|r5t          d                    d                    |                              d S )Ndatasetsz_fetchers.pyz__init__.pyoptimizez_optimize.pyz_constraints.pyz_nnls.pysignalz
_ltisys.pysparsespecialz	_basic.pystatsz_discrete_distns.pyz_continuous_distns.pyz_binned_statistic.pyz_stats_py.pytestsztest_axis_nan_policy.py_libz_util.pylinalg_dsolvezlinsolve.pyzconftest.pyc                 N    g | ]!}|                     d           d         v|"S )r3   r   )split)r/   itemallowed_filterss     r
   
<listcomp>z.test_warning_calls_filters.<locals>.<listcomp>   sC     $ $ $D4::c??13E"4# 4#4 4# 4# 4#r   zxwarning ignore filter should not be used, instead, use
numpy.testing.suppress_warnings (in tests only);
found in:
    {}z
    )osr]   rB   AssertionErrorformat)ra   r"   r#   rq   s      @r
   test_warning_calls_filtersrv   b   s    $1 K 	Z00
Z//
Z00
Z!233
Z,,
X|,,
X}--
Y,,
W344
W566
W455
Wn--
Wg'@AA
VZ((
XxMBB!O$$ $ $ $K $ $ $K  -  &k**!, !,- - 	-- -r   )__doc__rs   pathlibr   r   rU   rQ   pytestr   r   r   fixturera   mark	fail_slowslowrv   r   r   r
   <module>r~      s    
			       



   	  	  	  	  	  	  	  	 ,8 ,8 ,8 ,8 ,8 ,8 ,8 ,8^ i   ( ( ! (( r$- $-  $- $- $-r   