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

Unified Diff: base/sequence_and_task_token_unittest.cc

Issue 2213263002: Make ThreadChecker::CalledOnValidThread() return true when called from the same task. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: similarity Created 4 years, 4 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
Index: base/sequence_and_task_token_unittest.cc
diff --git a/base/sequence_token_unittest.cc b/base/sequence_and_task_token_unittest.cc
similarity index 43%
rename from base/sequence_token_unittest.cc
rename to base/sequence_and_task_token_unittest.cc
index ff8725e02f330c1508e03600075be134f75123fd..5e82d82f7b1fa6d06050769e18bd3adcefb32c55 100644
--- a/base/sequence_token_unittest.cc
+++ b/base/sequence_and_task_token_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/sequence_token.h"
+#include "base/sequence_and_task_token.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -53,8 +53,8 @@ TEST(SequenceTokenTest, GetForCurrentThread) {
EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid());
{
- ScopedSetSequenceTokenForCurrentThread
- scoped_set_sequence_token_for_current_thread(token);
+ ScopedSetSequenceAndTaskTokenForCurrentThread
+ scoped_set_sequence_and_task_token_for_current_thread(token);
EXPECT_TRUE(SequenceToken::GetForCurrentThread().IsValid());
EXPECT_EQ(token, SequenceToken::GetForCurrentThread());
}
@@ -62,4 +62,64 @@ TEST(SequenceTokenTest, GetForCurrentThread) {
EXPECT_FALSE(SequenceToken::GetForCurrentThread().IsValid());
}
+// Expect a default-constructed TaskToken to be invalid and not equal to
+// another invalid TaskToken.
+TEST(TaskTokenTest, InvalidDefaultConstructed) {
+ EXPECT_FALSE(TaskToken().IsValid());
+ EXPECT_NE(TaskToken(), TaskToken());
+}
+
+// Expect a TaskToken returned by TaskToken::GetForCurrentThread() outside the
+// scope of a ScopedSetSequenceAndTaskTokenForCurrentThread to be invalid.
+TEST(TaskTokenTest, InvalidOutsideScope) {
+ EXPECT_FALSE(TaskToken::GetForCurrentThread().IsValid());
+}
+
+// Expect TaskTokens returned by TaskToken::GetForCurrentThread() in the scope
+// of the same ScopedSetSequenceAndTaskTokenForCurrentThread instance to be
+// valid and equal with each other, but not equal to an invalid TaskToken.
gab 2016/08/08 16:34:22 "but not equal to an invalid TaskToken" -- isn't t
fdoray 2016/08/08 17:45:18 Done.
+TEST(TaskTokenTest, EqualInSameScope) {
+ ScopedSetSequenceAndTaskTokenForCurrentThread
+ scoped_set_sequence_and_task_token_for_current_thread(
+ SequenceToken::Create());
+
+ const TaskToken token_a = TaskToken::GetForCurrentThread();
+ const TaskToken token_b = TaskToken::GetForCurrentThread();
+
+ EXPECT_TRUE(token_a.IsValid());
+ EXPECT_TRUE(token_b.IsValid());
+
+ EXPECT_EQ(token_a, token_b);
+ EXPECT_NE(token_a, TaskToken());
+ EXPECT_NE(token_b, TaskToken());
gab 2016/08/08 16:34:22 rm last two conditions IMO per above comment
fdoray 2016/08/08 17:45:18 Done.
+}
+
+// Expect TaskTokens returned by TaskToken::GetForCurrentThread() in the scope
+// of different ScopedSetSequenceAndTaskTokenForCurrentThread instances to be
+// valid but not equal to each other or to an invalid TaskToken.
+TEST(TaskTokenTest, NotEqualInDifferentScopes) {
+ TaskToken token_a;
+ TaskToken token_b;
+
+ {
+ ScopedSetSequenceAndTaskTokenForCurrentThread
+ scoped_set_sequence_and_task_token_for_current_thread(
+ SequenceToken::Create());
+ token_a = TaskToken::GetForCurrentThread();
+ }
+ {
+ ScopedSetSequenceAndTaskTokenForCurrentThread
+ scoped_set_sequence_and_task_token_for_current_thread(
+ SequenceToken::Create());
+ token_b = TaskToken::GetForCurrentThread();
+ }
+
+ EXPECT_TRUE(token_a.IsValid());
+ EXPECT_TRUE(token_b.IsValid());
+
+ EXPECT_NE(token_a, token_b);
+ EXPECT_NE(token_a, TaskToken());
+ EXPECT_NE(token_b, TaskToken());
gab 2016/08/08 16:34:22 ditto
fdoray 2016/08/08 17:45:18 Done.
+}
+
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698