metricsd: Make the unit tests pass.
This cleans up the unit tests and update them to pass.
Cleaned up:
* removed the irrelevant bits.
* Used ScopedTempDir for all test specific files (instead of the current
directory).
* Update some objects to make them more easily testable.
* Group all the test in a single binary and use bionic's test runner.
BUG: 23682444
Change-Id: I289e3a5ff89968fdecd4a156e93bc38bbc25f58b
diff --git a/metricsd/persistent_integer.h b/metricsd/persistent_integer.h
index fec001f..ecef3d1 100644
--- a/metricsd/persistent_integer.h
+++ b/metricsd/persistent_integer.h
@@ -50,10 +50,9 @@
// Virtual only because of mock.
virtual void Add(int64_t x);
- // After calling with |testing| = true, changes some behavior for the purpose
- // of testing. For instance: instances created while testing use the current
- // directory for the backing files.
- static void SetTestingMode(bool testing);
+ // Sets the directory path for all persistent integers.
+ // This is used in unittests to change where the counters are stored.
+ static void SetMetricsDirectory(const std::string& directory);
private:
static const int kVersion = 1001;
@@ -70,8 +69,8 @@
int32_t version_;
std::string name_;
std::string backing_file_name_;
+ static std::string metrics_directory_;
bool synced_;
- static bool testing_;
};
} // namespace chromeos_metrics