mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-04 16:54:13 +08:00
mdbx-test: add coredump
status.
Change-Id: I9003a891744eb78d91a3e279e20efcb4c1ad736c
This commit is contained in:
parent
7e1e142104
commit
30ac62ceec
@ -38,7 +38,8 @@ enum actor_status {
|
|||||||
as_running,
|
as_running,
|
||||||
as_successful,
|
as_successful,
|
||||||
as_killed,
|
as_killed,
|
||||||
as_failed
|
as_failed,
|
||||||
|
as_coredump,
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *testcase2str(const actor_testcase);
|
const char *testcase2str(const actor_testcase);
|
||||||
|
@ -199,7 +199,9 @@ retry:
|
|||||||
if (WIFEXITED(status))
|
if (WIFEXITED(status))
|
||||||
childs[pid] =
|
childs[pid] =
|
||||||
(WEXITSTATUS(status) == EXIT_SUCCESS) ? as_successful : as_failed;
|
(WEXITSTATUS(status) == EXIT_SUCCESS) ? as_successful : as_failed;
|
||||||
else if (WIFSIGNALED(status) || WCOREDUMP(status))
|
else if (WCOREDUMP(status))
|
||||||
|
childs[pid] = as_coredump;
|
||||||
|
else if (WIFSIGNALED(status))
|
||||||
childs[pid] = as_killed;
|
childs[pid] = as_killed;
|
||||||
else if (WIFSTOPPED(status))
|
else if (WIFSTOPPED(status))
|
||||||
childs[pid] = as_debuging;
|
childs[pid] = as_debuging;
|
||||||
|
@ -312,14 +312,22 @@ actor_status osal_actor_info(const mdbx_pid_t pid) {
|
|||||||
case EXIT_SUCCESS:
|
case EXIT_SUCCESS:
|
||||||
status = as_successful;
|
status = as_successful;
|
||||||
break;
|
break;
|
||||||
// case EXCEPTION_BREAKPOINT:
|
case EXCEPTION_BREAKPOINT:
|
||||||
case EXCEPTION_SINGLE_STEP:
|
case EXCEPTION_SINGLE_STEP:
|
||||||
status = as_debuging;
|
status = as_debuging;
|
||||||
break;
|
break;
|
||||||
case STATUS_CONTROL_C_EXIT:
|
case STATUS_CONTROL_C_EXIT:
|
||||||
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
|
|
||||||
status = as_killed;
|
status = as_killed;
|
||||||
break;
|
break;
|
||||||
|
case EXCEPTION_ACCESS_VIOLATION:
|
||||||
|
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
|
||||||
|
case EXCEPTION_DATATYPE_MISALIGNMENT:
|
||||||
|
case EXCEPTION_STACK_OVERFLOW:
|
||||||
|
case EXCEPTION_INVALID_DISPOSITION:
|
||||||
|
case EXCEPTION_ILLEGAL_INSTRUCTION:
|
||||||
|
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
|
||||||
|
status = as_coredump;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
status = as_failed;
|
status = as_failed;
|
||||||
break;
|
break;
|
||||||
|
@ -55,6 +55,8 @@ const char *status2str(actor_status status) {
|
|||||||
return "killed";
|
return "killed";
|
||||||
case as_failed:
|
case as_failed:
|
||||||
return "failed";
|
return "failed";
|
||||||
|
case as_coredump:
|
||||||
|
return "coredump";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user