mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #7766: Change sys.getwindowsversion() return value to a named tuple and add the additional members returned in an OSVERSIONINFOEX structure. The new members are service_pack_major, service_pack_minor, suite_mask, and product_type.
This commit is contained in:
parent
92e68af56a
commit
ee931b7253
4 changed files with 114 additions and 19 deletions
|
@ -2,6 +2,7 @@
|
|||
import unittest, test.test_support
|
||||
import sys, cStringIO, os
|
||||
import struct
|
||||
import operator
|
||||
|
||||
class SysModuleTest(unittest.TestCase):
|
||||
|
||||
|
@ -205,13 +206,28 @@ class SysModuleTest(unittest.TestCase):
|
|||
def test_getwindowsversion(self):
|
||||
if hasattr(sys, "getwindowsversion"):
|
||||
v = sys.getwindowsversion()
|
||||
self.assertIsInstance(v, tuple)
|
||||
self.assertTrue(isinstance(v[:], tuple))
|
||||
self.assertEqual(len(v), 5)
|
||||
self.assertIsInstance(v[0], int)
|
||||
self.assertIsInstance(v[1], int)
|
||||
self.assertIsInstance(v[2], int)
|
||||
self.assertIsInstance(v[3], int)
|
||||
self.assertIsInstance(v[4], str)
|
||||
self.assertRaises(IndexError, operator.getitem, v, 5)
|
||||
self.assertIsInstance(v.major, int)
|
||||
self.assertIsInstance(v.minor, int)
|
||||
self.assertIsInstance(v.build, int)
|
||||
self.assertIsInstance(v.platform, int)
|
||||
self.assertIsInstance(v.service_pack, str)
|
||||
self.assertEqual(v[0], v.major)
|
||||
self.assertEqual(v[1], v.minor)
|
||||
self.assertEqual(v[2], v.build)
|
||||
self.assertEqual(v[3], v.platform)
|
||||
self.assertEqual(v[4], v.service_pack)
|
||||
|
||||
# This is how platform.py calls it. Make sure tuple
|
||||
# still has 5 elements
|
||||
maj, min, buildno, plat, csd = sys.getwindowsversion()
|
||||
|
||||
def test_dlopenflags(self):
|
||||
if hasattr(sys, "setdlopenflags"):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue