From 902124bdff87d879fd88e70355b1c4b6a337c4f0 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Tue, 28 Aug 2018 13:17:37 +0300 Subject: [PATCH 1/2] bpo-26544: Add test for platform._comparable_version(). --- Lib/test/test_platform.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py index 9ecd5d904e30b05..87554d52a05cbd6 100644 --- a/Lib/test/test_platform.py +++ b/Lib/test/test_platform.py @@ -275,6 +275,26 @@ def test_libc_ver(self): self.assertEqual(platform.libc_ver(support.TESTFN), ('glibc', '1.23.4')) + @support.cpython_only + def test__comparable_version(self): + from platform import _comparable_version as V + self.assertEqual(V('1.2.3'), V('1.2.3')) + self.assertLess(V('1.2.3'), V('1.2.10')) + self.assertEqual(V('1.2.3.4'), V('1_2-3+4')) + self.assertLess(V('1.2spam'), V('1.2dev')) + self.assertLess(V('1.2dev'), V('1.2alpha')) + self.assertLess(V('1.2dev'), V('1.2a')) + self.assertLess(V('1.2alpha'), V('1.2beta')) + self.assertLess(V('1.2a'), V('1.2b')) + self.assertLess(V('1.2beta'), V('1.2c')) + self.assertLess(V('1.2b'), V('1.2c')) + self.assertLess(V('1.2c'), V('1.2RC')) + self.assertLess(V('1.2c'), V('1.2rc')) + self.assertLess(V('1.2RC'), V('1.2.0')) + self.assertLess(V('1.2rc'), V('1.2.0')) + self.assertLess(V('1.2.0'), V('1.2pl')) + self.assertLess(V('1.2.0'), V('1.2p')) + def test_popen(self): mswindows = (sys.platform == "win32") From 95a77326e0d1ce3d81c7f3de5eb3c06a6ff189ca Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Tue, 28 Aug 2018 14:27:24 +0300 Subject: [PATCH 2/2] Add more test cases from Lib/distutils/tests/test_version.py. --- Lib/test/test_platform.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py index 87554d52a05cbd6..fd6da313206df50 100644 --- a/Lib/test/test_platform.py +++ b/Lib/test/test_platform.py @@ -295,6 +295,22 @@ def test__comparable_version(self): self.assertLess(V('1.2.0'), V('1.2pl')) self.assertLess(V('1.2.0'), V('1.2p')) + self.assertLess(V('1.5.1'), V('1.5.2b2')) + self.assertLess(V('3.10a'), V('161')) + self.assertEqual(V('8.02'), V('8.02')) + self.assertLess(V('3.4j'), V('1996.07.12')) + self.assertLess(V('3.1.1.6'), V('3.2.pl0')) + self.assertLess(V('2g6'), V('11g')) + self.assertLess(V('0.9'), V('2.2')) + self.assertLess(V('1.2'), V('1.2.1')) + self.assertLess(V('1.1'), V('1.2.2')) + self.assertLess(V('1.1'), V('1.2')) + self.assertLess(V('1.2.1'), V('1.2.2')) + self.assertLess(V('1.2'), V('1.2.2')) + self.assertLess(V('0.4'), V('0.4.0')) + self.assertLess(V('1.13++'), V('5.5.kw')) + self.assertLess(V('0.960923'), V('2.2beta29')) + def test_popen(self): mswindows = (sys.platform == "win32")