| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/debug/activity_tracker.h" | 5 #include "base/debug/activity_tracker.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file.h" | 10 #include "base/files/file.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 return GlobalActivityTracker::Get()->user_data_allocator_.cache_used(); | 84 return GlobalActivityTracker::Get()->user_data_allocator_.cache_used(); |
| 85 } | 85 } |
| 86 | 86 |
| 87 static void DoNothing() {} | 87 static void DoNothing() {} |
| 88 }; | 88 }; |
| 89 | 89 |
| 90 TEST_F(ActivityTrackerTest, UserDataTest) { | 90 TEST_F(ActivityTrackerTest, UserDataTest) { |
| 91 char buffer[256]; | 91 char buffer[256]; |
| 92 memset(buffer, 0, sizeof(buffer)); | 92 memset(buffer, 0, sizeof(buffer)); |
| 93 ActivityUserData data(buffer, sizeof(buffer)); | 93 ActivityUserData data(buffer, sizeof(buffer)); |
| 94 ASSERT_EQ(sizeof(buffer) - 8, data.available_); | 94 const size_t space = sizeof(buffer) - 8; |
| 95 ASSERT_EQ(space, data.available_); |
| 95 | 96 |
| 96 data.SetInt("foo", 1); | 97 data.SetInt("foo", 1); |
| 97 ASSERT_EQ(sizeof(buffer) - 8 - 24, data.available_); | 98 ASSERT_EQ(space - 24, data.available_); |
| 98 | 99 |
| 99 data.SetUint("b", 1U); // Small names fit beside header in a word. | 100 data.SetUint("b", 1U); // Small names fit beside header in a word. |
| 100 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16, data.available_); | 101 ASSERT_EQ(space - 24 - 16, data.available_); |
| 101 | 102 |
| 102 data.Set("c", buffer, 10); | 103 data.Set("c", buffer, 10); |
| 103 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24, data.available_); | 104 ASSERT_EQ(space - 24 - 16 - 24, data.available_); |
| 104 | 105 |
| 105 data.SetString("dear john", "it's been fun"); | 106 data.SetString("dear john", "it's been fun"); |
| 106 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32, data.available_); | 107 ASSERT_EQ(space - 24 - 16 - 24 - 32, data.available_); |
| 107 | 108 |
| 108 data.Set("c", buffer, 20); | 109 data.Set("c", buffer, 20); |
| 109 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32, data.available_); | 110 ASSERT_EQ(space - 24 - 16 - 24 - 32, data.available_); |
| 110 | 111 |
| 111 data.SetString("dear john", "but we're done together"); | 112 data.SetString("dear john", "but we're done together"); |
| 112 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32, data.available_); | 113 ASSERT_EQ(space - 24 - 16 - 24 - 32, data.available_); |
| 113 | 114 |
| 114 data.SetString("dear john", "bye"); | 115 data.SetString("dear john", "bye"); |
| 115 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32, data.available_); | 116 ASSERT_EQ(space - 24 - 16 - 24 - 32, data.available_); |
| 116 | 117 |
| 117 data.SetChar("d", 'x'); | 118 data.SetChar("d", 'x'); |
| 118 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32 - 8, data.available_); | 119 ASSERT_EQ(space - 24 - 16 - 24 - 32 - 8, data.available_); |
| 119 | 120 |
| 120 data.SetBool("ee", true); | 121 data.SetBool("ee", true); |
| 121 ASSERT_EQ(sizeof(buffer) - 8 - 24 - 16 - 24 - 32 - 8 - 16, data.available_); | 122 ASSERT_EQ(space - 24 - 16 - 24 - 32 - 8 - 16, data.available_); |
| 123 |
| 124 data.SetString("f", ""); |
| 125 ASSERT_EQ(space - 24 - 16 - 24 - 32 - 8 - 16 - 8, data.available_); |
| 122 } | 126 } |
| 123 | 127 |
| 124 TEST_F(ActivityTrackerTest, PushPopTest) { | 128 TEST_F(ActivityTrackerTest, PushPopTest) { |
| 125 std::unique_ptr<ThreadActivityTracker> tracker = CreateActivityTracker(); | 129 std::unique_ptr<ThreadActivityTracker> tracker = CreateActivityTracker(); |
| 126 ThreadActivityTracker::Snapshot snapshot; | 130 ThreadActivityTracker::Snapshot snapshot; |
| 127 | 131 |
| 128 ASSERT_TRUE(tracker->CreateSnapshot(&snapshot)); | 132 ASSERT_TRUE(tracker->CreateSnapshot(&snapshot)); |
| 129 ASSERT_EQ(0U, snapshot.activity_stack_depth); | 133 ASSERT_EQ(0U, snapshot.activity_stack_depth); |
| 130 ASSERT_EQ(0U, snapshot.activity_stack.size()); | 134 ASSERT_EQ(0U, snapshot.activity_stack.size()); |
| 131 | 135 |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 EXPECT_EQ(starting_inactive, GetGlobalInactiveTrackerCount()); | 331 EXPECT_EQ(starting_inactive, GetGlobalInactiveTrackerCount()); |
| 328 | 332 |
| 329 t2.Exit(); | 333 t2.Exit(); |
| 330 t2.Join(); | 334 t2.Join(); |
| 331 EXPECT_EQ(starting_active, GetGlobalActiveTrackerCount()); | 335 EXPECT_EQ(starting_active, GetGlobalActiveTrackerCount()); |
| 332 EXPECT_EQ(starting_inactive + 1, GetGlobalInactiveTrackerCount()); | 336 EXPECT_EQ(starting_inactive + 1, GetGlobalInactiveTrackerCount()); |
| 333 } | 337 } |
| 334 | 338 |
| 335 } // namespace debug | 339 } // namespace debug |
| 336 } // namespace base | 340 } // namespace base |
| OLD | NEW |