forked from mirrors/gecko-dev
		
	 335012b188
			
		
	
	
		335012b188
		
	
	
	
	
		
			
			MozReview-Commit-ID: K7khNCzOwQK --HG-- extra : rebase_source : 33225a5ecb879705327af505920d4db040a91d7b
		
			
				
	
	
		
			102 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import absolute_import
 | |
| 
 | |
| import mozunit
 | |
| import pytest
 | |
| 
 | |
| from mozrelease.versions import MozillaVersion
 | |
| 
 | |
| 
 | |
| ALL_VERSIONS = [  # Keep this sorted
 | |
|     '3.0',
 | |
|     '3.0.1',
 | |
|     '3.0.2',
 | |
|     '3.0.3',
 | |
|     '3.0.4',
 | |
|     '3.0.5',
 | |
|     '3.0.6',
 | |
|     '3.0.7',
 | |
|     '3.0.8',
 | |
|     '3.0.9',
 | |
|     '3.0.10',
 | |
|     '3.0.11',
 | |
|     '3.0.12',
 | |
|     '3.0.13',
 | |
|     '3.0.14',
 | |
|     '3.0.15',
 | |
|     '3.0.16',
 | |
|     '3.0.17',
 | |
|     '3.0.18',
 | |
|     '3.0.19',
 | |
|     '3.1b1',
 | |
|     '3.1b2',
 | |
|     '3.1b3',
 | |
|     '3.5b4',
 | |
|     '3.5b99',
 | |
|     '3.5rc1',
 | |
|     '3.5rc2',
 | |
|     '3.5rc3',
 | |
|     '3.5',
 | |
|     '3.5.1',
 | |
|     '3.5.2',
 | |
|     '3.5.3',
 | |
|     '3.5.4',
 | |
|     '3.5.5',
 | |
|     '3.5.6',
 | |
|     '3.5.7',
 | |
|     '3.5.8',
 | |
|     '3.5.9',
 | |
|     '3.5.10',
 | |
|     # ... Start skipping around...
 | |
|     '4.0b9',
 | |
|     '10.0.2esr',
 | |
|     '10.0.3esr',
 | |
|     '32.0',
 | |
|     '49.0a1',
 | |
|     '49.0a2',
 | |
|     '59.0',
 | |
|     '60.0',
 | |
|     '60.0esr',
 | |
|     '60.0.1esr',
 | |
|     '60.1',
 | |
|     '60.1esr',
 | |
|     '61.0',
 | |
| ]
 | |
| 
 | |
| 
 | |
| @pytest.fixture(scope='function',
 | |
|                 params=range(len(ALL_VERSIONS) - 1),
 | |
|                 ids=lambda x: "{}, {}".format(ALL_VERSIONS[x], ALL_VERSIONS[x+1]))
 | |
| def comparable_versions(request):
 | |
|     index = request.param
 | |
|     return ALL_VERSIONS[index], ALL_VERSIONS[index + 1]
 | |
| 
 | |
| 
 | |
| @pytest.mark.parametrize('version', ALL_VERSIONS)
 | |
| def test_versions_parseable(version):
 | |
|     """Test that we can parse previously shipped versions.
 | |
| 
 | |
|     We only test 3.0 and up, since we never generate updates against
 | |
|     versions that old."""
 | |
|     assert MozillaVersion(version) is not None
 | |
| 
 | |
| 
 | |
| def test_versions_compare_less(comparable_versions):
 | |
|     """Test that versions properly compare in order."""
 | |
|     smaller_version, larger_version = comparable_versions
 | |
|     assert MozillaVersion(smaller_version) < MozillaVersion(larger_version)
 | |
| 
 | |
| 
 | |
| def test_versions_compare_greater(comparable_versions):
 | |
|     """Test that versions properly compare in order."""
 | |
|     smaller_version, larger_version = comparable_versions
 | |
|     assert MozillaVersion(larger_version) > MozillaVersion(smaller_version)
 | |
| 
 | |
| 
 | |
| @pytest.mark.parametrize('version', ALL_VERSIONS)
 | |
| def test_versions_compare_equal(version):
 | |
|     """Test that versions properly compare as equal through multiple passes."""
 | |
|     assert MozillaVersion(version) == MozillaVersion(version)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     mozunit.main()
 |