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

Side by Side Diff: components/metrics/serialization/serialization_utils_unittest.cc

Issue 2691803002: Remove ScopedVector in //component/metrics (Closed)
Patch Set: code rebase Created 3 years, 10 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 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 "components/metrics/serialization/serialization_utils.h" 5 #include "components/metrics/serialization/serialization_utils.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 121
122 int32_t message_size = message.length() + sizeof(int32_t); 122 int32_t message_size = message.length() + sizeof(int32_t);
123 test_file.WriteAtCurrentPos(reinterpret_cast<const char*>(&message_size), 123 test_file.WriteAtCurrentPos(reinterpret_cast<const char*>(&message_size),
124 sizeof(message_size)); 124 sizeof(message_size));
125 test_file.WriteAtCurrentPos(message.c_str(), message.length()); 125 test_file.WriteAtCurrentPos(message.c_str(), message.length());
126 test_file.Close(); 126 test_file.Close();
127 127
128 std::unique_ptr<MetricSample> crash = MetricSample::CrashSample("test"); 128 std::unique_ptr<MetricSample> crash = MetricSample::CrashSample("test");
129 SerializationUtils::WriteMetricToFile(*crash.get(), filename); 129 SerializationUtils::WriteMetricToFile(*crash.get(), filename);
130 130
131 ScopedVector<MetricSample> samples; 131 std::vector<std::unique_ptr<MetricSample>> samples;
132 SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &samples); 132 SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &samples);
133 ASSERT_EQ(size_t(1), samples.size()); 133 ASSERT_EQ(size_t(1), samples.size());
134 ASSERT_TRUE(samples[0] != NULL); 134 ASSERT_TRUE(samples[0].get() != nullptr);
135 EXPECT_TRUE(crash->IsEqual(*samples[0])); 135 EXPECT_TRUE(crash->IsEqual(*samples[0]));
136 } 136 }
137 137
138 TEST_F(SerializationUtilsTest, WriteReadTest) { 138 TEST_F(SerializationUtilsTest, WriteReadTest) {
139 std::unique_ptr<MetricSample> hist = 139 std::unique_ptr<MetricSample> hist =
140 MetricSample::HistogramSample("myhist", 1, 2, 3, 4); 140 MetricSample::HistogramSample("myhist", 1, 2, 3, 4);
141 std::unique_ptr<MetricSample> crash = MetricSample::CrashSample("mycrash"); 141 std::unique_ptr<MetricSample> crash = MetricSample::CrashSample("mycrash");
142 std::unique_ptr<MetricSample> lhist = 142 std::unique_ptr<MetricSample> lhist =
143 MetricSample::LinearHistogramSample("linear", 1, 10); 143 MetricSample::LinearHistogramSample("linear", 1, 10);
144 std::unique_ptr<MetricSample> shist = 144 std::unique_ptr<MetricSample> shist =
145 MetricSample::SparseHistogramSample("mysparse", 30); 145 MetricSample::SparseHistogramSample("mysparse", 30);
146 std::unique_ptr<MetricSample> action = 146 std::unique_ptr<MetricSample> action =
147 MetricSample::UserActionSample("myaction"); 147 MetricSample::UserActionSample("myaction");
148 148
149 SerializationUtils::WriteMetricToFile(*hist.get(), filename); 149 SerializationUtils::WriteMetricToFile(*hist.get(), filename);
150 SerializationUtils::WriteMetricToFile(*crash.get(), filename); 150 SerializationUtils::WriteMetricToFile(*crash.get(), filename);
151 SerializationUtils::WriteMetricToFile(*lhist.get(), filename); 151 SerializationUtils::WriteMetricToFile(*lhist.get(), filename);
152 SerializationUtils::WriteMetricToFile(*shist.get(), filename); 152 SerializationUtils::WriteMetricToFile(*shist.get(), filename);
153 SerializationUtils::WriteMetricToFile(*action.get(), filename); 153 SerializationUtils::WriteMetricToFile(*action.get(), filename);
154 ScopedVector<MetricSample> vect; 154 std::vector<std::unique_ptr<MetricSample>> vect;
155 SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &vect); 155 SerializationUtils::ReadAndTruncateMetricsFromFile(filename, &vect);
156 ASSERT_EQ(vect.size(), size_t(5)); 156 ASSERT_EQ(vect.size(), size_t(5));
157 for (MetricSample* sample : vect) { 157 for (auto& sample : vect) {
158 ASSERT_NE(nullptr, sample); 158 ASSERT_NE(nullptr, sample.get());
159 } 159 }
160 EXPECT_TRUE(hist->IsEqual(*vect[0])); 160 EXPECT_TRUE(hist->IsEqual(*vect[0]));
161 EXPECT_TRUE(crash->IsEqual(*vect[1])); 161 EXPECT_TRUE(crash->IsEqual(*vect[1]));
162 EXPECT_TRUE(lhist->IsEqual(*vect[2])); 162 EXPECT_TRUE(lhist->IsEqual(*vect[2]));
163 EXPECT_TRUE(shist->IsEqual(*vect[3])); 163 EXPECT_TRUE(shist->IsEqual(*vect[3]));
164 EXPECT_TRUE(action->IsEqual(*vect[4])); 164 EXPECT_TRUE(action->IsEqual(*vect[4]));
165 165
166 int64_t size = 0; 166 int64_t size = 0;
167 ASSERT_TRUE(base::GetFileSize(filepath, &size)); 167 ASSERT_TRUE(base::GetFileSize(filepath, &size));
168 ASSERT_EQ(0, size); 168 ASSERT_EQ(0, size);
169 } 169 }
170 170
171 } // namespace 171 } // namespace
172 } // namespace metrics 172 } // namespace metrics
OLDNEW
« no previous file with comments | « components/metrics/serialization/serialization_utils.cc ('k') | ios/chrome/today_extension/today_metrics_logger.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698