diff --git a/Userland/Libraries/LibTest/CrashTest.cpp b/Userland/Libraries/LibTest/CrashTest.cpp index aff77990bf..2610c10c98 100644 --- a/Userland/Libraries/LibTest/CrashTest.cpp +++ b/Userland/Libraries/LibTest/CrashTest.cpp @@ -40,17 +40,19 @@ bool Crash::run(RunType run_type) if (prctl(PR_SET_DUMPABLE, 0, 0) < 0) perror("prctl(PR_SET_DUMPABLE)"); #endif - return do_report(m_crash_function()); - exit(0); + exit((int)m_crash_function()); } int status; waitpid(pid, &status, 0); + if (WIFEXITED(status)) { + return do_report(Failure(WEXITSTATUS(status))); + } if (WIFSIGNALED(status)) { outln("\x1B[32mPASS\x1B[0m: Terminated with signal {}", WTERMSIG(status)); return true; } - return false; + VERIFY_NOT_REACHED(); } }