Merge SendTask implementation for SingleThreadedTaskQueueForTesting and TaskQueueForTest
That allows to use SingleThreadedTaskQueueForTesting via TaskQueueBase interface but still have access to test-only SendTask function. Bug: webrtc:10933 Change-Id: I3cc397e55ea2f1ed9e5d885d6a2ccda412beb826 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156002 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29480}
This commit is contained in:
committed by
Commit Bot
parent
35214fcfe2
commit
eb90e6ffe3
@ -84,16 +84,20 @@ TEST(SequenceCheckerTest, DetachFromThreadAndUseOnTaskQueue) {
|
||||
SequenceChecker sequence_checker;
|
||||
sequence_checker.Detach();
|
||||
TaskQueueForTest queue;
|
||||
queue.SendTask([&] { EXPECT_TRUE(sequence_checker.IsCurrent()); });
|
||||
queue.SendTask([&] { EXPECT_TRUE(sequence_checker.IsCurrent()); },
|
||||
RTC_FROM_HERE);
|
||||
}
|
||||
|
||||
TEST(SequenceCheckerTest, DetachFromTaskQueueAndUseOnThread) {
|
||||
TaskQueueForTest queue;
|
||||
queue.SendTask([] {
|
||||
SequenceChecker sequence_checker;
|
||||
sequence_checker.Detach();
|
||||
RunOnDifferentThread([&] { EXPECT_TRUE(sequence_checker.IsCurrent()); });
|
||||
});
|
||||
queue.SendTask(
|
||||
[] {
|
||||
SequenceChecker sequence_checker;
|
||||
sequence_checker.Detach();
|
||||
RunOnDifferentThread(
|
||||
[&] { EXPECT_TRUE(sequence_checker.IsCurrent()); });
|
||||
},
|
||||
RTC_FROM_HERE);
|
||||
}
|
||||
|
||||
TEST(SequenceCheckerTest, MethodNotAllowedOnDifferentThreadInDebug) {
|
||||
@ -106,7 +110,8 @@ TEST(SequenceCheckerTest, MethodNotAllowedOnDifferentTaskQueueInDebug) {
|
||||
SequenceChecker sequence_checker;
|
||||
TaskQueueForTest queue;
|
||||
queue.SendTask(
|
||||
[&] { EXPECT_EQ(sequence_checker.IsCurrent(), !RTC_DCHECK_IS_ON); });
|
||||
[&] { EXPECT_EQ(sequence_checker.IsCurrent(), !RTC_DCHECK_IS_ON); },
|
||||
RTC_FROM_HERE);
|
||||
}
|
||||
|
||||
TEST(SequenceCheckerTest, DetachFromTaskQueueInDebug) {
|
||||
@ -114,13 +119,15 @@ TEST(SequenceCheckerTest, DetachFromTaskQueueInDebug) {
|
||||
sequence_checker.Detach();
|
||||
|
||||
TaskQueueForTest queue1;
|
||||
queue1.SendTask([&] { EXPECT_TRUE(sequence_checker.IsCurrent()); });
|
||||
queue1.SendTask([&] { EXPECT_TRUE(sequence_checker.IsCurrent()); },
|
||||
RTC_FROM_HERE);
|
||||
|
||||
// IsCurrent should return false in debug builds after moving to
|
||||
// another task queue.
|
||||
TaskQueueForTest queue2;
|
||||
queue2.SendTask(
|
||||
[&] { EXPECT_EQ(sequence_checker.IsCurrent(), !RTC_DCHECK_IS_ON); });
|
||||
[&] { EXPECT_EQ(sequence_checker.IsCurrent(), !RTC_DCHECK_IS_ON); },
|
||||
RTC_FROM_HERE);
|
||||
}
|
||||
|
||||
class TestAnnotations {
|
||||
@ -147,7 +154,7 @@ TEST(SequenceCheckerTest, TestAnnotations) {
|
||||
void TestAnnotationsOnWrongQueue() {
|
||||
TestAnnotations annotations;
|
||||
TaskQueueForTest queue;
|
||||
queue.SendTask([&] { annotations.ModifyTestVar(); });
|
||||
queue.SendTask([&] { annotations.ModifyTestVar(); }, RTC_FROM_HERE);
|
||||
}
|
||||
|
||||
#if RTC_DCHECK_IS_ON
|
||||
|
||||
Reference in New Issue
Block a user