summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Sobolev <mail@sobolevn.me>2024-03-13 06:46:48 (GMT)
committerGitHub <noreply@github.com>2024-03-13 06:46:48 (GMT)
commitee0dbbc04504e0e0f1455e2bab8801ce0a682afd (patch)
tree701c85c2f684860d426ebc385093d4d35294c260
parent27df81d5643f32be6ae84a00c5cf84b58e849b21 (diff)
downloadcpython-ee0dbbc04504e0e0f1455e2bab8801ce0a682afd.zip
cpython-ee0dbbc04504e0e0f1455e2bab8801ce0a682afd.tar.gz
cpython-ee0dbbc04504e0e0f1455e2bab8801ce0a682afd.tar.bz2
gh-116491: Improve `test_win32_ver` (#116506)
-rw-r--r--Lib/test/test_platform.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py
index bbd0c06..9f8aeee 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -326,8 +326,36 @@ class PlatformTest(unittest.TestCase):
res = platform.java_ver()
self.assertEqual(len(res), 4)
+ @unittest.skipUnless(support.MS_WINDOWS, 'This test only makes sense on Windows')
def test_win32_ver(self):
- res = platform.win32_ver()
+ release1, version1, csd1, ptype1 = 'a', 'b', 'c', 'd'
+ res = platform.win32_ver(release1, version1, csd1, ptype1)
+ self.assertEqual(len(res), 4)
+ release, version, csd, ptype = res
+ if release:
+ # Currently, release names always come from internal dicts,
+ # but this could change over time. For now, we just check that
+ # release is something different from what we have passed.
+ self.assertNotEqual(release, release1)
+ if version:
+ # It is rather hard to test explicit version without
+ # going deep into the details.
+ self.assertIn('.', version)
+ for v in version.split('.'):
+ int(v) # should not fail
+ if csd:
+ self.assertTrue(csd.startswith('SP'), msg=csd)
+ if ptype:
+ if os.cpu_count() > 1:
+ self.assertIn('Multiprocessor', ptype)
+ else:
+ self.assertIn('Uniprocessor', ptype)
+
+ @unittest.skipIf(support.MS_WINDOWS, 'This test only makes sense on non Windows')
+ def test_win32_ver_on_non_windows(self):
+ release, version, csd, ptype = 'a', '1.0', 'c', 'd'
+ res = platform.win32_ver(release, version, csd, ptype)
+ self.assertSequenceEqual(res, (release, version, csd, ptype), seq_type=tuple)
def test_mac_ver(self):
res = platform.mac_ver()