
    `i                         d dl Z d dlZ	 d dlZd dlZdZn# e$ rZdZdZeZY dZ[ndZ[ww xY wd Zd Z	 e            r G d d          Z
dddZdS )	    Nc                  >    t           d u ot          t          d          S )Nfixture)_errorhasattrpytest     m/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/cupy/testing/_pytest_impl.pyis_availabler      s    T>8gfi888r	   c                     t                      s@t          d                    | t          t                    j        t                              d S )Nz2cupy.testing: {} is not available.

Reason: {}: {})r   RuntimeErrorformattyper   __name__)features    r
   check_availabler      sQ    >> B  &$v,,"7@@B B 	BB Br	   c                   R     e Zd Z fdZ ej        d          d             Z xZS )_TestingParameterizeMixinc                 v    d                     t                                                      | j                  S )Nz<{}  parameter: {}>)r   super__repr____dict__)self	__class__s    r
   r   z"_TestingParameterizeMixin.__repr__   s3    (//  ""  r	   T)autousec                 \    | j         r
J d            | j                             |           d S )Nz9There should not be another hack with instance attribute.)r   update)r   _cupy_testing_params     r
   _cupy_testing_parameterizez4_TestingParameterizeMixin._cupy_testing_parameterize%   sB    } L LKL L$M  !455555r	   )r   
__module____qualname__r   r   r   r   __classcell__)r   s   @r
   r   r      sc        	 	 	 	 	 
	%	%	%	6 	6 
&	%	6 	6 	6 	6 	6r	   r   T)_idsc                     t          d           | rt          j        j        j        nd fdt                    D             fd}|S )Nparameterizec                      t          |          S )N)str)_iparams      r
   
param_namez parameterize.<locals>.param_name1   s    q66Mr	   c           
      X    g | ]&\  }}t          j        | d ||                    'S ) )id)r   r*   ).0r)   r*   r+   s      r
   
<listcomp>z parameterize.<locals>.<listcomp>8   sJ       Au 	Uzz"a77888  r	   c                 .   t          | t          j                  rJ t          | t                    rt	          d          | j        }t          | j        t          | fi           } || _        t          j	        
                    d          |           } | S )Nz$do not `@testing.parameterize` twicer   )
issubclassunittestTestCaser   r   r    r   r   r   markparametrize)clsmodule_nameparamss     r
   fzparameterize.<locals>.f=   s    c8#455555c455 	GEFFFn3<";S!A2FF$k%%&;VDDSII
r	   )r   cupytesting_parameterized_make_class_name	enumerate)r#   r9   r:   r+   s    ` @r
   r%   r%   ,   s    N### \0A

	 	 	   !&))  F
     Hr	   )r3   cupy.testing._parameterizedr;   r   _pytestr   ImportErrorer   r   r   r%   r   r	   r
   <module>rD      s     " " " "MMMNNNFF   FGFFFFFF9 9 9B B B <>> 66 6 6 6 6 6 6 6  $       s   
 *%*