Fix HidlReturnRestriction for operator= case.
elsk@ noticed we were missing this case.
Bug: N/A
Test: added test fails w/o fix, but now succeeds
Change-Id: I2984e7b680144a7fe0d243e45be80461149176c8
diff --git a/test_main.cpp b/test_main.cpp
index fc71231..e4cdd29 100644
--- a/test_main.cpp
+++ b/test_main.cpp
@@ -546,6 +546,36 @@
"");
}
+TEST_F(LibHidlTest, DetectUncheckedReturn) {
+ using ::android::hardware::HidlReturnRestriction;
+ using ::android::hardware::Return;
+ using ::android::hardware::setProcessHidlReturnRestriction;
+ using ::android::hardware::Status;
+
+ setProcessHidlReturnRestriction(HidlReturnRestriction::FATAL_IF_UNCHECKED);
+
+ EXPECT_DEATH(
+ {
+ auto ret = Return<void>(Status::ok());
+ (void)ret;
+ },
+ "");
+ EXPECT_DEATH(
+ {
+ auto ret = Return<void>(Status::ok());
+ ret = Return<void>(Status::ok());
+ ret.isOk();
+ },
+ "");
+
+ auto ret = Return<void>(Status::ok());
+ (void)ret.isOk();
+ ret = Return<void>(Status::ok());
+ (void)ret.isOk();
+
+ setProcessHidlReturnRestriction(HidlReturnRestriction::NONE);
+}
+
std::string toString(const ::android::hardware::Status &s) {
using ::android::hardware::operator<<;
std::ostringstream oss;