[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] tools/misc/xencov_split: Add python 3 compatibility
Closes #154 Signed-off-by: Javi Merino <javi.merino@xxxxxxxxx> --- Generating coverage data is a bit broken at the moment. Depending on the compiler you are using, you would need "coverage: update gcov info for newer versions of gcc" (Message-Id: 20230902151351.10325-1-javi.merino@xxxxxxxxx) which I just sent to the list. On top of that, you would have to comment out the freeing of the init sections due to #168 . I have tested it with these two fixes and the python2 and python3 create the same outputs. tools/misc/xencov_split | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tools/misc/xencov_split b/tools/misc/xencov_split index e4f68ebb6e..8f1271bfe7 100755 --- a/tools/misc/xencov_split +++ b/tools/misc/xencov_split @@ -1,5 +1,7 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 +from __future__ import print_function +from builtins import str import sys, os, os.path as path, struct, errno from optparse import OptionParser @@ -16,7 +18,7 @@ def xencov_split(opts): input_file = opts.args[0] - f = open(input_file) + f = open(input_file, "rb") # Magic number s = f.read(4) @@ -31,9 +33,10 @@ def xencov_split(opts): f.close() while content: - off = content.find('\x00') + off = content.find(b'\x00') fmt = bo_prefix + str(off) + 's' fn, = struct.unpack_from(fmt, content) + fn = fn.decode('utf-8') content = content[off+1:] fmt = bo_prefix + 'I' @@ -51,14 +54,14 @@ def xencov_split(opts): dir = opts.output_dir + path.dirname(fn) try: os.makedirs(dir) - except OSError, e: + except OSError as e: if e.errno == errno.EEXIST and os.path.isdir(dir): pass else: raise full_path = dir + '/' + path.basename(fn) - f = open(full_path, "w") + f = open(full_path, "wb") f.write(payload) f.close() @@ -89,8 +92,8 @@ def main(): if __name__ == "__main__": try: sys.exit(main()) - except Exception, e: - print >>sys.stderr, "Error:", e + except Exception as e: + print("Error:", e, file=sys.stderr) sys.exit(1) except KeyboardInterrupt: sys.exit(1) -- 2.41.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |