#include <signal.h>
+#include "scoped_signal_handler.h"
#include "utils.h"
#include "workload.h"
TEST(workload, success) {
signaled = false;
- SignalHandlerRegister signal_handler_register({SIGCHLD}, signal_handler);
+ ScopedSignalHandler scoped_signal_handler({SIGCHLD}, signal_handler);
auto workload = Workload::CreateWorkload({"sleep", "1"});
ASSERT_TRUE(workload != nullptr);
ASSERT_TRUE(workload->GetPid() != 0);
static void run_signaled_workload() {
{
signaled = false;
- SignalHandlerRegister signal_handler_register({SIGCHLD}, signal_handler);
+ ScopedSignalHandler scoped_signal_handler({SIGCHLD}, signal_handler);
auto workload = Workload::CreateWorkload({"sleep", "10"});
ASSERT_TRUE(workload != nullptr);
ASSERT_TRUE(workload->Start());
- ASSERT_EQ(0, kill(workload->GetPid(), SIGABRT));
+ ASSERT_EQ(0, kill(workload->GetPid(), SIGKILL));
while (!signaled) {
}
}
static void run_exit_nonzero_workload() {
{
signaled = false;
- SignalHandlerRegister signal_handler_register({SIGCHLD}, signal_handler);
+ ScopedSignalHandler scoped_signal_handler({SIGCHLD}, signal_handler);
auto workload = Workload::CreateWorkload({"ls", "nonexistdir"});
ASSERT_TRUE(workload != nullptr);
ASSERT_TRUE(workload->Start());