/*
- * Copyright 2017 Facebook, Inc.
+ * Copyright 2016-present Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <chrono>
-#include <folly/Baton.h>
#include <folly/io/async/EventBaseManager.h>
#include <folly/portability/GTest.h>
+#include <folly/synchronization/Baton.h>
+#include <folly/system/ThreadName.h>
using namespace std;
using namespace std::chrono;
class EventBaseThreadTest : public testing::Test {};
TEST_F(EventBaseThreadTest, example) {
- EventBaseThread ebt;
+ EventBaseThread ebt(true, nullptr, "monkey");
Baton<> done;
- ebt.getEventBase()->runInEventBaseThread([&] { done.post(); });
- ASSERT_TRUE(done.timed_wait(seconds(1)));
+ ebt.getEventBase()->runInEventBaseThread([&] {
+ EXPECT_EQ(getCurrentThreadName().value(), "monkey");
+ done.post();
+ });
+ ASSERT_TRUE(done.try_wait_for(seconds(1)));
}
TEST_F(EventBaseThreadTest, start_stop) {
Baton<> done;
ebt.getEventBase()->runInEventBaseThread([&] { done.post(); });
- ASSERT_TRUE(done.timed_wait(seconds(1)));
+ ASSERT_TRUE(done.try_wait_for(seconds(1)));
EXPECT_NE(nullptr, ebt.getEventBase());
ebt.stop();
Baton<> done;
ebt2.getEventBase()->runInEventBaseThread([&] { done.post(); });
- ASSERT_TRUE(done.timed_wait(seconds(1)));
+ ASSERT_TRUE(done.try_wait_for(seconds(1)));
}
TEST_F(EventBaseThreadTest, self_move) {
Baton<> done;
ebt.getEventBase()->runInEventBaseThread([&] { done.post(); });
- ASSERT_TRUE(done.timed_wait(seconds(1)));
+ ASSERT_TRUE(done.try_wait_for(seconds(1)));
}
TEST_F(EventBaseThreadTest, default_manager) {