mirror of https://github.com/python/cpython.git
gh-97966: Restore prior expectation that uname_result._fields and ._asdict would include the processor. (gh-98343)
(cherry picked from commit dc063a25d2
)
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
This commit is contained in:
parent
610b7798af
commit
289411d8ef
|
@ -776,6 +776,8 @@ class uname_result(
|
|||
except when needed.
|
||||
"""
|
||||
|
||||
_fields = ('system', 'node', 'release', 'version', 'machine', 'processor')
|
||||
|
||||
@functools.cached_property
|
||||
def processor(self):
|
||||
return _unknown_as_blank(_Processor.get())
|
||||
|
@ -789,7 +791,7 @@ def __iter__(self):
|
|||
@classmethod
|
||||
def _make(cls, iterable):
|
||||
# override factory to affect length check
|
||||
num_fields = len(cls._fields)
|
||||
num_fields = len(cls._fields) - 1
|
||||
result = cls.__new__(cls, *iterable)
|
||||
if len(result) != num_fields + 1:
|
||||
msg = f'Expected {num_fields} arguments, got {len(result)}'
|
||||
|
@ -803,7 +805,7 @@ def __len__(self):
|
|||
return len(tuple(iter(self)))
|
||||
|
||||
def __reduce__(self):
|
||||
return uname_result, tuple(self)[:len(self._fields)]
|
||||
return uname_result, tuple(self)[:len(self._fields) - 1]
|
||||
|
||||
|
||||
_uname_cache = None
|
||||
|
|
|
@ -268,6 +268,14 @@ def test_uname_slices(self):
|
|||
self.assertEqual(res[:], expected)
|
||||
self.assertEqual(res[:5], expected[:5])
|
||||
|
||||
def test_uname_fields(self):
|
||||
self.assertIn('processor', platform.uname()._fields)
|
||||
|
||||
def test_uname_asdict(self):
|
||||
res = platform.uname()._asdict()
|
||||
self.assertEqual(len(res), 6)
|
||||
self.assertIn('processor', res)
|
||||
|
||||
@unittest.skipIf(sys.platform in ['win32', 'OpenVMS'], "uname -p not used")
|
||||
def test_uname_processor(self):
|
||||
"""
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
On ``uname_result``, restored expectation that ``_fields`` and ``_asdict``
|
||||
would include all six properties including ``processor``.
|
Loading…
Reference in New Issue