NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

test_version.py (2327B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_version.py
      2 import unittest
      3 from distutils.version import LooseVersion
      4 from distutils.version import StrictVersion
      5 
      6 class VersionTestCase(unittest.TestCase):
      7 
      8     def test_prerelease(self):
      9         version = StrictVersion('1.2.3a1')
     10         self.assertEqual(version.version, (1, 2, 3))
     11         self.assertEqual(version.prerelease, ('a', 1))
     12         self.assertEqual(str(version), '1.2.3a1')
     13         version = StrictVersion('1.2.0')
     14         self.assertEqual(str(version), '1.2')
     15 
     16     def test_cmp_strict(self):
     17         versions = (('1.5.1', '1.5.2b2', -1),
     18          ('161', '3.10a', ValueError),
     19          ('8.02', '8.02', 0),
     20          ('3.4j', '1996.07.12', ValueError),
     21          ('3.2.pl0', '3.1.1.6', ValueError),
     22          ('2g6', '11g', ValueError),
     23          ('0.9', '2.2', -1),
     24          ('1.2.1', '1.2', 1),
     25          ('1.1', '1.2.2', -1),
     26          ('1.2', '1.1', 1),
     27          ('1.2.1', '1.2.2', -1),
     28          ('1.2.2', '1.2', 1),
     29          ('1.2', '1.2.2', -1),
     30          ('0.4.0', '0.4', 0),
     31          ('1.13++', '5.5.kw', ValueError))
     32         for v1, v2, wanted in versions:
     33             try:
     34                 res = StrictVersion(v1).__cmp__(StrictVersion(v2))
     35             except ValueError:
     36                 if wanted is ValueError:
     37                     continue
     38                 else:
     39                     raise AssertionError("cmp(%s, %s) shouldn't raise ValueError" % (v1, v2))
     40 
     41             self.assertEqual(res, wanted, 'cmp(%s, %s) should be %s, got %s' % (v1,
     42              v2,
     43              wanted,
     44              res))
     45 
     46     def test_cmp(self):
     47         versions = (('1.5.1', '1.5.2b2', -1),
     48          ('161', '3.10a', 1),
     49          ('8.02', '8.02', 0),
     50          ('3.4j', '1996.07.12', -1),
     51          ('3.2.pl0', '3.1.1.6', 1),
     52          ('2g6', '11g', -1),
     53          ('0.960923', '2.2beta29', -1),
     54          ('1.13++', '5.5.kw', -1))
     55         for v1, v2, wanted in versions:
     56             res = LooseVersion(v1).__cmp__(LooseVersion(v2))
     57             self.assertEqual(res, wanted, 'cmp(%s, %s) should be %s, got %s' % (v1,
     58              v2,
     59              wanted,
     60              res))
     61 
     62 
     63 def test_suite():
     64     return unittest.makeSuite(VersionTestCase)
     65 
     66 
     67 if __name__ == '__main__':
     68     unittest.main(defaultTest='test_suite')