You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					45 lines
				
				1.5 KiB
			
		
		
			
		
	
	
					45 lines
				
				1.5 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"""
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								import re
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import numpy as np
							 | 
						||
| 
								 | 
							
								from numpy.testing import assert_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def test_valid_numpy_version():
							 | 
						||
| 
								 | 
							
								    # Verify that the numpy version is a valid one (no .post suffix or other
							 | 
						||
| 
								 | 
							
								    # nonsense).  See gh-6431 for an issue caused by an invalid version.
							 | 
						||
| 
								 | 
							
								    version_pattern = r"^[0-9]+\.[0-9]+\.[0-9]+(a[0-9]|b[0-9]|rc[0-9]|)"
							 | 
						||
| 
								 | 
							
								    dev_suffix = r"(\.dev0|)(\+[0-9]*\.g[0-9a-f]+|)"
							 | 
						||
| 
								 | 
							
								    if np.version.release:
							 | 
						||
| 
								 | 
							
								        res = re.match(version_pattern + '$', np.__version__)
							 | 
						||
| 
								 | 
							
								    else:
							 | 
						||
| 
								 | 
							
								        res = re.match(version_pattern + dev_suffix + '$', np.__version__)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    assert_(res is not None, np.__version__)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def test_short_version():
							 | 
						||
| 
								 | 
							
								    # Check numpy.short_version actually exists
							 | 
						||
| 
								 | 
							
								    if np.version.release:
							 | 
						||
| 
								 | 
							
								        assert_(np.__version__ == np.version.short_version,
							 | 
						||
| 
								 | 
							
								                "short_version mismatch in release version")
							 | 
						||
| 
								 | 
							
								    else:
							 | 
						||
| 
								 | 
							
								        assert_(np.__version__.split("+")[0] == np.version.short_version,
							 | 
						||
| 
								 | 
							
								                "short_version mismatch in development version")
							 |