From e3761571cfe9c21baa138d58c1f304bdbca572ae Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Wed, 10 Jan 2018 21:47:09 -0500 Subject: Python 3.7 tweaked the layout of .pyc files --- coverage/execfile.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'coverage') diff --git a/coverage/execfile.py b/coverage/execfile.py index 693f54fb..ffe3ca18 100644 --- a/coverage/execfile.py +++ b/coverage/execfile.py @@ -5,6 +5,7 @@ import marshal import os +import struct import sys import types @@ -253,11 +254,19 @@ def make_code_from_pyc(filename): if magic != PYC_MAGIC_NUMBER: raise NoCode("Bad magic number in .pyc file") - # Skip the junk in the header that we don't need. - fpyc.read(4) # Skip the moddate. - if sys.version_info >= (3, 3): - # 3.3 added another long to the header (size), skip it. - fpyc.read(4) + date_based = True + if sys.version_info >= (3, 7): + flags = struct.unpack('= (3, 3): + # 3.3 added another long to the header (size), skip it. + fpyc.read(4) # The rest of the file is the code object we want. code = marshal.load(fpyc) -- cgit v1.2.1