1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2017 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.
- #ifndef BASE_TRACE_EVENT_MEMORY_DUMP_MANAGER_TEST_UTILS_H_
- #define BASE_TRACE_EVENT_MEMORY_DUMP_MANAGER_TEST_UTILS_H_
- #include "base/bind.h"
- #include "base/trace_event/memory_dump_manager.h"
- #include "base/trace_event/memory_dump_request_args.h"
- namespace base {
- namespace trace_event {
- void RequestGlobalDumpForInProcessTesting(
- base::trace_event::MemoryDumpType dump_type,
- base::trace_event::MemoryDumpLevelOfDetail level_of_detail) {
- MemoryDumpRequestArgs local_args = {0 /* dump_guid */, dump_type,
- level_of_detail};
- MemoryDumpManager::GetInstance()->CreateProcessDump(
- local_args, ProcessMemoryDumpCallback());
- }
- // Short circuits the RequestGlobalDumpFunction() to CreateProcessDump(),
- // effectively allowing to use both in unittests with the same behavior.
- // Unittests are in-process only and don't require all the multi-process
- // dump handshaking (which would require bits outside of base).
- void InitializeMemoryDumpManagerForInProcessTesting(bool is_coordinator) {
- MemoryDumpManager* instance = MemoryDumpManager::GetInstance();
- instance->set_dumper_registrations_ignored_for_testing(true);
- instance->Initialize(BindRepeating(&RequestGlobalDumpForInProcessTesting),
- is_coordinator);
- }
- } // namespace trace_event
- } // namespace base
- #endif // BASE_TRACE_EVENT_MEMORY_DUMP_MANAGER_TEST_UTILS_H_
|