Skip to content

Commit

Permalink
zdtm: Distinguish between fail and crash of dump
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bsach64 committed Mar 29, 2024
1 parent 00d7cdc commit 4bfaf6e
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
17 changes: 14 additions & 3 deletions test/zdtm.py
Expand Up @@ -899,6 +899,10 @@ def run(action,
return cr
return cr.wait(timeout=timeout)

@staticmethod
def exit_signal(ret):
return ret < 0


class criu_rpc_process:
def wait(self):
Expand Down Expand Up @@ -1018,8 +1022,11 @@ def run(action,
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

Expand All @@ -1032,6 +1039,10 @@ def run(action,

return ret

@staticmethod
def exit_signal(ret):
return ret == -2


class criu:
def __init__(self, opts):
Expand Down Expand Up @@ -1233,7 +1244,7 @@ def __criu_act(self, action, opts=[], log=None, nowait=False):
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
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:
Expand Down
4 changes: 4 additions & 0 deletions test/zdtm/criu_config.py
Expand Up @@ -40,3 +40,7 @@ def run(action,
if nowait:
return cr
return cr.wait()

@staticmethod
def exit_signal(ret):
return ret < 0

0 comments on commit 4bfaf6e

Please sign in to comment.