aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deymo <deymo@google.com>2016-02-10 11:55:06 -0800
committerAlex Deymo <deymo@google.com>2016-02-10 11:57:55 -0800
commit3f9df0d3c7c771b124c8d4eac127cba8e4ad59eb (patch)
treef7bcd47d794e51130fa301ad68daa9616ae05fe7
parent1c82fec48baf0041d66494c9a3748f34fbbee20c (diff)
downloadmetricsd-3f9df0d3c7c771b124c8d4eac127cba8e4ad59eb.tar.gz
Fix UploadService unittests.
The unittest was creating a brillo::Daemon in a smart pointer and then resetting it to a newly created different brillo::Daemon instance. This creates two brillo::Daemon instances for a short period of time, which both setup global context (the default message loop). This patch fixes this situation by deleting the service before creating a new one. Bug: 27121855 TEST=`/data/nativetest/metricsd_tests/metricsd_tests` on edison-eng Change-Id: I3b60cbfcdba77febbfa6104aa0ecad60a29afec5
-rw-r--r--uploader/upload_service_test.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/uploader/upload_service_test.cc b/uploader/upload_service_test.cc
index 70112f4..0f77fe4 100644
--- a/uploader/upload_service_test.cc
+++ b/uploader/upload_service_test.cc
@@ -304,6 +304,8 @@ TEST_F(UploadServiceTest, CurrentLogSavedAndResumed) {
upload_service_->PersistToDisk();
EXPECT_EQ(
1, upload_service_->current_log_->uma_proto()->histogram_event().size());
+ // Destroy the old service before creating a new one.
+ upload_service_.reset();
upload_service_.reset(new UploadService(
"", base::TimeDelta(), base::TimeDelta(), private_dir_, shared_dir_));
upload_service_->InitForTest(nullptr);
@@ -325,6 +327,8 @@ TEST_F(UploadServiceTest, CorruptedSavedLog) {
// Write a bogus saved log.
EXPECT_EQ(5, base::WriteFile(upload_service_->saved_log_path_, "hello", 5));
+ // Destroy the old service before creating a new one.
+ upload_service_.reset();
upload_service_.reset(new UploadService(
"", base::TimeDelta(), base::TimeDelta(), private_dir_, shared_dir_));