| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 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 <map> | 5 #include <map> |
| 6 #include <set> | 6 #include <set> |
| 7 | 7 |
| 8 #include "gpu/command_buffer/service/gpu_service_test.h" | 8 #include "gpu/command_buffer/service/gpu_service_test.h" |
| 9 #include "gpu/command_buffer/service/gpu_tracer.h" | 9 #include "gpu/command_buffer/service/gpu_tracer.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 #include "ui/gl/gl_mock.h" | 11 #include "ui/gl/gl_mock.h" |
| 12 | 12 |
| 13 namespace gpu { | 13 namespace gpu { |
| 14 namespace gles2 { | 14 namespace gles2 { |
| 15 | 15 |
| 16 using ::testing::Return; | 16 using ::testing::Return; |
| 17 using ::testing::NotNull; | 17 using ::testing::NotNull; |
| 18 using ::testing::AtLeast; | 18 using ::testing::AtLeast; |
| 19 using ::testing::Invoke; | 19 using ::testing::Invoke; |
| 20 using ::testing::_; | 20 using ::testing::_; |
| 21 | 21 |
| 22 class MockOutputter : public Outputter { | 22 class MockOutputter : public Outputter { |
| 23 public: | 23 public: |
| 24 MockOutputter() {} | 24 MockOutputter() {} |
| 25 MOCK_METHOD3(Trace, | 25 MOCK_METHOD4(Trace, |
| 26 void(const std::string& name, int64 start_time, int64 end_time)); | 26 void(const std::string& category, const std::string& name, |
| 27 int64 start_time, int64 end_time)); |
| 27 | 28 |
| 28 protected: | 29 protected: |
| 29 ~MockOutputter() {} | 30 ~MockOutputter() {} |
| 30 }; | 31 }; |
| 31 | 32 |
| 32 class GlFakeQueries { | 33 class GlFakeQueries { |
| 33 public: | 34 public: |
| 34 GlFakeQueries() {} | 35 GlFakeQueries() {} |
| 35 | 36 |
| 36 void Reset() { | 37 void Reset() { |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 | 107 |
| 107 /////////////////////////////////////////////////////////////////////////// | 108 /////////////////////////////////////////////////////////////////////////// |
| 108 | 109 |
| 109 void DoTraceTest() { | 110 void DoTraceTest() { |
| 110 MockOutputter* outputter = new MockOutputter(); | 111 MockOutputter* outputter = new MockOutputter(); |
| 111 scoped_refptr<Outputter> outputter_ref = outputter; | 112 scoped_refptr<Outputter> outputter_ref = outputter; |
| 112 | 113 |
| 113 SetupTimerQueryMocks(); | 114 SetupTimerQueryMocks(); |
| 114 | 115 |
| 115 // Expected results | 116 // Expected results |
| 117 const std::string category_name("trace_category"); |
| 116 const std::string trace_name("trace_test"); | 118 const std::string trace_name("trace_test"); |
| 117 const int64 offset_time = 3231; | 119 const int64 offset_time = 3231; |
| 118 const GLint64 start_timestamp = 7 * base::Time::kNanosecondsPerMicrosecond; | 120 const GLint64 start_timestamp = 7 * base::Time::kNanosecondsPerMicrosecond; |
| 119 const GLint64 end_timestamp = 32 * base::Time::kNanosecondsPerMicrosecond; | 121 const GLint64 end_timestamp = 32 * base::Time::kNanosecondsPerMicrosecond; |
| 120 const int64 expect_start_time = | 122 const int64 expect_start_time = |
| 121 (start_timestamp / base::Time::kNanosecondsPerMicrosecond) + | 123 (start_timestamp / base::Time::kNanosecondsPerMicrosecond) + |
| 122 offset_time; | 124 offset_time; |
| 123 const int64 expect_end_time = | 125 const int64 expect_end_time = |
| 124 (end_timestamp / base::Time::kNanosecondsPerMicrosecond) + offset_time; | 126 (end_timestamp / base::Time::kNanosecondsPerMicrosecond) + offset_time; |
| 125 | 127 |
| 126 // Expected Outputter::Trace call | 128 // Expected Outputter::Trace call |
| 127 EXPECT_CALL(*outputter, | 129 EXPECT_CALL(*outputter, |
| 128 Trace(trace_name, expect_start_time, expect_end_time)); | 130 Trace(category_name, trace_name, |
| 131 expect_start_time, expect_end_time)); |
| 129 | 132 |
| 130 scoped_refptr<GPUTrace> trace = | 133 scoped_refptr<GPUTrace> trace = |
| 131 new GPUTrace(outputter_ref, trace_name, offset_time, | 134 new GPUTrace(outputter_ref, category_name, trace_name, |
| 132 GetTracerType()); | 135 offset_time, GetTracerType()); |
| 133 | 136 |
| 134 gl_fake_queries_.SetCurrentGLTime(start_timestamp); | 137 gl_fake_queries_.SetCurrentGLTime(start_timestamp); |
| 135 trace->Start(); | 138 trace->Start(); |
| 136 | 139 |
| 137 // Shouldn't be available before End() call | 140 // Shouldn't be available before End() call |
| 138 gl_fake_queries_.SetCurrentGLTime(end_timestamp); | 141 gl_fake_queries_.SetCurrentGLTime(end_timestamp); |
| 139 EXPECT_FALSE(trace->IsAvailable()); | 142 EXPECT_FALSE(trace->IsAvailable()); |
| 140 | 143 |
| 141 trace->End(); | 144 trace->End(); |
| 142 | 145 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 | 218 |
| 216 TEST_F(GpuDisjointTimerTracerTest, GPUTrace) { | 219 TEST_F(GpuDisjointTimerTracerTest, GPUTrace) { |
| 217 // Test basic timer query functionality | 220 // Test basic timer query functionality |
| 218 { | 221 { |
| 219 DoTraceTest(); | 222 DoTraceTest(); |
| 220 } | 223 } |
| 221 } | 224 } |
| 222 | 225 |
| 223 } // namespace gles2 | 226 } // namespace gles2 |
| 224 } // namespace gpu | 227 } // namespace gpu |
| OLD | NEW |