diff --git a/proxy.cpp b/proxy.cpp index 4356201c696998bbff319e1d69849bdfb9fbc6fd..b4d475adfbf03b5b5c6af36ae7f69557bcbe5f0a 100755 --- a/proxy.cpp +++ b/proxy.cpp @@ -429,7 +429,7 @@ void test_execution::parent() cout_pipe.close_read(); } -void test_execution::clean_exit(int8_t return_code) +void test_execution::after_success(int8_t return_code) { if (do_valgrind) { @@ -443,20 +443,13 @@ void test_execution::clean_exit(int8_t return_code) } } -void test_execution::interrupted_exit(int signal_number) +void test_execution::after_failure(int8_t signal_number) { fmsg_pipe.close_read(); nums_pipe.close_read(); test_signaled(signal_number); } -void test_execution::aborted_exit() -{ - fmsg_pipe.close_read(); - nums_pipe.close_read(); - test.errormsg = "Unexpectedly Aborted"; -} - bool RunTests::execute_test(unit_test & test, RunTimeEnvironment & environment, bool enable_valgrind_call) { @@ -490,11 +483,11 @@ bool fork_execute(F & executor) EXIT_IF_ERROR(ws == -1); if (WIFEXITED(child_status)) /* exit code in child_status */ - executor.clean_exit(WEXITSTATUS(child_status)); + executor.after_success(WEXITSTATUS(child_status)); else if (WIFSIGNALED(child_status)) /* killed */ - executor.interrupted_exit(WTERMSIG(child_status)); + executor.after_failure(WTERMSIG(child_status)); else - executor.aborted_exit(); + executor.after_failure(SIGSTOP); return true; } @@ -592,7 +585,7 @@ void test_execution::test_exit(pipestream & fmsg_pipe, pipestream & nums_pipe) } -void test_execution::test_signaled(int signum) +void test_execution::test_signaled(int8_t signum) { if (signum == environment.timeout_signum0 || signum == environment.timeout_signum1) { diff --git a/proxy.h b/proxy.h index 7371783b6f90327e818a26028387e7b8b00efebb..93ae4082ae854d56645514c015468dce27a44dd0 100755 --- a/proxy.h +++ b/proxy.h @@ -128,18 +128,18 @@ namespace proxy public: test_execution(unit_test & _test, RunTimeEnvironment & env, bool enable_valgrind_call); + void before(); void parent(); void child(); - void clean_exit(int8_t return_code); - void interrupted_exit(int signal_number); - void aborted_exit(); + void after_success(int8_t return_code); + void after_failure(int8_t signal_number); private: void child_valgrind(); void child_test(util::pipestream & fmsg_pipe, util::pipestream & nums_pipe); void valgrind_test_exit(int8_t return_code); void test_exit(util::pipestream & fmsg_pipe, util::pipestream & nums_pipe); - void test_signaled(int signum); + void test_signaled(int8_t signum); void start_timeout(); long end_timeout();