[Python-checkins] bpo-40436: Fix code parsing gdb version (GH-19792)
Miss Islington (bot)
webhook-mailer at python.org
Wed Apr 29 11:30:58 EDT 2020
https://github.com/python/cpython/commit/beba1a808000d5fc445cb28eab96bdb4cdb7c959
commit: beba1a808000d5fc445cb28eab96bdb4cdb7c959
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-04-29T08:30:46-07:00
summary:
bpo-40436: Fix code parsing gdb version (GH-19792)
test_gdb and test.pythoninfo now check gdb command exit code.
(cherry picked from commit ec9bea4a3766bd815148a27f61eb24e7dd459ac7)
Co-authored-by: Victor Stinner <vstinner at python.org>
files:
A Misc/NEWS.d/next/Tests/2020-04-29-16-08-24.bpo-40436.gDMnYl.rst
M Lib/test/pythoninfo.py
M Lib/test/test_gdb.py
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index 9a9d26dca490c..d16ad67cdc154 100644
--- a/Lib/test/pythoninfo.py
+++ b/Lib/test/pythoninfo.py
@@ -340,6 +340,9 @@ def collect_gdb(info_add):
stderr=subprocess.PIPE,
universal_newlines=True)
version = proc.communicate()[0]
+ if proc.returncode:
+ # ignore gdb failure: test_gdb will log the error
+ return
except OSError:
return
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py
index 0131e4d0b0f72..fe603be2bbcd9 100644
--- a/Lib/test/test_gdb.py
+++ b/Lib/test/test_gdb.py
@@ -18,12 +18,18 @@
def get_gdb_version():
try:
- proc = subprocess.Popen(["gdb", "-nx", "--version"],
+ cmd = ["gdb", "-nx", "--version"]
+ proc = subprocess.Popen(cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
universal_newlines=True)
with proc:
- version = proc.communicate()[0]
+ version, stderr = proc.communicate()
+
+ if proc.returncode:
+ raise Exception(f"Command {' '.join(cmd)!r} failed "
+ f"with exit code {proc.returncode}: "
+ f"stdout={version!r} stderr={stderr!r}")
except OSError:
# This is what "no gdb" looks like. There may, however, be other
# errors that manifest this way too.
diff --git a/Misc/NEWS.d/next/Tests/2020-04-29-16-08-24.bpo-40436.gDMnYl.rst b/Misc/NEWS.d/next/Tests/2020-04-29-16-08-24.bpo-40436.gDMnYl.rst
new file mode 100644
index 0000000000000..0aee2c3aa2b4d
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2020-04-29-16-08-24.bpo-40436.gDMnYl.rst
@@ -0,0 +1 @@
+test_gdb and test.pythoninfo now check gdb command exit code.
More information about the Python-checkins
mailing list