| // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #include "base/test/thread_test_helper.h" |
| #include "base/location.h" |
| #include "base/threading/thread_restrictions.h" |
| ThreadTestHelper::ThreadTestHelper( |
| scoped_refptr<SequencedTaskRunner> target_sequence) |
| target_sequence_(std::move(target_sequence)), |
| done_event_(WaitableEvent::ResetPolicy::AUTOMATIC, |
| WaitableEvent::InitialState::NOT_SIGNALED) {} |
| bool ThreadTestHelper::Run() { |
| if (!target_sequence_->PostTask( |
| FROM_HERE, base::BindOnce(&ThreadTestHelper::RunOnSequence, this))) { |
| base::ThreadRestrictions::ScopedAllowWait allow_wait; |
| void ThreadTestHelper::RunTest() { set_test_result(true); } |
| ThreadTestHelper::~ThreadTestHelper() = default; |
| void ThreadTestHelper::RunOnSequence() { |