]> git.proxmox.com Git - mirror_edk2.git/blame - AppPkg/Applications/Python/Python-2.7.2/Lib/distutils/tests/test_version.py
EmbeddedPkg: Extend NvVarStoreFormattedLib LIBRARY_CLASS
[mirror_edk2.git] / AppPkg / Applications / Python / Python-2.7.2 / Lib / distutils / tests / test_version.py
CommitLineData
4710c53d 1"""Tests for distutils.version."""\r
2import unittest\r
3from distutils.version import LooseVersion\r
4from distutils.version import StrictVersion\r
5from test.test_support import run_unittest\r
6\r
7class VersionTestCase(unittest.TestCase):\r
8\r
9 def test_prerelease(self):\r
10 version = StrictVersion('1.2.3a1')\r
11 self.assertEqual(version.version, (1, 2, 3))\r
12 self.assertEqual(version.prerelease, ('a', 1))\r
13 self.assertEqual(str(version), '1.2.3a1')\r
14\r
15 version = StrictVersion('1.2.0')\r
16 self.assertEqual(str(version), '1.2')\r
17\r
18 def test_cmp_strict(self):\r
19 versions = (('1.5.1', '1.5.2b2', -1),\r
20 ('161', '3.10a', ValueError),\r
21 ('8.02', '8.02', 0),\r
22 ('3.4j', '1996.07.12', ValueError),\r
23 ('3.2.pl0', '3.1.1.6', ValueError),\r
24 ('2g6', '11g', ValueError),\r
25 ('0.9', '2.2', -1),\r
26 ('1.2.1', '1.2', 1),\r
27 ('1.1', '1.2.2', -1),\r
28 ('1.2', '1.1', 1),\r
29 ('1.2.1', '1.2.2', -1),\r
30 ('1.2.2', '1.2', 1),\r
31 ('1.2', '1.2.2', -1),\r
32 ('0.4.0', '0.4', 0),\r
33 ('1.13++', '5.5.kw', ValueError))\r
34\r
35 for v1, v2, wanted in versions:\r
36 try:\r
37 res = StrictVersion(v1).__cmp__(StrictVersion(v2))\r
38 except ValueError:\r
39 if wanted is ValueError:\r
40 continue\r
41 else:\r
42 raise AssertionError(("cmp(%s, %s) "\r
43 "shouldn't raise ValueError")\r
44 % (v1, v2))\r
45 self.assertEqual(res, wanted,\r
46 'cmp(%s, %s) should be %s, got %s' %\r
47 (v1, v2, wanted, res))\r
48\r
49\r
50 def test_cmp(self):\r
51 versions = (('1.5.1', '1.5.2b2', -1),\r
52 ('161', '3.10a', 1),\r
53 ('8.02', '8.02', 0),\r
54 ('3.4j', '1996.07.12', -1),\r
55 ('3.2.pl0', '3.1.1.6', 1),\r
56 ('2g6', '11g', -1),\r
57 ('0.960923', '2.2beta29', -1),\r
58 ('1.13++', '5.5.kw', -1))\r
59\r
60\r
61 for v1, v2, wanted in versions:\r
62 res = LooseVersion(v1).__cmp__(LooseVersion(v2))\r
63 self.assertEqual(res, wanted,\r
64 'cmp(%s, %s) should be %s, got %s' %\r
65 (v1, v2, wanted, res))\r
66\r
67def test_suite():\r
68 return unittest.makeSuite(VersionTestCase)\r
69\r
70if __name__ == "__main__":\r
71 run_unittest(test_suite())\r