Return<T>::description() provide more descriptive text than numbers
Test: libhidl_test
Change-Id: Ib7c591f261bb335b9fe348dd2fb0695a94bdf468
diff --git a/test_main.cpp b/test_main.cpp
index 27d62a0..b799f6e 100644
--- a/test_main.cpp
+++ b/test_main.cpp
@@ -17,8 +17,10 @@
#define LOG_TAG "LibHidlTest"
#include <android-base/logging.h>
+#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <hidl/HidlSupport.h>
+#include <hidl/Status.h>
#include <hidl/TaskRunner.h>
#include <vector>
@@ -344,6 +346,33 @@
ret.isOk();
}
+std::string toString(const ::android::hardware::Status &s) {
+ using ::android::hardware::operator<<;
+ std::ostringstream oss;
+ oss << s;
+ return oss.str();
+}
+
+TEST_F(LibHidlTest, StatusStringTest) {
+ using namespace ::android;
+ using ::android::hardware::Status;
+ using ::testing::HasSubstr;
+
+ EXPECT_EQ(toString(Status::ok()), "No error");
+
+ EXPECT_THAT(toString(Status::fromStatusT(DEAD_OBJECT)), HasSubstr("DEAD_OBJECT"));
+
+ EXPECT_THAT(toString(Status::fromStatusT(-EBUSY)), HasSubstr("busy"));
+
+ auto s = toString(Status::fromServiceSpecificError(20));
+ EXPECT_THAT(s, HasSubstr("EX_SERVICE_SPECIFIC"));
+ EXPECT_THAT(s, HasSubstr("20"));
+
+ EXPECT_THAT(toString(Status::fromExceptionCode(Status::EX_NULL_POINTER)),
+ HasSubstr("EX_NULL_POINTER"));
+
+}
+
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();