
    bMh                     @    d Z ddlZddlZdgZd Z G d d          ZdS )a  
Pytest test running.

This module implements the ``test()`` function for NumPy modules. The usual
boiler plate for doing that is to put the following in the module
``__init__.py`` file::

    from pywt._pytesttester import PytestTester
    test = PytestTester(__name__).test
    del PytestTester


Warnings filtering and other runtime settings should be dealt with in the
``pytest.ini`` file in the pywt repo root. The behavior of the test depends on
whether or not that file is found as follows:

* ``pytest.ini`` is present (develop mode)
    All warnings except those explicily filtered out are raised as error.
* ``pytest.ini`` is absent (release mode)
    DeprecationWarnings and PendingDeprecationWarnings are ignored, other
    warnings are passed through.

In practice, tests run from the PyWavelets repo are run in develop mode. That
includes the standard ``python runtests.py`` invocation.

    NPytestTesterc                      dd l } ddlm} t          d| j                    |rt          d           d S t          d           d S )Nr   )_have_c99_complexzPyWavelets version z"Compiled with C99 complex support.z%Compiled without C99 complex support.)pywtpywt._c99_configr   print__version__)r   r   s     R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pywt/_pytesttester.py_show_pywt_infor   "   si    KKK222222	
2 0
2
2333 7233333566666    c                   $    e Zd ZdZd Z	 	 d	dZdS )
r   aG  
    Pytest test runner.

    This class is made available in ``pywt.testing``, and a test function
    is typically added to a package's __init__.py like so::

      from pywt.testing import PytestTester
      test = PytestTester(__name__).test
      del PytestTester

    Calling this test function finds and runs all tests associated with the
    module and all its sub-modules.

    Attributes
    ----------
    module_name : str
        Full path to the package to test.

    Parameters
    ----------
    module_name : module name
        The name of the module to test.

    c                     || _         d S )N)module_name)selfr   s     r
   __init__zPytestTester.__init__E   s    &r   fast   NFc                 \   ddl }t          j        | j                 }	t          j                            |	j        d                   }
dg}|dgz  }|g dz  }|rt          d          |r|t          |          z  }|dk    r|dd	|dz
  z  z   gz  }|r	|d
|
z   gz  }|dk    r|ddgz  }n|dk    r|d|gz  }|dk    r	|d| gz  }|| j        g}|dgt          |          z   z  }t                       	 |                    |          }n# t          $ r}|j        }Y d}~nd}~ww xY w|dk    S )a7  
        Run tests for module using pytest.

        Parameters
        ----------
        label : {'fast', 'full'}, optional
            Identifies the tests to run. When set to 'fast', tests decorated
            with `pytest.mark.slow` are skipped, when 'full', the slow marker
            is ignored.
        verbose : int, optional
            Verbosity value for test outputs, in the range 1-3. Default is 1.
        extra_argv : list, optional
            List with any extra arguments to pass to pytests.
        doctests : bool, optional
            .. note:: Not supported
        coverage : bool, optional
            If True, report coverage of NumPy code. Default is False.
            Requires installation of (pip) pytest-cov.
        durations : int, optional
            If < 0, do nothing, If 0, report time of all tests, if > 0,
            report the time of the slowest `timer` tests. Default is -1.
        tests : test or list of tests
            Tests to be executed with pytest '--pyargs'

        Returns
        -------
        result : bool
            Return True on success, false otherwise.

        Examples
        --------
        >>> result = np.lib.test() #doctest: +SKIP
        ...
        1023 passed, 2 skipped, 6 deselected, 1 xfailed in 10.39 seconds
        >>> result
        True

        r   Nz-lz-q)z!-W ignore:Not importing directoryz"-W ignore:numpy.dtype size changedz"-W ignore:numpy.ufunc size changedzDoctests not supportedr   -vz--cov=r   z-mznot slowfullz--durations=z--pyargs)pytestsysmodulesr   ospathabspath__path__
ValueErrorlistr   main
SystemExitcode)r   labelverbose
extra_argvdoctestscoverage	durationstestsr   modulemodule_pathpytest_argsr$   excs                 r
   __call__zPytestTester.__call__H   s   P 	T-.goofoa&899 f 	v 	 4 4 4 	4
  	75666 	,4
+++KQ;;C#w{"3344K 	4H{233KF??D*--KKf__D%=(K>>696677K=%&E
|d5kk11 		;;{++DD 	 	 	8DDDDDD	 qys   4D
 

D%D  D%)r   r   NFFr   N)__name__
__module____qualname____doc__r   r0    r   r
   r   r   ,   sP         0' ' ' <@EI[ [ [ [ [ [r   )r4   r   r   __all__r   r   r5   r   r
   <module>r7      sv    6 
			 




7 7 7w w w w w w w w w wr   