Tests for Return crashes. am: 9cafed562a am: f13d1985d4
am: bcfdb3fbdf

Change-Id: Ib3873e4b822af4a8f8501bae261449aa8dd3eb7a
diff --git a/test_main.cpp b/test_main.cpp
index 6e96a42..af29f84 100644
--- a/test_main.cpp
+++ b/test_main.cpp
@@ -484,6 +484,22 @@
     EXPECT_EQ(three, ret.withDefault(three));
 }
 
+TEST_F(LibHidlTest, ReturnDies) {
+    using ::android::hardware::Return;
+    using ::android::hardware::Status;
+
+    EXPECT_DEATH({ Return<void>(Status::fromStatusT(-EBUSY)); }, "");
+    EXPECT_DEATH({ Return<void>(Status::fromStatusT(-EBUSY)).isDeadObject(); }, "");
+    EXPECT_DEATH(
+            {
+                Return<int> ret = Return<int>(Status::fromStatusT(-EBUSY));
+                int foo = ret;  // should crash here
+                (void)foo;
+                ret.isOk();
+            },
+            "");
+}
+
 std::string toString(const ::android::hardware::Status &s) {
     using ::android::hardware::operator<<;
     std::ostringstream oss;