Skip to content
Snippets Groups Projects
Commit 8843c13c authored by toole1's avatar toole1
Browse files

jack

git-svn-id: https://subversion.cs.illinois.edu/svn/cs225@3383 6fbd10e7-183d-0410-a318-cb416676e4f2
parent a6005597
No related branches found
No related tags found
No related merge requests found
......@@ -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)
{
......
......@@ -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();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment