| Index: webrtc/base/signalthread_unittest.cc
|
| diff --git a/webrtc/base/signalthread_unittest.cc b/webrtc/base/signalthread_unittest.cc
|
| index 95b4ac1d6e600de0e28228b72bba36d6ee417aa7..bbae91daf0faf94ebb9837461d8af8acb14b1252 100644
|
| --- a/webrtc/base/signalthread_unittest.cc
|
| +++ b/webrtc/base/signalthread_unittest.cc
|
| @@ -17,6 +17,9 @@
|
|
|
| using namespace rtc;
|
|
|
| +// 10 seconds.
|
| +static const int kTimeout = 10000;
|
| +
|
| class SignalThreadTest : public testing::Test, public sigslot::has_slots<> {
|
| public:
|
| class SlowSignalThread : public SignalThread {
|
| @@ -159,35 +162,26 @@ TEST_F(SignalThreadTest, OwnerThreadGoesAway) {
|
| EXPECT_EQ(stopped, thread_stopped_); \
|
| EXPECT_EQ(deleted, thread_deleted_);
|
|
|
| -#if defined(WEBRTC_LINUX)
|
| -#define MAYBE_ThreadFinishes DISABLED_ThreadFinishes
|
| -#else
|
| -#define MAYBE_ThreadFinishes ThreadFinishes
|
| -#endif
|
| -TEST_F(SignalThreadTest, MAYBE_ThreadFinishes) {
|
| +#define EXPECT_STATE_WAIT(started, done, completed, stopped, deleted, timeout) \
|
| + EXPECT_EQ_WAIT(started, thread_started_, timeout); \
|
| + EXPECT_EQ_WAIT(done, thread_done_, timeout); \
|
| + EXPECT_EQ_WAIT(completed, thread_completed_, timeout); \
|
| + EXPECT_EQ_WAIT(stopped, thread_stopped_, timeout); \
|
| + EXPECT_EQ_WAIT(deleted, thread_deleted_, timeout);
|
| +
|
| +TEST_F(SignalThreadTest, ThreadFinishes) {
|
| thread_->Start();
|
| EXPECT_STATE(1, 0, 0, 0, 0);
|
| - Thread::SleepMs(500);
|
| - EXPECT_STATE(1, 0, 0, 0, 0);
|
| - Thread::Current()->ProcessMessages(0);
|
| - EXPECT_STATE(1, 1, 1, 0, 1);
|
| + EXPECT_STATE_WAIT(1, 1, 1, 0, 1, kTimeout);
|
| }
|
|
|
| -#if defined(WEBRTC_LINUX)
|
| -#define MAYBE_ReleasedThreadFinishes DISABLED_ReleasedThreadFinishes
|
| -#else
|
| -#define MAYBE_ReleasedThreadFinishes ReleasedThreadFinishes
|
| -#endif
|
| -TEST_F(SignalThreadTest, MAYBE_ReleasedThreadFinishes) {
|
| +TEST_F(SignalThreadTest, ReleasedThreadFinishes) {
|
| thread_->Start();
|
| EXPECT_STATE(1, 0, 0, 0, 0);
|
| thread_->Release();
|
| called_release_ = true;
|
| EXPECT_STATE(1, 0, 0, 0, 0);
|
| - Thread::SleepMs(500);
|
| - EXPECT_STATE(1, 0, 0, 0, 0);
|
| - Thread::Current()->ProcessMessages(0);
|
| - EXPECT_STATE(1, 1, 1, 0, 1);
|
| + EXPECT_STATE_WAIT(1, 1, 1, 0, 1, kTimeout);
|
| }
|
|
|
| TEST_F(SignalThreadTest, DestroyedThreadCleansUp) {
|
| @@ -204,8 +198,5 @@ TEST_F(SignalThreadTest, DeferredDestroyedThreadCleansUp) {
|
| EXPECT_STATE(1, 0, 0, 0, 0);
|
| thread_->Destroy(false);
|
| EXPECT_STATE(1, 0, 0, 1, 0);
|
| - Thread::SleepMs(500);
|
| - EXPECT_STATE(1, 0, 0, 1, 0);
|
| - Thread::Current()->ProcessMessages(0);
|
| - EXPECT_STATE(1, 1, 0, 1, 1);
|
| + EXPECT_STATE_WAIT(1, 1, 0, 1, 1, kTimeout);
|
| }
|
|
|