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

Side by Side Diff: components/upload_list/upload_list_unittest.cc

Issue 1405373002: Fix WebRTC log list errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review. Created 5 years, 2 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/upload_list/upload_list.h" 5 #include "components/upload_list/upload_list.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/strings/string_number_conversions.h" 11 #include "base/strings/string_number_conversions.h"
12 #include "base/threading/sequenced_worker_pool.h" 12 #include "base/threading/sequenced_worker_pool.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 // Test that UploadList can parse a vector of log entry strings to a vector of 16 namespace {
17 // UploadInfo objects. See the UploadList declaration for a description of the 17
18 // log entry string format. 18 const char kTestUploadTime[] = "1234567890";
19 TEST(UploadListTest, ParseLogEntries) { 19 const char kTestUploadId[] = "0123456789abcdef";
20 const char kTestTime[] = "1234567890"; 20 const char kTestLocalID[] = "fedcba9876543210";
21 const char kTestID[] = "0123456789abcdef"; 21 const char kTestCaptureTime[] = "2345678901";
22 std::string test_entry = kTestTime; 22
23 } // namespace
24
25 // These tests test that UploadList can parse a vector of log entry strings of
26 // various formats to a vector of UploadInfo objects. See the UploadList
27 // declaration for a description of the log entry string formats.
28
29 // Test log entry strings with upload time and upload ID.
30 // This is the format that crash reports are stored in.
31 TEST(UploadListTest, ParseUploadTimeUploadId) {
32 std::string test_entry = kTestUploadTime;
23 test_entry += ","; 33 test_entry += ",";
24 test_entry.append(kTestID, sizeof(kTestID)); 34 test_entry.append(kTestUploadId);
25 35
26 scoped_refptr<UploadList> upload_list = 36 scoped_refptr<UploadList> upload_list =
27 new UploadList(nullptr, base::FilePath(), nullptr); 37 new UploadList(nullptr, base::FilePath(), nullptr);
38
39 // 1 entry.
40 std::vector<std::string> log_entries;
41 log_entries.push_back(test_entry);
42 upload_list->ParseLogEntries(log_entries);
43 EXPECT_EQ(1u, upload_list->uploads_.size());
44 double time_double = upload_list->uploads_[0].upload_time.ToDoubleT();
45 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
46 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str());
47 EXPECT_STREQ("", upload_list->uploads_[0].local_id.c_str());
48 time_double = upload_list->uploads_[0].capture_time.ToDoubleT();
49 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
50
51 // Add 3 more entries.
stuartmorgan 2015/10/20 14:23:12 There's a ton of duplication in these tests now. H
Henrik Grunell 2015/10/21 08:33:40 Agree. Done.
52 log_entries.push_back(test_entry);
53 log_entries.push_back(test_entry);
54 upload_list->ParseLogEntries(log_entries);
55 EXPECT_EQ(4u, upload_list->uploads_.size());
56 time_double = upload_list->uploads_[3].upload_time.ToDoubleT();
57 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
58 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str());
59 EXPECT_STREQ("", upload_list->uploads_[3].local_id.c_str());
60 time_double = upload_list->uploads_[3].capture_time.ToDoubleT();
61 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
62 }
63
64 // Test log entry strings with upload time, upload ID and local ID.
65 // This is the old format that WebRTC logs were stored in.
66 TEST(UploadListTest, ParseUploadTimeUploadIdLocalId) {
67 std::string test_entry = kTestUploadTime;
68 test_entry += ",";
69 test_entry.append(kTestUploadId);
70 test_entry += ",";
71 test_entry.append(kTestLocalID);
72
73 scoped_refptr<UploadList> upload_list =
74 new UploadList(nullptr, base::FilePath(), nullptr);
75
76 // 1 entry.
77 std::vector<std::string> log_entries;
78 log_entries.push_back(test_entry);
79 upload_list->ParseLogEntries(log_entries);
80 EXPECT_EQ(1u, upload_list->uploads_.size());
81 double time_double = upload_list->uploads_[0].upload_time.ToDoubleT();
82 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
83 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str());
84 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str());
85 time_double = upload_list->uploads_[0].capture_time.ToDoubleT();
86 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
87
88 // Add 3 more entries.
89 log_entries.push_back(test_entry);
90 log_entries.push_back(test_entry);
91 upload_list->ParseLogEntries(log_entries);
92 EXPECT_EQ(4u, upload_list->uploads_.size());
93 time_double = upload_list->uploads_[3].upload_time.ToDoubleT();
94 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
95 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str());
96 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str());
97 time_double = upload_list->uploads_[3].capture_time.ToDoubleT();
98 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
99 }
100
101 // Test log entry strings with upload time, upload ID and capture time.
102 // This is the format that WebRTC logs that only have been uploaded only are
103 // stored in.
104 TEST(UploadListTest, ParseUploadTimeUploadIdCaptureTime) {
105 std::string test_entry = kTestUploadTime;
106 test_entry += ",";
107 test_entry.append(kTestUploadId);
108 test_entry += ",,";
109 test_entry.append(kTestCaptureTime);
110
111 scoped_refptr<UploadList> upload_list =
112 new UploadList(nullptr, base::FilePath(), nullptr);
28 113
29 // 1 entry. 114 // 1 entry.
30 std::vector<std::string> log_entries; 115 std::vector<std::string> log_entries;
31 log_entries.push_back(test_entry); 116 log_entries.push_back(test_entry);
32 upload_list->ParseLogEntries(log_entries); 117 upload_list->ParseLogEntries(log_entries);
33 EXPECT_EQ(1u, upload_list->uploads_.size()); 118 EXPECT_EQ(1u, upload_list->uploads_.size());
34 double time_double = upload_list->uploads_[0].time.ToDoubleT(); 119 double time_double = upload_list->uploads_[0].upload_time.ToDoubleT();
35 EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); 120 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
36 EXPECT_STREQ(kTestID, upload_list->uploads_[0].id.c_str()); 121 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str());
37 EXPECT_STREQ("", upload_list->uploads_[0].local_id.c_str()); 122 EXPECT_STREQ("", upload_list->uploads_[0].local_id.c_str());
123 time_double = upload_list->uploads_[0].capture_time.ToDoubleT();
124 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
38 125
39 // Add 3 more entries. 126 // Add 3 more entries.
40 log_entries.push_back(test_entry); 127 log_entries.push_back(test_entry);
41 log_entries.push_back(test_entry); 128 log_entries.push_back(test_entry);
42 upload_list->ParseLogEntries(log_entries); 129 upload_list->ParseLogEntries(log_entries);
43 EXPECT_EQ(4u, upload_list->uploads_.size()); 130 EXPECT_EQ(4u, upload_list->uploads_.size());
44 time_double = upload_list->uploads_[3].time.ToDoubleT(); 131 time_double = upload_list->uploads_[3].upload_time.ToDoubleT();
45 EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); 132 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
46 EXPECT_STREQ(kTestID, upload_list->uploads_[3].id.c_str()); 133 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str());
47 EXPECT_STREQ("", upload_list->uploads_[3].local_id.c_str()); 134 EXPECT_STREQ("", upload_list->uploads_[3].local_id.c_str());
135 time_double = upload_list->uploads_[3].capture_time.ToDoubleT();
136 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
48 } 137 }
49 138
50 TEST(UploadListTest, ParseLogEntriesWithLocalId) { 139 // Test log entry strings with local ID and capture time.
51 const char kTestTime[] = "1234567890"; 140 // This is the format that WebRTC logs that only is stored locally are stored
stuartmorgan 2015/10/20 14:23:12 s/is stored/are stored/
Henrik Grunell 2015/10/21 08:33:40 Done.
52 const char kTestID[] = "0123456789abcdef"; 141 // in.
53 const char kTestLocalID[] = "fedcba9876543210"; 142 TEST(UploadListTest, ParseLocalIdCaptureTime) {
54 std::string test_entry = kTestTime; 143 std::string test_entry = ",,";
144 test_entry.append(kTestLocalID);
55 test_entry += ","; 145 test_entry += ",";
56 test_entry.append(kTestID, sizeof(kTestID)); 146 test_entry.append(kTestCaptureTime);
57 test_entry += ",";
58 test_entry.append(kTestLocalID, sizeof(kTestLocalID));
59 147
60 scoped_refptr<UploadList> upload_list = 148 scoped_refptr<UploadList> upload_list =
61 new UploadList(nullptr, base::FilePath(), nullptr); 149 new UploadList(nullptr, base::FilePath(), nullptr);
150
151 // 1 entry.
152 std::vector<std::string> log_entries;
153 log_entries.push_back(test_entry);
154 upload_list->ParseLogEntries(log_entries);
155 EXPECT_EQ(1u, upload_list->uploads_.size());
156 double time_double = upload_list->uploads_[0].upload_time.ToDoubleT();
157 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
158 EXPECT_STREQ("", upload_list->uploads_[0].upload_id.c_str());
159 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str());
160 time_double = upload_list->uploads_[0].capture_time.ToDoubleT();
161 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
162
163 // Add 3 more entries.
164 log_entries.push_back(test_entry);
165 log_entries.push_back(test_entry);
166 upload_list->ParseLogEntries(log_entries);
167 EXPECT_EQ(4u, upload_list->uploads_.size());
168 time_double = upload_list->uploads_[3].upload_time.ToDoubleT();
169 EXPECT_STREQ("0", base::DoubleToString(time_double).c_str());
170 EXPECT_STREQ("", upload_list->uploads_[3].upload_id.c_str());
171 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str());
172 time_double = upload_list->uploads_[3].capture_time.ToDoubleT();
173 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
174 }
175
176 // Test log entry strings with upload time, upload ID, local ID and capture
177 // time.
178 // This is the format that WebRTC logs that is stored locally and have been
stuartmorgan 2015/10/20 14:23:12 s/is stored/are stored/
Henrik Grunell 2015/10/21 08:33:40 Done.
179 // uploaded are stored in.
180 TEST(UploadListTest, ParseUploadTimeUploadIdLocalIdCaptureTime) {
181 std::string test_entry = kTestUploadTime;
182 test_entry += ",";
183 test_entry.append(kTestUploadId);
184 test_entry += ",";
185 test_entry.append(kTestLocalID);
186 test_entry += ",";
187 test_entry.append(kTestCaptureTime);
188
189 scoped_refptr<UploadList> upload_list =
190 new UploadList(nullptr, base::FilePath(), nullptr);
62 191
63 // 1 entry. 192 // 1 entry.
64 std::vector<std::string> log_entries; 193 std::vector<std::string> log_entries;
65 log_entries.push_back(test_entry); 194 log_entries.push_back(test_entry);
66 upload_list->ParseLogEntries(log_entries); 195 upload_list->ParseLogEntries(log_entries);
67 EXPECT_EQ(1u, upload_list->uploads_.size()); 196 EXPECT_EQ(1u, upload_list->uploads_.size());
68 double time_double = upload_list->uploads_[0].time.ToDoubleT(); 197 double time_double = upload_list->uploads_[0].upload_time.ToDoubleT();
69 EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); 198 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
70 EXPECT_STREQ(kTestID, upload_list->uploads_[0].id.c_str()); 199 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[0].upload_id.c_str());
71 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str()); 200 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[0].local_id.c_str());
201 time_double = upload_list->uploads_[0].capture_time.ToDoubleT();
202 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
72 203
73 // Add 3 more entries. 204 // Add 3 more entries.
74 log_entries.push_back(test_entry); 205 log_entries.push_back(test_entry);
75 log_entries.push_back(test_entry); 206 log_entries.push_back(test_entry);
76 upload_list->ParseLogEntries(log_entries); 207 upload_list->ParseLogEntries(log_entries);
77 EXPECT_EQ(4u, upload_list->uploads_.size()); 208 EXPECT_EQ(4u, upload_list->uploads_.size());
78 time_double = upload_list->uploads_[3].time.ToDoubleT(); 209 time_double = upload_list->uploads_[3].upload_time.ToDoubleT();
79 EXPECT_STREQ(kTestTime, base::DoubleToString(time_double).c_str()); 210 EXPECT_STREQ(kTestUploadTime, base::DoubleToString(time_double).c_str());
80 EXPECT_STREQ(kTestID, upload_list->uploads_[3].id.c_str()); 211 EXPECT_STREQ(kTestUploadId, upload_list->uploads_[3].upload_id.c_str());
81 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str()); 212 EXPECT_STREQ(kTestLocalID, upload_list->uploads_[3].local_id.c_str());
213 time_double = upload_list->uploads_[3].capture_time.ToDoubleT();
214 EXPECT_STREQ(kTestCaptureTime, base::DoubleToString(time_double).c_str());
82 } 215 }
OLDNEW
« components/upload_list/upload_list.h ('K') | « components/upload_list/upload_list.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698