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

Unified Diff: chrome/common/metrics/metrics_log_manager_unittest.cc

Issue 9396001: Begin to separate the MetricsService logic for creating vs uploading logs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/metrics/metrics_log_manager_unittest.cc
diff --git a/chrome/common/metrics/metrics_log_manager_unittest.cc b/chrome/common/metrics/metrics_log_manager_unittest.cc
index 0373186b16c1e6d130456ff26de90ee24a6fa35e..9f957b6653f420aded7f49703b842cf1c6678758 100644
--- a/chrome/common/metrics/metrics_log_manager_unittest.cc
+++ b/chrome/common/metrics/metrics_log_manager_unittest.cc
@@ -47,23 +47,27 @@ TEST(MetricsLogManagerTest, StandardFlow) {
// Check that the normal flow works.
MetricsLogBase* initial_log = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(initial_log);
+ log_manager.BeginLoggingWithLog(initial_log, MetricsLogManager::INITIAL_LOG);
EXPECT_EQ(initial_log, log_manager.current_log());
EXPECT_FALSE(log_manager.has_staged_log());
- log_manager.StageCurrentLogForUpload();
+ log_manager.FinishCurrentLog();
EXPECT_EQ(NULL, log_manager.current_log());
- EXPECT_TRUE(log_manager.has_staged_log());
- EXPECT_FALSE(log_manager.staged_log_text().empty());
+ EXPECT_TRUE(log_manager.has_unsent_logs());
+ EXPECT_FALSE(log_manager.has_staged_log());
MetricsLogBase* second_log = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(second_log);
+ log_manager.BeginLoggingWithLog(second_log, MetricsLogManager::ONGOING_LOG);
EXPECT_EQ(second_log, log_manager.current_log());
+
+ log_manager.StageNextLogForUpload();
EXPECT_TRUE(log_manager.has_staged_log());
+ EXPECT_FALSE(log_manager.staged_log_text().empty());
log_manager.DiscardStagedLog();
EXPECT_EQ(second_log, log_manager.current_log());
EXPECT_FALSE(log_manager.has_staged_log());
+ EXPECT_FALSE(log_manager.has_unsent_logs());
EXPECT_TRUE(log_manager.staged_log_text().empty());
EXPECT_FALSE(log_manager.has_unsent_logs());
@@ -73,7 +77,7 @@ TEST(MetricsLogManagerTest, AbandonedLog) {
MetricsLogManager log_manager;
MetricsLogBase* dummy_log = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(dummy_log);
+ log_manager.BeginLoggingWithLog(dummy_log, MetricsLogManager::INITIAL_LOG);
EXPECT_EQ(dummy_log, log_manager.current_log());
log_manager.DiscardCurrentLog();
@@ -87,24 +91,23 @@ TEST(MetricsLogManagerTest, InterjectedLog) {
MetricsLogBase* ongoing_log = new MetricsLogBase("id", 0, "version");
MetricsLogBase* temp_log = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(ongoing_log);
+ log_manager.BeginLoggingWithLog(ongoing_log, MetricsLogManager::ONGOING_LOG);
EXPECT_EQ(ongoing_log, log_manager.current_log());
log_manager.PauseCurrentLog();
EXPECT_EQ(NULL, log_manager.current_log());
- log_manager.BeginLoggingWithLog(temp_log);
+ log_manager.BeginLoggingWithLog(temp_log, MetricsLogManager::INITIAL_LOG);
EXPECT_EQ(temp_log, log_manager.current_log());
- log_manager.StageCurrentLogForUpload();
- EXPECT_TRUE(log_manager.has_staged_log());
- log_manager.DiscardStagedLog();
+ log_manager.FinishCurrentLog();
EXPECT_EQ(NULL, log_manager.current_log());
- EXPECT_FALSE(log_manager.has_staged_log());
log_manager.ResumePausedLog();
EXPECT_EQ(ongoing_log, log_manager.current_log());
- EXPECT_FALSE(log_manager.has_staged_log());
+ EXPECT_FALSE(log_manager.has_staged_log());
+ log_manager.StageNextLogForUpload();
+ log_manager.DiscardStagedLog();
EXPECT_FALSE(log_manager.has_unsent_logs());
}
@@ -126,12 +129,12 @@ TEST(MetricsLogManagerTest, StoreAndLoad) {
MetricsLogBase* log1 = new MetricsLogBase("id", 0, "version");
MetricsLogBase* log2 = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(log1);
- log_manager.StageCurrentLogForUpload();
- log_manager.BeginLoggingWithLog(log2);
- log_manager.StoreStagedLogAsUnsent(MetricsLogManager::INITIAL_LOG);
- log_manager.StageCurrentLogForUpload();
- log_manager.StoreStagedLogAsUnsent(MetricsLogManager::ONGOING_LOG);
+ log_manager.BeginLoggingWithLog(log1, MetricsLogManager::INITIAL_LOG);
+ log_manager.FinishCurrentLog();
+ log_manager.BeginLoggingWithLog(log2, MetricsLogManager::ONGOING_LOG);
+ log_manager.StageNextLogForUpload();
+ log_manager.StoreStagedLogAsUnsent();
+ log_manager.FinishCurrentLog();
// Nothing should be written out until PersistUnsentLogs is called.
EXPECT_EQ(0U, serializer->TypeCount(MetricsLogManager::INITIAL_LOG));
@@ -160,7 +163,7 @@ TEST(MetricsLogManagerTest, StoreAndLoad) {
log_manager.LoadPersistedUnsentLogs();
EXPECT_TRUE(log_manager.has_unsent_logs());
- log_manager.StageNextStoredLogForUpload();
+ log_manager.StageNextLogForUpload();
log_manager.DiscardStagedLog();
// The initial log should be sent first; update the persisted storage to
// verify.
@@ -169,12 +172,12 @@ TEST(MetricsLogManagerTest, StoreAndLoad) {
EXPECT_EQ(2U, serializer->TypeCount(MetricsLogManager::ONGOING_LOG));
// Handle the first ongoing log.
- log_manager.StageNextStoredLogForUpload();
+ log_manager.StageNextLogForUpload();
log_manager.DiscardStagedLog();
EXPECT_TRUE(log_manager.has_unsent_logs());
// Handle the last log.
- log_manager.StageNextStoredLogForUpload();
+ log_manager.StageNextLogForUpload();
log_manager.DiscardStagedLog();
EXPECT_FALSE(log_manager.has_unsent_logs());
@@ -197,12 +200,10 @@ TEST(MetricsLogManagerTest, LargeLogDiscarding) {
MetricsLogBase* log1 = new MetricsLogBase("id", 0, "version");
MetricsLogBase* log2 = new MetricsLogBase("id", 0, "version");
- log_manager.BeginLoggingWithLog(log1);
- log_manager.StageCurrentLogForUpload();
- log_manager.BeginLoggingWithLog(log2);
- log_manager.StoreStagedLogAsUnsent(MetricsLogManager::INITIAL_LOG);
- log_manager.StageCurrentLogForUpload();
- log_manager.StoreStagedLogAsUnsent(MetricsLogManager::ONGOING_LOG);
+ log_manager.BeginLoggingWithLog(log1, MetricsLogManager::INITIAL_LOG);
+ log_manager.FinishCurrentLog();
+ log_manager.BeginLoggingWithLog(log2, MetricsLogManager::ONGOING_LOG);
+ log_manager.FinishCurrentLog();
// Only the ongoing log should be written out, due to the threshold.
log_manager.PersistUnsentLogs();

Powered by Google App Engine
This is Rietveld 408576698