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

Unified Diff: base/test/trace_event_analyzer_unittest.cc

Issue 22962004: Thread-local trace-event buffers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update browser_shutdown_profile_dumper Created 7 years, 3 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 | « base/debug/trace_event_unittest.cc ('k') | components/tracing/child_trace_message_filter.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/test/trace_event_analyzer_unittest.cc
diff --git a/base/test/trace_event_analyzer_unittest.cc b/base/test/trace_event_analyzer_unittest.cc
index f9f4e960c7165cd2590b188e551b90746aa9f629..e7dce4e2d8f6dc6e2da7418cf5f656ceb12d7086 100644
--- a/base/test/trace_event_analyzer_unittest.cc
+++ b/base/test/trace_event_analyzer_unittest.cc
@@ -4,6 +4,7 @@
#include "base/bind.h"
#include "base/debug/trace_event_unittest.h"
+#include "base/synchronization/waitable_event.h"
#include "base/test/trace_event_analyzer.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -16,7 +17,9 @@ class TraceEventAnalyzerTest : public testing::Test {
public:
void ManualSetUp();
void OnTraceDataCollected(
- const scoped_refptr<base::RefCountedString>& json_events_str);
+ base::WaitableEvent* flush_complete_event,
+ const scoped_refptr<base::RefCountedString>& json_events_str,
+ bool has_more_events);
void BeginTracing();
void EndTracing();
@@ -31,8 +34,12 @@ void TraceEventAnalyzerTest::ManualSetUp() {
}
void TraceEventAnalyzerTest::OnTraceDataCollected(
- const scoped_refptr<base::RefCountedString>& json_events_str) {
+ base::WaitableEvent* flush_complete_event,
+ const scoped_refptr<base::RefCountedString>& json_events_str,
+ bool has_more_events) {
buffer_.AddFragment(json_events_str->data());
+ if (!has_more_events)
+ flush_complete_event->Signal();
}
void TraceEventAnalyzerTest::BeginTracing() {
@@ -45,9 +52,12 @@ void TraceEventAnalyzerTest::BeginTracing() {
void TraceEventAnalyzerTest::EndTracing() {
base::debug::TraceLog::GetInstance()->SetDisabled();
+ base::WaitableEvent flush_complete_event(false, false);
base::debug::TraceLog::GetInstance()->Flush(
base::Bind(&TraceEventAnalyzerTest::OnTraceDataCollected,
- base::Unretained(this)));
+ base::Unretained(this),
+ base::Unretained(&flush_complete_event)));
+ flush_complete_event.Wait();
buffer_.Finish();
}
« no previous file with comments | « base/debug/trace_event_unittest.cc ('k') | components/tracing/child_trace_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698