mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-31 14:25:49 +00:00
zdtm: Distinguish between fail and crash of dump
Adds a exit_signal static method to criu_cli, criu_config and criu_rpc used to detect a crash. Fixes: #350 Signed-off-by: Bhavik Sachdev <b.sachdev1904@gmail.com>
This commit is contained in:
committed by
Andrei Vagin
parent
6feb57a840
commit
a252a240c3
19
test/zdtm.py
19
test/zdtm.py
@@ -913,6 +913,10 @@ class criu_cli:
|
||||
return cr
|
||||
return cr.wait(timeout=timeout)
|
||||
|
||||
@staticmethod
|
||||
def exit_signal(ret):
|
||||
return ret < 0
|
||||
|
||||
|
||||
class criu_rpc_process:
|
||||
def wait(self):
|
||||
@@ -1033,8 +1037,11 @@ class criu_rpc:
|
||||
else:
|
||||
raise test_fail_exc('RPC for %s required' % action)
|
||||
except crpc.CRIUExceptionExternal as e:
|
||||
print("Fail", e)
|
||||
ret = -1
|
||||
if e.typ != e.resp_typ:
|
||||
ret = -2
|
||||
else:
|
||||
print("Fail", e)
|
||||
ret = -1
|
||||
else:
|
||||
ret = 0
|
||||
|
||||
@@ -1047,6 +1054,10 @@ class criu_rpc:
|
||||
|
||||
return ret
|
||||
|
||||
@staticmethod
|
||||
def exit_signal(ret):
|
||||
return ret == -2
|
||||
|
||||
|
||||
class criu:
|
||||
def __init__(self, opts):
|
||||
@@ -1251,8 +1262,8 @@ class criu:
|
||||
return
|
||||
rst_succeeded = os.access(
|
||||
os.path.join(__ddir, "restore-succeeded"), os.F_OK)
|
||||
if self.__test.blocking() or (self.__sat and action == 'restore' and
|
||||
rst_succeeded):
|
||||
if (self.__test.blocking() and not self.__criu.exit_signal(ret)) or \
|
||||
(self.__sat and action == 'restore' and rst_succeeded):
|
||||
raise test_fail_expected_exc(action)
|
||||
else:
|
||||
raise test_fail_exc("CRIU %s" % action)
|
||||
|
Reference in New Issue
Block a user