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/Android.mk b/metricsd/Android.mk
index 89fa222..12dfa18 100644
--- a/metricsd/Android.mk
+++ b/metricsd/Android.mk
@@ -41,6 +41,28 @@
serialization/metric_sample.cc \
serialization/serialization_utils.cc
+metrics_tests_sources := \
+ metrics_daemon.cc \
+ metrics_daemon_test.cc \
+ metrics_library_test.cc \
+ persistent_integer.cc \
+ persistent_integer_test.cc \
+ serialization/metric_sample.cc \
+ serialization/serialization_utils.cc \
+ serialization/serialization_utils_unittest.cc \
+ timer.cc \
+ timer_test.cc \
+ uploader/metrics_hashes.cc \
+ uploader/metrics_hashes_unittest.cc \
+ uploader/metrics_log_base.cc \
+ uploader/metrics_log_base_unittest.cc \
+ uploader/metrics_log.cc \
+ uploader/mock/sender_mock.cc \
+ uploader/sender_http.cc \
+ uploader/system_profile_cache.cc \
+ uploader/upload_service.cc \
+ uploader/upload_service_test.cc \
+
metrics_CFLAGS := -Wall \
-Wno-char-subscripts \
-Wno-missing-field-initializers \
@@ -125,4 +147,25 @@
include $(BUILD_PREBUILT)
endif # INITRC_TEMPLATE
+# Unit tests for metrics.
+# ========================================================
+include $(CLEAR_VARS)
+LOCAL_MODULE := metrics_tests
+LOCAL_CFLAGS := $(metrics_CFLAGS)
+LOCAL_CPP_EXTENSION := $(metrics_cpp_extension)
+LOCAL_CPPFLAGS := $(metrics_CPPFLAGS) -Wno-sign-compare
+LOCAL_RTTI_FLAG := -frtti
+LOCAL_SHARED_LIBRARIES := $(metrics_shared_libraries) \
+ libmetrics \
+ libprotobuf-cpp-lite \
+ libchromeos-http \
+ libchromeos-dbus \
+ libcutils \
+ libdbus \
+
+LOCAL_SRC_FILES := $(metrics_tests_sources)
+LOCAL_STATIC_LIBRARIES := libBionicGtestMain libgmock metrics_daemon_protos
+
+include $(BUILD_NATIVE_TEST)
+
endif # HOST_OS == linux