Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Unified Diff: webrtc/base/thread_unittest.cc

Issue 2871403003: Delete unused features of AsyncInvoke. (Closed)
Patch Set: Rebased. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/asyncinvoker-inl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/base/thread_unittest.cc
diff --git a/webrtc/base/thread_unittest.cc b/webrtc/base/thread_unittest.cc
index 35ea60468cea59c88beb66b83b4de3ca3bd78261..c143120fbcceec8d7611b42156761989102213ff 100644
--- a/webrtc/base/thread_unittest.cc
+++ b/webrtc/base/thread_unittest.cc
@@ -421,13 +421,6 @@ class AsyncInvokeTest : public testing::Test {
EXPECT_EQ(expected_thread_, Thread::Current());
int_value_ = value;
}
- void AsyncInvokeIntCallback(AsyncInvoker* invoker, Thread* thread) {
- expected_thread_ = thread;
- invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, thread, FunctorC(),
- &AsyncInvokeTest::IntCallback,
- static_cast<AsyncInvokeTest*>(this));
- invoke_started_.Set();
- }
void SetExpectedThreadForIntCallback(Thread* thread) {
expected_thread_ = thread;
}
@@ -436,11 +429,9 @@ class AsyncInvokeTest : public testing::Test {
enum { kWaitTimeout = 1000 };
AsyncInvokeTest()
: int_value_(0),
- invoke_started_(true, false),
expected_thread_(nullptr) {}
int int_value_;
- Event invoke_started_;
Thread* expected_thread_;
};
@@ -455,71 +446,6 @@ TEST_F(AsyncInvokeTest, FireAndForget) {
EXPECT_TRUE_WAIT(called.get(), kWaitTimeout);
}
-TEST_F(AsyncInvokeTest, WithCallback) {
- AsyncInvoker invoker;
- // Create and start the thread.
- Thread thread;
- thread.Start();
- // Try calling functor.
- SetExpectedThreadForIntCallback(Thread::Current());
- invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, &thread, FunctorA(),
- &AsyncInvokeTest::IntCallback,
- static_cast<AsyncInvokeTest*>(this));
- EXPECT_EQ_WAIT(42, int_value_, kWaitTimeout);
-}
-
-TEST_F(AsyncInvokeTest, CancelInvoker) {
- // Create and start the thread.
- Thread thread;
- thread.Start();
- // Try destroying invoker during call.
- {
- AsyncInvoker invoker;
- invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, &thread, FunctorC(),
- &AsyncInvokeTest::IntCallback,
- static_cast<AsyncInvokeTest*>(this));
- }
- // With invoker gone, callback should be cancelled.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
-TEST_F(AsyncInvokeTest, CancelCallingThread) {
- AsyncInvoker invoker;
- { // Create and start the thread.
- Thread thread;
- thread.Start();
- // Try calling functor.
- thread.Invoke<void>(
- RTC_FROM_HERE,
- Bind(&AsyncInvokeTest::AsyncInvokeIntCallback,
- static_cast<AsyncInvokeTest*>(this), &invoker, Thread::Current()));
- // Wait for the call to begin.
- ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout));
- }
- // Calling thread is gone. Return message shouldn't happen.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
-TEST_F(AsyncInvokeTest, KillInvokerBeforeExecute) {
- Thread thread;
- thread.Start();
- {
- AsyncInvoker invoker;
- // Try calling functor.
- thread.Invoke<void>(
- RTC_FROM_HERE,
- Bind(&AsyncInvokeTest::AsyncInvokeIntCallback,
- static_cast<AsyncInvokeTest*>(this), &invoker, Thread::Current()));
- // Wait for the call to begin.
- ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout));
- }
- // Invoker is destroyed. Function should not execute.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
Taylor Brandstetter 2017/05/17 18:25:28 Sorry for the late feedback, but these tests need
Taylor Brandstetter 2017/05/17 21:15:06 Here's a CL that adds a test that does what I'm ta
-
TEST_F(AsyncInvokeTest, KillInvokerDuringExecute) {
// Use these events to get in a state where the functor is in the middle of
// executing, and then to wait for it to finish, ensuring the "EXPECT_FALSE"
@@ -599,13 +525,6 @@ class GuardedAsyncInvokeTest : public testing::Test {
EXPECT_EQ(expected_thread_, Thread::Current());
int_value_ = value;
}
- void AsyncInvokeIntCallback(GuardedAsyncInvoker* invoker, Thread* thread) {
- expected_thread_ = thread;
- invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(),
- &GuardedAsyncInvokeTest::IntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this));
- invoke_started_.Set();
- }
void SetExpectedThreadForIntCallback(Thread* thread) {
expected_thread_ = thread;
}
@@ -614,11 +533,9 @@ class GuardedAsyncInvokeTest : public testing::Test {
const static int kWaitTimeout = 1000;
GuardedAsyncInvokeTest()
: int_value_(0),
- invoke_started_(true, false),
expected_thread_(nullptr) {}
int int_value_;
- Event invoke_started_;
Thread* expected_thread_;
};
@@ -648,26 +565,6 @@ TEST_F(GuardedAsyncInvokeTest, KillThreadFireAndForget) {
EXPECT_FALSE(called.get());
}
-// Test that we can call AsyncInvoke with callback after the thread died.
-TEST_F(GuardedAsyncInvokeTest, KillThreadWithCallback) {
- // Create and start the thread.
- std::unique_ptr<Thread> thread(new Thread());
- thread->Start();
- std::unique_ptr<GuardedAsyncInvoker> invoker;
- // Create the invoker on |thread|.
- thread->Invoke<void>(RTC_FROM_HERE, CreateInvoker(&invoker));
- // Kill |thread|.
- thread = nullptr;
- // Try calling functor.
- EXPECT_FALSE(
- invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(),
- &GuardedAsyncInvokeTest::IntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this)));
- // With thread gone, callback should be cancelled.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
// The remaining tests check that GuardedAsyncInvoker behaves as AsyncInvoker
// when Thread is still alive.
TEST_F(GuardedAsyncInvokeTest, FireAndForget) {
@@ -678,67 +575,6 @@ TEST_F(GuardedAsyncInvokeTest, FireAndForget) {
EXPECT_TRUE_WAIT(called.get(), kWaitTimeout);
}
-TEST_F(GuardedAsyncInvokeTest, WithCallback) {
- GuardedAsyncInvoker invoker;
- // Try calling functor.
- SetExpectedThreadForIntCallback(Thread::Current());
- EXPECT_TRUE(invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorA(),
- &GuardedAsyncInvokeTest::IntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this)));
- EXPECT_EQ_WAIT(42, int_value_, kWaitTimeout);
-}
-
-TEST_F(GuardedAsyncInvokeTest, CancelInvoker) {
- // Try destroying invoker during call.
- {
- GuardedAsyncInvoker invoker;
- EXPECT_TRUE(
- invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(),
- &GuardedAsyncInvokeTest::IntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this)));
- }
- // With invoker gone, callback should be cancelled.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
-TEST_F(GuardedAsyncInvokeTest, CancelCallingThread) {
- GuardedAsyncInvoker invoker;
- // Try destroying calling thread during call.
- {
- Thread thread;
- thread.Start();
- // Try calling functor.
- thread.Invoke<void>(RTC_FROM_HERE,
- Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this),
- &invoker, Thread::Current()));
- // Wait for the call to begin.
- ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout));
- }
- // Calling thread is gone. Return message shouldn't happen.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
-TEST_F(GuardedAsyncInvokeTest, KillInvokerBeforeExecute) {
- Thread thread;
- thread.Start();
- {
- GuardedAsyncInvoker invoker;
- // Try calling functor.
- thread.Invoke<void>(RTC_FROM_HERE,
- Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback,
- static_cast<GuardedAsyncInvokeTest*>(this),
- &invoker, Thread::Current()));
- // Wait for the call to begin.
- ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout));
- }
- // Invoker is destroyed. Function should not execute.
- Thread::Current()->ProcessMessages(kWaitTimeout);
- EXPECT_EQ(0, int_value_);
-}
-
TEST_F(GuardedAsyncInvokeTest, Flush) {
GuardedAsyncInvoker invoker;
AtomicBool flag1;
« no previous file with comments | « webrtc/base/asyncinvoker-inl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698