diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-04-15 18:32:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 18:32:01 (GMT) |
commit | 4b4e90a51848578dc06341777a929a0be4f4757f (patch) | |
tree | c126c0fb99d511937ffb8624bd8d2e13fa53591c | |
parent | 9a4b38f66b3e674db94e07980e1cacb39e388c73 (diff) | |
download | cpython-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.py | 14 |
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 |