aboutsummaryrefslogtreecommitdiffstats
path: root/brillo/message_loops/fake_message_loop_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'brillo/message_loops/fake_message_loop_test.cc')
-rw-r--r--brillo/message_loops/fake_message_loop_test.cc53
1 files changed, 13 insertions, 40 deletions
diff --git a/brillo/message_loops/fake_message_loop_test.cc b/brillo/message_loops/fake_message_loop_test.cc
index b4b839c..a5d0607 100644
--- a/brillo/message_loops/fake_message_loop_test.cc
+++ b/brillo/message_loops/fake_message_loop_test.cc
@@ -15,7 +15,7 @@
#include <brillo/message_loops/message_loop.h>
-using base::Bind;
+using base::BindOnce;
using base::Time;
using base::TimeDelta;
using std::vector;
@@ -45,17 +45,18 @@ TEST_F(FakeMessageLoopTest, CancelTaskInvalidValuesTest) {
TEST_F(FakeMessageLoopTest, PostDelayedTaskRunsInOrder) {
vector<int> order;
- auto callback = [](std::vector<int>* order, int value) {
- order->push_back(value);
- };
- loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 1),
- TimeDelta::FromSeconds(1));
- loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 4),
- TimeDelta::FromSeconds(4));
- loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 3),
- TimeDelta::FromSeconds(3));
- loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 2),
- TimeDelta::FromSeconds(2));
+ loop_->PostDelayedTask(
+ BindOnce([](vector<int>* order) { order->push_back(1); }, &order),
+ TimeDelta::FromSeconds(1));
+ loop_->PostDelayedTask(
+ BindOnce([](vector<int>* order) { order->push_back(4); }, &order),
+ TimeDelta::FromSeconds(4));
+ loop_->PostDelayedTask(
+ BindOnce([](vector<int>* order) { order->push_back(3); }, &order),
+ TimeDelta::FromSeconds(3));
+ loop_->PostDelayedTask(
+ BindOnce([](vector<int>* order) { order->push_back(2); }, &order),
+ TimeDelta::FromSeconds(2));
// Run until all the tasks are run.
loop_->Run();
EXPECT_EQ((vector<int>{1, 2, 3, 4}), order);
@@ -84,34 +85,6 @@ TEST_F(FakeMessageLoopTest, PostDelayedTaskAdvancesTheTime) {
EXPECT_EQ(start + TimeDelta::FromSeconds(3), clock_.Now());
}
-TEST_F(FakeMessageLoopTest, WatchFileDescriptorWaits) {
- int fd = 1234;
- // We will simulate this situation. At the beginning, we will watch for a
- // file descriptor that won't trigger for 10s. Then we will pretend it is
- // ready after 10s and expect its callback to run just once.
- int called = 0;
- TaskId task_id = loop_->WatchFileDescriptor(
- FROM_HERE, fd, MessageLoop::kWatchRead, false,
- Bind([](int* called) { (*called)++; }, base::Unretained(&called)));
- EXPECT_NE(MessageLoop::kTaskIdNull, task_id);
-
- EXPECT_NE(MessageLoop::kTaskIdNull,
- loop_->PostDelayedTask(Bind(&FakeMessageLoop::BreakLoop,
- base::Unretained(loop_.get())),
- TimeDelta::FromSeconds(10)));
- EXPECT_NE(MessageLoop::kTaskIdNull,
- loop_->PostDelayedTask(Bind(&FakeMessageLoop::BreakLoop,
- base::Unretained(loop_.get())),
- TimeDelta::FromSeconds(20)));
- loop_->Run();
- EXPECT_EQ(0, called);
-
- loop_->SetFileDescriptorReadiness(fd, MessageLoop::kWatchRead, true);
- loop_->Run();
- EXPECT_EQ(1, called);
- EXPECT_FALSE(loop_->CancelTask(task_id));
-}
-
TEST_F(FakeMessageLoopTest, PendingTasksTest) {
loop_->PostDelayedTask(base::DoNothing(), TimeDelta::FromSeconds(1));
EXPECT_TRUE(loop_->PendingTasks());