| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 406 }; | 406 }; |
| 407 | 407 |
| 408 TEST(ThreadTest, SetNameOnSignalQueueDestroyed) { | 408 TEST(ThreadTest, SetNameOnSignalQueueDestroyed) { |
| 409 Thread* thread1 = new Thread(); | 409 Thread* thread1 = new Thread(); |
| 410 SetNameOnSignalQueueDestroyedTester tester1(thread1); | 410 SetNameOnSignalQueueDestroyedTester tester1(thread1); |
| 411 delete thread1; | 411 delete thread1; |
| 412 | 412 |
| 413 Thread* thread2 = new AutoThread(); | 413 Thread* thread2 = new AutoThread(); |
| 414 SetNameOnSignalQueueDestroyedTester tester2(thread2); | 414 SetNameOnSignalQueueDestroyedTester tester2(thread2); |
| 415 delete thread2; | 415 delete thread2; |
| 416 | |
| 417 #if defined(WEBRTC_WIN) | |
| 418 Thread* thread3 = new ComThread(); | |
| 419 SetNameOnSignalQueueDestroyedTester tester3(thread3); | |
| 420 delete thread3; | |
| 421 #endif | |
| 422 } | 416 } |
| 423 | 417 |
| 424 class AsyncInvokeTest : public testing::Test { | 418 class AsyncInvokeTest : public testing::Test { |
| 425 public: | 419 public: |
| 426 void IntCallback(int value) { | 420 void IntCallback(int value) { |
| 427 EXPECT_EQ(expected_thread_, Thread::Current()); | 421 EXPECT_EQ(expected_thread_, Thread::Current()); |
| 428 int_value_ = value; | 422 int_value_ = value; |
| 429 } | 423 } |
| 430 void AsyncInvokeIntCallback(AsyncInvoker* invoker, Thread* thread) { | 424 void AsyncInvokeIntCallback(AsyncInvoker* invoker, Thread* thread) { |
| 431 expected_thread_ = thread; | 425 expected_thread_ = thread; |
| (...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 // Execute pending calls with id == 5. | 768 // Execute pending calls with id == 5. |
| 775 EXPECT_TRUE(invoker.Flush(5)); | 769 EXPECT_TRUE(invoker.Flush(5)); |
| 776 EXPECT_TRUE(flag1.get()); | 770 EXPECT_TRUE(flag1.get()); |
| 777 EXPECT_FALSE(flag2.get()); | 771 EXPECT_FALSE(flag2.get()); |
| 778 flag1 = false; | 772 flag1 = false; |
| 779 // Execute all pending calls. The id == 5 call should not execute again. | 773 // Execute all pending calls. The id == 5 call should not execute again. |
| 780 EXPECT_TRUE(invoker.Flush()); | 774 EXPECT_TRUE(invoker.Flush()); |
| 781 EXPECT_FALSE(flag1.get()); | 775 EXPECT_FALSE(flag1.get()); |
| 782 EXPECT_TRUE(flag2.get()); | 776 EXPECT_TRUE(flag2.get()); |
| 783 } | 777 } |
| 784 | |
| 785 #if defined(WEBRTC_WIN) | |
| 786 class ComThreadTest : public testing::Test, public MessageHandler { | |
| 787 public: | |
| 788 ComThreadTest() : done_(false) {} | |
| 789 protected: | |
| 790 virtual void OnMessage(Message* message) { | |
| 791 HRESULT hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED); | |
| 792 // S_FALSE means the thread was already inited for a multithread apartment. | |
| 793 EXPECT_EQ(S_FALSE, hr); | |
| 794 if (SUCCEEDED(hr)) { | |
| 795 CoUninitialize(); | |
| 796 } | |
| 797 done_ = true; | |
| 798 } | |
| 799 bool done_; | |
| 800 }; | |
| 801 | |
| 802 TEST_F(ComThreadTest, ComInited) { | |
| 803 Thread* thread = new ComThread(); | |
| 804 EXPECT_TRUE(thread->Start()); | |
| 805 thread->Post(RTC_FROM_HERE, this, 0); | |
| 806 EXPECT_TRUE_WAIT(done_, 1000); | |
| 807 delete thread; | |
| 808 } | |
| 809 #endif | |
| OLD | NEW |