• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)12 static 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 }