OLD | NEW |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/json/json_reader.h" | 5 #include "base/json/json_reader.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "base/trace_event/trace_event.h" | 7 #include "base/trace_event/trace_event.h" |
8 #include "content/public/test/render_view_test.h" | 8 #include "content/public/test/render_view_test.h" |
9 #include "content/renderer/devtools/v8_sampling_profiler.h" | 9 #include "content/renderer/devtools/v8_sampling_profiler.h" |
10 | 10 |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 } | 112 } |
113 | 113 |
114 scoped_ptr<V8SamplingProfiler> sampling_profiler_; | 114 scoped_ptr<V8SamplingProfiler> sampling_profiler_; |
115 base::Lock lock_; | 115 base::Lock lock_; |
116 | 116 |
117 ListValue trace_parsed_; | 117 ListValue trace_parsed_; |
118 TraceResultBuffer trace_buffer_; | 118 TraceResultBuffer trace_buffer_; |
119 TraceResultBuffer::SimpleOutput json_output_; | 119 TraceResultBuffer::SimpleOutput json_output_; |
120 }; | 120 }; |
121 | 121 |
122 // TODO(alph): Implement on Windows, Android and non-x86. | 122 TEST_F(V8SamplingProfilerTest, V8SamplingEventFired) { |
123 // The SamplingEventForTesting is fired when the framework collected at | |
124 // least one JitCodeAdded event and one sample event. | |
125 | |
126 #if defined(OS_WIN) | |
127 #define MAYBE(x) DISABLED_##x | |
128 #else | |
129 #define MAYBE(x) x | |
130 #endif | |
131 | |
132 TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingEventFired)) { | |
133 sampling_profiler_->EnableSamplingEventForTesting(0, 0); | 123 sampling_profiler_->EnableSamplingEventForTesting(0, 0); |
134 TraceLog::GetInstance()->SetEnabled( | 124 TraceLog::GetInstance()->SetEnabled( |
135 CategoryFilter(TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile")), | 125 CategoryFilter(TRACE_DISABLED_BY_DEFAULT("v8.cpu_profile")), |
136 TraceLog::RECORDING_MODE, TraceOptions()); | 126 TraceLog::RECORDING_MODE, TraceOptions()); |
137 base::RunLoop().RunUntilIdle(); | 127 base::RunLoop().RunUntilIdle(); |
138 sampling_profiler_->WaitSamplingEventForTesting(); | 128 sampling_profiler_->WaitSamplingEventForTesting(); |
139 TraceLog::GetInstance()->SetDisabled(); | 129 TraceLog::GetInstance()->SetDisabled(); |
140 } | 130 } |
141 | 131 |
142 TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingJitCodeEventsCollected)) { | 132 TEST_F(V8SamplingProfilerTest, V8SamplingJitCodeEventsCollected) { |
143 CollectTrace(1, 0); | 133 CollectTrace(1, 0); |
144 int jit_code_added_events_count = CountEvents("JitCodeAdded"); | 134 int jit_code_added_events_count = CountEvents("JitCodeAdded"); |
145 CHECK_LT(0, jit_code_added_events_count); | 135 CHECK_LT(0, jit_code_added_events_count); |
146 base::RunLoop().RunUntilIdle(); | 136 base::RunLoop().RunUntilIdle(); |
147 } | 137 } |
148 | 138 |
149 TEST_F(V8SamplingProfilerTest, MAYBE(V8SamplingSamplesCollected)) { | 139 TEST_F(V8SamplingProfilerTest, V8SamplingSamplesCollected) { |
150 CollectTrace(0, 1); | 140 CollectTrace(0, 1); |
151 int sample_events_count = CountEvents("V8Sample"); | 141 int sample_events_count = CountEvents("V8Sample"); |
152 CHECK_LT(0, sample_events_count); | 142 CHECK_LT(0, sample_events_count); |
153 base::RunLoop().RunUntilIdle(); | 143 base::RunLoop().RunUntilIdle(); |
154 } | 144 } |
155 | 145 |
156 } // namespace content | 146 } // namespace content |
OLD | NEW |