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

Side by Side Diff: base/debug/activity_tracker_unittest.cc

Issue 2255503002: New cache for the activity tracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: some clean up Created 4 years, 4 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 unified diff | Download patch
OLDNEW
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 22 matching lines...) Expand all
33 33
34 ~TestActivityTracker() override {} 34 ~TestActivityTracker() override {}
35 35
36 private: 36 private:
37 std::unique_ptr<char[]> mem_segment_; 37 std::unique_ptr<char[]> mem_segment_;
38 }; 38 };
39 39
40 } // namespace 40 } // namespace
41 41
42 42
43 TEST(LockFreeSimpleFifo, PushPopTest) {
44 LockFreeSimpleFifo<int, 10, -1> fifo;
45 ASSERT_EQ(0U, fifo.used());
46 ASSERT_EQ(10U, fifo.size());
47
48 fifo.push(1001);
49 EXPECT_EQ(1U, fifo.used());
50 EXPECT_EQ(10U, fifo.size());
51
52 fifo.push(2002);
53 EXPECT_EQ(2U, fifo.used());
54 EXPECT_EQ(10U, fifo.size());
55
56 int value = fifo.pop();
57 EXPECT_EQ(1001, value);
58 EXPECT_EQ(1U, fifo.used());
59 EXPECT_EQ(10U, fifo.size());
60
61 value = fifo.pop();
62 EXPECT_EQ(2002, value);
63 EXPECT_EQ(0U, fifo.used());
64 EXPECT_EQ(10U, fifo.size());
65
66 value = fifo.pop();
67 EXPECT_EQ(-1, value);
68 }
69
70
43 class ActivityTrackerTest : public testing::Test { 71 class ActivityTrackerTest : public testing::Test {
44 public: 72 public:
45 const int kMemorySize = 1 << 10; // 1MiB 73 const int kMemorySize = 1 << 10; // 1MiB
46 const int kStackSize = 1 << 10; // 1KiB 74 const int kStackSize = 1 << 10; // 1KiB
47 75
48 ActivityTrackerTest() {} 76 ActivityTrackerTest() {}
49 77
50 ~ActivityTrackerTest() override { 78 ~ActivityTrackerTest() override {
51 GlobalActivityTracker* global_tracker = GlobalActivityTracker::Get(); 79 GlobalActivityTracker* global_tracker = GlobalActivityTracker::Get();
52 if (global_tracker) { 80 if (global_tracker) {
(...skipping 12 matching lines...) Expand all
65 if (!global_tracker) 93 if (!global_tracker)
66 return 0; 94 return 0;
67 return global_tracker->thread_tracker_count_.load( 95 return global_tracker->thread_tracker_count_.load(
68 std::memory_order_relaxed); 96 std::memory_order_relaxed);
69 } 97 }
70 98
71 size_t GetGlobalInactiveTrackerCount() { 99 size_t GetGlobalInactiveTrackerCount() {
72 GlobalActivityTracker* global_tracker = GlobalActivityTracker::Get(); 100 GlobalActivityTracker* global_tracker = GlobalActivityTracker::Get();
73 if (!global_tracker) 101 if (!global_tracker)
74 return 0; 102 return 0;
75 return global_tracker->available_memories_count_.load( 103 return global_tracker->available_memories_.used();
76 std::memory_order_relaxed);
77 } 104 }
78 105
79 static void DoNothing() {} 106 static void DoNothing() {}
80 }; 107 };
81 108
82 TEST_F(ActivityTrackerTest, PushPopTest) { 109 TEST_F(ActivityTrackerTest, PushPopTest) {
83 std::unique_ptr<ThreadActivityTracker> tracker = CreateActivityTracker(); 110 std::unique_ptr<ThreadActivityTracker> tracker = CreateActivityTracker();
84 ActivitySnapshot snapshot; 111 ActivitySnapshot snapshot;
85 112
86 ASSERT_TRUE(tracker->Snapshot(&snapshot)); 113 ASSERT_TRUE(tracker->Snapshot(&snapshot));
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 EXPECT_EQ(starting_inactive, GetGlobalInactiveTrackerCount()); 307 EXPECT_EQ(starting_inactive, GetGlobalInactiveTrackerCount());
281 308
282 t2.Exit(); 309 t2.Exit();
283 t2.Join(); 310 t2.Join();
284 EXPECT_EQ(starting_active, GetGlobalActiveTrackerCount()); 311 EXPECT_EQ(starting_active, GetGlobalActiveTrackerCount());
285 EXPECT_EQ(starting_inactive + 1, GetGlobalInactiveTrackerCount()); 312 EXPECT_EQ(starting_inactive + 1, GetGlobalInactiveTrackerCount());
286 } 313 }
287 314
288 } // namespace debug 315 } // namespace debug
289 } // namespace base 316 } // namespace base
OLDNEW
« base/debug/activity_tracker.cc ('K') | « base/debug/activity_tracker.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698