fix the length of platform.uname_result (#13068)

It should be a 6-tuple, once processor is added. This makes sure mypy understands that.

Fixes https://github.com/python/typeshed/issues/13064
This commit is contained in:
Stephen Morton
2024-11-25 11:53:25 -08:00
committed by GitHub
parent b815bfaf3c
commit 410081e820
2 changed files with 33 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
from __future__ import annotations
import platform
import sys
from typing_extensions import assert_type
# platform.uname_result emulates a 6 field named tuple, but on 3.9+ the processor
# field is lazily evaluated, which results in it being a little funky.
uname = platform.uname()
if sys.version_info >= (3, 9):
myuname = platform.uname_result("Darwin", "local", "22.5.0", "Darwin Kernel Version 22.5.0", "arm64")
else:
myuname = platform.uname_result("Darwin", "local", "22.5.0", "Darwin Kernel Version 22.5.0", "arm64", "arm")
assert_type(uname, platform.uname_result)
assert_type(myuname, platform.uname_result)
assert_type(uname[5], str)
assert_type(myuname[5], str)