mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 18:07:57 +00:00
These images are generated by the ip tool. Signed-off-by: Andrew Vagin <avagin@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
74 lines
1.5 KiB
Python
Executable File
74 lines
1.5 KiB
Python
Executable File
#!/bin/env python2
|
|
|
|
import py as pycriu
|
|
import sys
|
|
import os
|
|
import subprocess
|
|
|
|
find = subprocess.Popen(['find', 'test/dump/', '-name', '*.img'],
|
|
stdout = subprocess.PIPE)
|
|
|
|
test_pass = True
|
|
|
|
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)
|
|
return False
|
|
except:
|
|
print "%s %sdecode fails" % (imgf, pretty and 'pretty ' or '')
|
|
return False
|
|
|
|
try:
|
|
r_img = pycriu.images.dumps(pb)
|
|
except:
|
|
print "%s %sencode fails" % (imgf, pretty and 'pretty ' or '')
|
|
return False
|
|
|
|
if o_img != r_img:
|
|
print "%s %srecode mismatch" % (imgf, pretty and 'pretty ' or '')
|
|
return False
|
|
|
|
return True
|
|
|
|
|
|
for imgf in find.stdout.readlines():
|
|
imgf = imgf.strip()
|
|
imgf_b = os.path.basename(imgf)
|
|
|
|
if imgf_b.startswith('pages-'):
|
|
continue
|
|
if imgf_b.startswith('iptables-'):
|
|
continue
|
|
if imgf_b.startswith('ip6tables-'):
|
|
continue
|
|
if imgf_b.startswith('route-'):
|
|
continue
|
|
if imgf_b.startswith('route6-'):
|
|
continue
|
|
if imgf_b.startswith('ifaddr-'):
|
|
continue
|
|
if imgf_b.startswith('tmpfs-'):
|
|
continue
|
|
if imgf_b.startswith('netns-ct-'):
|
|
continue
|
|
if imgf_b.startswith('netns-exp-'):
|
|
continue
|
|
if imgf_b.startswith('rule-'):
|
|
continue
|
|
|
|
o_img = open(imgf).read()
|
|
if not recode_and_check(imgf, o_img, False):
|
|
test_pass = False
|
|
if not recode_and_check(imgf, o_img, True):
|
|
test_pass = False
|
|
|
|
find.wait()
|
|
|
|
if not test_pass:
|
|
print "FAIL"
|
|
sys.exit(1)
|
|
|
|
print "PASS"
|