diff --git a/test/crit-recode.py b/test/crit-recode.py index 0d4b31777..0cb3341d3 100755 --- a/test/crit-recode.py +++ b/test/crit-recode.py @@ -1,9 +1,11 @@ -#!/bin/env python2 +#!/usr/bin/env python +# vim: noet ts=8 sw=8 sts=8 import pycriu import sys import os import subprocess +import json find = subprocess.Popen(['find', 'test/dump/', '-size', '+0', '-name', '*.img'], stdout = subprocess.PIPE) @@ -14,20 +16,21 @@ def recode_and_check(imgf, o_img, pretty): try: pb = pycriu.images.loads(o_img, pretty) except pycriu.images.MagicException as me: - print "%s magic %x error" % (imgf, me.magic) + print("%s magic %x error" % (imgf, me.magic)) return False - except: - print "%s %sdecode fails" % (imgf, pretty and 'pretty ' or '') + except Exception as e: + print("%s %sdecode fails: %s" % (imgf, pretty and 'pretty ' or '', e)) return False try: r_img = pycriu.images.dumps(pb) - except: - print "%s %sencode fails" % (imgf, pretty and 'pretty ' or '') + except Exception as e: + r_img = pycriu.images.dumps(pb) + print("%s %s encode fails: %s" % (imgf, pretty and 'pretty ' or '', e)) return False if o_img != r_img: - print "%s %srecode mismatch" % (imgf, pretty and 'pretty ' or '') + print("%s %s recode mismatch" % (imgf, pretty and 'pretty ' or '')) return False return True @@ -37,28 +40,28 @@ for imgf in find.stdout.readlines(): imgf = imgf.strip() imgf_b = os.path.basename(imgf) - if imgf_b.startswith('pages-'): + if imgf_b.startswith(b'pages-'): continue - if imgf_b.startswith('iptables-'): + if imgf_b.startswith(b'iptables-'): continue - if imgf_b.startswith('ip6tables-'): + if imgf_b.startswith(b'ip6tables-'): continue - if imgf_b.startswith('route-'): + if imgf_b.startswith(b'route-'): continue - if imgf_b.startswith('route6-'): + if imgf_b.startswith(b'route6-'): continue - if imgf_b.startswith('ifaddr-'): + if imgf_b.startswith(b'ifaddr-'): continue - if imgf_b.startswith('tmpfs-'): + if imgf_b.startswith(b'tmpfs-'): continue - if imgf_b.startswith('netns-ct-'): + if imgf_b.startswith(b'netns-ct-'): continue - if imgf_b.startswith('netns-exp-'): + if imgf_b.startswith(b'netns-exp-'): continue - if imgf_b.startswith('rule-'): + if imgf_b.startswith(b'rule-'): continue - o_img = open(imgf).read() + o_img = open(imgf.decode(), "rb").read() if not recode_and_check(imgf, o_img, False): test_pass = False if not recode_and_check(imgf, o_img, True): @@ -67,7 +70,7 @@ for imgf in find.stdout.readlines(): find.wait() if not test_pass: - print "FAIL" + print("FAIL") sys.exit(1) -print "PASS" +print("PASS")