Tests for Return crashes.

Since I had edited this recently, but we only have manual tests for it.

Bug: N/A
Test: N/A
Change-Id: Ie60b6bd075ffb4f67f530e48b7f7a19dc82b3367
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;