1 #include <chrono> 2 #include <errno.h> 3 #include <gtest/gtest.h> 4 #include <signal.h> 5 using namespace testing::ext; 6 7 class SignalSigemptySetTest : public testing::Test { SetUp()8 void SetUp() override {} TearDown()9 void TearDown() override {} 10 }; 11 SignalHandler(int signum)12static void SignalHandler(int signum) {} 13 14 /** 15 * @tc.name: sigtimedwait_001 16 * @tc.desc: Verify whether the sigtimedwait() function waits for a signal from the set set within the specified 17 * ts and returns -1 if no signal is received. 18 * @tc.type: FUNC 19 **/ 20 HWTEST_F(SignalSigemptySetTest, sigtimedwait_001, TestSize.Level1) 21 { 22 sigset_t set; 23 sigemptyset(&set); 24 sigaddset(&set, SIGUSR1); 25 26 struct sigaction sa; 27 sa.sa_handler = SignalHandler; 28 sa.sa_mask = set; 29 sa.sa_flags = 0; 30 sigaction(SIGUSR1, &sa, nullptr); 31 32 siginfo_t si; 33 struct timespec ts = { .tv_sec = 1, .tv_nsec = 0 }; 34 EXPECT_EQ(-1, sigtimedwait(&set, &si, &ts)); 35 }