summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2020-04-15 18:32:01 (GMT)
committerGitHub <noreply@github.com>2020-04-15 18:32:01 (GMT)
commit4b4e90a51848578dc06341777a929a0be4f4757f (patch)
treec126c0fb99d511937ffb8624bd8d2e13fa53591c
parent9a4b38f66b3e674db94e07980e1cacb39e388c73 (diff)
downloadcpython-4b4e90a51848578dc06341777a929a0be4f4757f.zip
cpython-4b4e90a51848578dc06341777a929a0be4f4757f.tar.gz
cpython-4b4e90a51848578dc06341777a929a0be4f4757f.tar.bz2
bpo-35967: Baseline values for uname -p (GH-12824)
* Add a test intended to capture the expected values from 'uname -p' * Instead of trying to keep track of all of the possible outputs on different systems (probably a fool's errand), simply assert that except for the known platform variance, uname().processor matches the output of 'uname -p' * Use a skipIf directive * Use contextlib.suppress to suppress the error. Inline strip call.
-rw-r--r--Lib/test/test_platform.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py
index f167fb1..0e6cb6d 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -3,6 +3,8 @@ import platform
import subprocess
import sys
import unittest
+import collections
+import contextlib
from unittest import mock
from test import support
@@ -160,6 +162,18 @@ class PlatformTest(unittest.TestCase):
self.assertEqual(res[4], res.machine)
self.assertEqual(res[5], res.processor)
+ @unittest.skipIf(sys.platform in ['win32', 'OpenVMS'], "uname -p not used")
+ def test_uname_processor(self):
+ """
+ On some systems, the processor must match the output
+ of 'uname -p'. See Issue 35967 for rationale.
+ """
+ with contextlib.suppress(subprocess.CalledProcessError):
+ self.assertEqual(
+ platform.uname().processor,
+ subprocess.check_output(['uname', '-p'], text=True).strip(),
+ )
+
@unittest.skipUnless(sys.platform.startswith('win'), "windows only test")
def test_uname_win32_ARCHITEW6432(self):
# Issue 7860: make sure we get architecture from the correct variable