예제 #1
0
ATF_TC_BODY(exec_exitstatus, tc)
{
    {
        atf_check_result_t result;
        do_exec(tc, "exit-success", &result);
        ATF_CHECK(atf_check_result_exited(&result));
        ATF_CHECK(!atf_check_result_signaled(&result));
        ATF_CHECK(atf_check_result_exitcode(&result) == EXIT_SUCCESS);
        atf_check_result_fini(&result);
    }

    {
        atf_check_result_t result;
        do_exec(tc, "exit-failure", &result);
        ATF_CHECK(atf_check_result_exited(&result));
        ATF_CHECK(!atf_check_result_signaled(&result));
        ATF_CHECK(atf_check_result_exitcode(&result) == EXIT_FAILURE);
        atf_check_result_fini(&result);
    }

    {
        atf_check_result_t result;
        do_exec(tc, "exit-signal", &result);
        ATF_CHECK(!atf_check_result_exited(&result));
        ATF_CHECK(atf_check_result_signaled(&result));
        ATF_CHECK(atf_check_result_termsig(&result) == SIGKILL);
        atf_check_result_fini(&result);
    }
}
예제 #2
0
bool
impl::check_result::signaled(void)
const
{
    return atf_check_result_signaled(&m_result);
}