EXPECT_EQ(EBADF, errno);
EXPECT_TRUE(handler_->readReady(fd));
-
- EXPECT_NO_THROW(handler_->clear());
- errno = 0;
-
- {
- EXPECT_NO_THROW(handler_->add(pipefd[0], true, false));
-
- std::thread tr([this]() {
- usleep(500);
- close(pipefd[1]);
- });
-
- EXPECT_EQ(1, handler_->waitEvent(1, 0));
-
- EXPECT_EQ(0, errno);
-
- EXPECT_TRUE(handler_->readReady(pipefd[0]));
- EXPECT_FALSE(handler_->writeReady(pipefd[0]));
-
- tr.join();
-
- close(pipefd[0]);
- pipe(pipefd);
- }
-
- EXPECT_NO_THROW(handler_->clear());
- errno = 0;
-
- {
- EXPECT_NO_THROW(handler_->add(pipefd[0], true, false));
-
- std::thread tr([this]() {
- usleep(500);
- close(pipefd[0]);
- });
-
- EXPECT_EQ(1, handler_->waitEvent(1, 0));
-
- EXPECT_EQ(0, errno);
-
- EXPECT_TRUE(handler_->readReady(pipefd[0]));
- EXPECT_FALSE(handler_->writeReady(pipefd[0]));
-
- tr.join();
-
- close(pipefd[1]);
- pipe(pipefd);
- }
-
- EXPECT_NO_THROW(handler_->clear());
- errno = 0;
-
- {
- EXPECT_NO_THROW(handler_->add(pipefd[1], true, false));
-
- std::thread tr([this]() {
- usleep(500);
- close(pipefd[1]);
- });
-
- EXPECT_EQ(1, handler_->waitEvent(1, 0));
-
- EXPECT_EQ(0, errno);
-
- EXPECT_TRUE(handler_->readReady(pipefd[1]));
- EXPECT_FALSE(handler_->writeReady(pipefd[1]));
-
- tr.join();
-
- close(pipefd[0]);
- pipe(pipefd);
- }
-
- EXPECT_NO_THROW(handler_->clear());
- errno = 0;
-
- {
- EXPECT_NO_THROW(handler_->add(pipefd[1], true, false));
-
- std::thread tr([this]() {
- usleep(500);
- close(pipefd[0]);
- });
-
- EXPECT_EQ(1, handler_->waitEvent(1, 0));
-
- EXPECT_EQ(0, errno);
-
- EXPECT_TRUE(handler_->readReady(pipefd[1]));
- EXPECT_FALSE(handler_->writeReady(pipefd[1]));
-
- tr.join();
-
- close(pipefd[1]);
- pipe(pipefd);
- }
}
} // end of anonymous namespace