o
    ’ÇhÚ  ã                   @   s<   d Z ddlZddlZddlmZ dd„ Zdd„ Zdd	„ ZdS )
aY  
Check the numpy version is valid.

Note that a development version is marked by the presence of 'dev0' or '+'
in the version string, all else is treated as a release. The version string
itself is set from the output of ``git describe`` which relies on tags.

Examples
--------

Valid Development: 1.22.0.dev0 1.22.0.dev0+5-g7999db4df2 1.22.0+5-g7999db4df2
Valid Release: 1.21.0.rc1, 1.21.0.b1, 1.21.0
Invalid: 1.22.0.dev, 1.22.0.dev0-5-g7999db4dfB, 1.21.0.d1, 1.21.a

Note that a release is determined by the version string, which in turn
is controlled by the result of the ``git describe`` command.
é    N)Úassert_c                  C   s2   d} d}t  | | d tj¡}t|d utjƒ d S )Nz/^[0-9]+\.[0-9]+\.[0-9]+(a[0-9]|b[0-9]|rc[0-9])?z'(\.dev[0-9]+(\+git[0-9]+\.[0-9a-f]+)?)?ú$)ÚreÚmatchÚnpÚ__version__r   )Úversion_patternÚ
dev_suffixÚres© r   úr/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/numpy/tests/test_numpy_version.pyÚtest_valid_numpy_version   s   r   c                   C   sB   t jjrtt jt jjkdƒ d S tt j d¡d t jjkdƒ d S )Nz)short_version mismatch in release versionú+r   z-short_version mismatch in development version)r   ÚversionÚreleaser   r   Úshort_versionÚsplitr   r   r   r   Útest_short_version"   s   ÿÿr   c                  C   s4   t dd„ ttjƒD ƒƒ} t g d¢ƒ}| |ksJ ‚d S )Nc                 S   s   g | ]	}|  d ¡s|‘qS )Ú_)Ú
startswith)Ú.0Úsr   r   r   Ú
<listcomp>-   s    z'test_version_module.<locals>.<listcomp>)Úfull_versionÚgit_revisionr   r   r   )ÚsetÚdirr   r   )ÚcontentsÚexpectedr   r   r   Útest_version_module,   s   r   )	Ú__doc__r   Únumpyr   Únumpy.testingr   r   r   r   r   r   r   r   Ú<module>   s    

