[Python-checkins] cpython: Issue #27594: Prevent assertion error when running test_ast with coverage

ned.deily python-checkins at python.org
Wed Aug 17 17:19:02 EDT 2016


https://hg.python.org/cpython/rev/1bf307f42a6b
changeset:   102737:1bf307f42a6b
user:        Ned Deily <nad at python.org>
date:        Wed Aug 17 17:18:33 2016 -0400
summary:
  Issue #27594: Prevent assertion error when running test_ast with coverage
enabled: ensure code object has a valid first line number.
Patch suggested by Ivan Levkivskyi.

files:
  Misc/NEWS        |  4 ++++
  Python/compile.c |  2 +-
  2 files changed, 5 insertions(+), 1 deletions(-)


diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -167,6 +167,10 @@
 - Issue #27369: In test_pyexpat, avoid testing an error message detail that
   changed in Expat 2.2.0.
 
+- Issue #27594: Prevent assertion error when running test_ast with coverage
+  enabled: ensure code object has a valid first line number.
+  Patch suggested by Ivan Levkivskyi.
+
 Windows
 -------
 
diff --git a/Python/compile.c b/Python/compile.c
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -4963,7 +4963,7 @@
 
     /* Set firstlineno if it wasn't explicitly set. */
     if (!c->u->u_firstlineno) {
-        if (entryblock && entryblock->b_instr)
+        if (entryblock && entryblock->b_instr && entryblock->b_instr->i_lineno)
             c->u->u_firstlineno = entryblock->b_instr->i_lineno;
         else
             c->u->u_firstlineno = 1;

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list