You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> What's the problem?
During the shutdown of the server, the server process is polled. If the
call `ffi.C.kill(<pid>, 0)` returns the value 0, then the process will
be considered alive, otherwise it will be dead.
Luatest cannot distinguish the states when the process is completed
correctly and incorrectly. This means that if a critical error appears
at the end of the process (e.g., segmentation fault), then stopping the
server will be considered successful (and the test-case too).
> What's the solution?
Each process contains its own instance of output_beautifier (which reads
stdout and stderr). Now this instance will contain the stderr field (str)
where the entire stderr from the process will be saved.
During the server shutdown, it looks for the substring 'segmentation fault'
and return an error if the substring is found:
Segmentation fault during process termination (alias: master,
workdir: master-SrQjEIiLyRHS, pid: 152323)
Segmentation fault
code: SEGV_MAPERR
addr: (nil)
...
Closes#252
0 commit comments