[CRIU] [PATCH 05/14] test: make crit-recode.py python2/python3 compatible

Andrei Vagin avagin at virtuozzo.com
Sat Jun 2 00:02:55 MSK 2018


Signed-off-by: Andrei Vagin <avagin at virtuozzo.com>
---
 test/crit-recode.py | 43 +++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

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")
-- 
2.14.3



More information about the CRIU mailing list