MediaMetrics: Add standard error codes
Standard error strings are added to the accepted constants.
Added mapping method from status_t to string and back.
Test: atest mediametrics_tests
Bug: 199763036
Change-Id: Iae25729b342384f1981c082661d7829f6c33f0b6
diff --git a/services/mediametrics/tests/mediametrics_tests.cpp b/services/mediametrics/tests/mediametrics_tests.cpp
index 69ec947..cd6af9f 100644
--- a/services/mediametrics/tests/mediametrics_tests.cpp
+++ b/services/mediametrics/tests/mediametrics_tests.cpp
@@ -1225,3 +1225,29 @@
ASSERT_EQ(id, validateId.validateId(id));
}
}
+
+TEST(mediametrics_tests, ErrorConversion) {
+ constexpr status_t errors[] = {
+ NO_ERROR,
+ BAD_VALUE,
+ DEAD_OBJECT,
+ NO_MEMORY,
+ PERMISSION_DENIED,
+ INVALID_OPERATION,
+ WOULD_BLOCK,
+ UNKNOWN_ERROR,
+ };
+
+ auto roundTrip = [](status_t status) {
+ return android::mediametrics::errorStringToStatus(
+ android::mediametrics::statusToErrorString(status));
+ };
+
+ // Primary status error categories.
+ for (const auto error : errors) {
+ ASSERT_EQ(error, roundTrip(error));
+ }
+
+ // Status errors specially considered.
+ ASSERT_EQ(DEAD_OBJECT, roundTrip(FAILED_TRANSACTION));
+}