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

Unified Diff: webrtc/rtc_base/thread_checker_unittest.cc

Issue 2977953002: Partial Reland of Make the default ctor of rtc::Thread, protected (Closed)
Patch Set: Fix the same error elsewhere Created 3 years, 5 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/rtc_base/thread.cc ('k') | webrtc/rtc_base/thread_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/rtc_base/thread_checker_unittest.cc
diff --git a/webrtc/rtc_base/thread_checker_unittest.cc b/webrtc/rtc_base/thread_checker_unittest.cc
index 42e1fcc2d422f09e89de2f4c52a0955642da77e2..d8ad8308624250e43b02c1555e591300a6b1db03 100644
--- a/webrtc/rtc_base/thread_checker_unittest.cc
+++ b/webrtc/rtc_base/thread_checker_unittest.cc
@@ -14,6 +14,7 @@
#include "webrtc/rtc_base/checks.h"
#include "webrtc/rtc_base/constructormagic.h"
+#include "webrtc/rtc_base/nullsocketserver.h"
#include "webrtc/rtc_base/task_queue.h"
#include "webrtc/rtc_base/thread.h"
#include "webrtc/rtc_base/thread_checker.h"
@@ -52,7 +53,7 @@ class ThreadCheckerClass : public ThreadChecker {
class CallDoStuffOnThread : public Thread {
public:
explicit CallDoStuffOnThread(ThreadCheckerClass* thread_checker_class)
- : Thread(),
+ : Thread(std::unique_ptr<SocketServer>(new rtc::NullSocketServer())),
thread_checker_class_(thread_checker_class) {
SetName("call_do_stuff_on_thread", nullptr);
}
@@ -75,9 +76,9 @@ class CallDoStuffOnThread : public Thread {
class DeleteThreadCheckerClassOnThread : public Thread {
public:
explicit DeleteThreadCheckerClassOnThread(
- ThreadCheckerClass* thread_checker_class)
- : Thread(),
- thread_checker_class_(thread_checker_class) {
+ std::unique_ptr<ThreadCheckerClass> thread_checker_class)
+ : Thread(std::unique_ptr<SocketServer>(new rtc::NullSocketServer())),
+ thread_checker_class_(std::move(thread_checker_class)) {
SetName("delete_thread_checker_class_on_thread", nullptr);
}
@@ -89,6 +90,8 @@ class DeleteThreadCheckerClassOnThread : public Thread {
Thread::Join();
}
+ bool has_been_deleted() const { return !thread_checker_class_; }
+
private:
std::unique_ptr<ThreadCheckerClass> thread_checker_class_;
@@ -115,10 +118,14 @@ TEST(ThreadCheckerTest, DestructorAllowedOnDifferentThread) {
// Verify that the destructor doesn't assert
// when called on a different thread.
DeleteThreadCheckerClassOnThread delete_on_thread(
- thread_checker_class.release());
+ std::move(thread_checker_class));
+
+ EXPECT_FALSE(delete_on_thread.has_been_deleted());
delete_on_thread.Start();
delete_on_thread.Join();
+
+ EXPECT_TRUE(delete_on_thread.has_been_deleted());
}
TEST(ThreadCheckerTest, DetachFromThread) {
« no previous file with comments | « webrtc/rtc_base/thread.cc ('k') | webrtc/rtc_base/thread_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698