a :jgÚã@s<dZddlZddlZddlmZdd„Zdd„Zdd „ZdS) 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_cCs2d}d}t ||dtj¡}t|dutjƒdS)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)Zversion_patternZ dev_suffixÚres©r úH/usr/local/lib/python3.9/site-packages/numpy/tests/test_numpy_version.pyÚtest_valid_numpy_versionsr cCs@tjjrttjtjjkdƒnttj d¡dtjjkdƒdS)Nz)short_version mismatch in release versionú+rz-short_version mismatch in development version)rÚversionÚreleaserrÚ short_versionÚsplitr r r r Útest_short_version"sÿÿrcCs4tdd„ttjƒDƒƒ}tgd¢ƒ}||ks0J‚dS)NcSsg|]}| d¡s|‘qS)Ú_)Ú startswith)Ú.0Úsr r r Ú -óz'test_version_module..)Z full_versionZ git_revisionrrr )ÚsetÚdirrr )ÚcontentsÚexpectedr r r Útest_version_module,s r) Ú__doc__rÚnumpyrZ numpy.testingrr rrr r r r Ús