diff options
| author | 2018-11-16 14:38:29 -0800 | |
|---|---|---|
| committer | 2018-11-19 11:08:33 -0800 | |
| commit | c32c172462b63c07f73e607264f372279ba00f8c (patch) | |
| tree | c97a09b32bd82686c3bb0b5ae20bf3ff2b6291a3 | |
| parent | 2df4fb0e4ec2cbcf0339269e894eb435c353f44a (diff) | |
Rewrite BufferHubBuffer_test to avoid test crash
We noticed that ASSERT_XX is not going to terminate the tests if called
inside a hidl callback. Therefore, this CL is moving the checks outside
of the callback.
Test: BufferHubBuffer_test (passed)
Bug: none
Change-Id: I0960c801e6a4dd007bb1c1138871cd4b9547f68f
| -rw-r--r-- | libs/ui/tests/BufferHubBuffer_test.cpp | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/libs/ui/tests/BufferHubBuffer_test.cpp b/libs/ui/tests/BufferHubBuffer_test.cpp index 6af8033e76..d30636f8cc 100644 --- a/libs/ui/tests/BufferHubBuffer_test.cpp +++ b/libs/ui/tests/BufferHubBuffer_test.cpp @@ -156,20 +156,25 @@ TEST_F(BufferHubBufferTest, DuplicateBuffer) {      memcpy(&desc, &aDesc, sizeof(HardwareBufferDescription));      sp<IBufferClient> client; +    BufferHubStatus ret;      IBufferHub::allocateBuffer_cb alloc_cb = [&](const auto& outClient, const auto& status) { -        ASSERT_EQ(status, BufferHubStatus::NO_ERROR); -        ASSERT_NE(nullptr, outClient.get());          client = outClient; +        ret = status;      };      ASSERT_TRUE(bufferhub->allocateBuffer(desc, kUserMetadataSize, alloc_cb).isOk()); +    EXPECT_EQ(ret, BufferHubStatus::NO_ERROR); +    ASSERT_NE(nullptr, client.get()); -    IBufferClient::duplicate_cb dup_cb = [](const auto& token, const auto& status) { -        ASSERT_EQ(status, BufferHubStatus::NO_ERROR); -        ASSERT_NE(token.getNativeHandle(), nullptr); -        EXPECT_EQ(token->numInts, 1); -        EXPECT_EQ(token->numFds, 0); +    hidl_handle token; +    IBufferClient::duplicate_cb dup_cb = [&](const auto& outToken, const auto& status) { +        token = outToken; +        ret = status;      };      EXPECT_TRUE(client->duplicate(dup_cb).isOk()); +    EXPECT_EQ(ret, BufferHubStatus::NO_ERROR); +    ASSERT_NE(token.getNativeHandle(), nullptr); +    EXPECT_EQ(token->numInts, 1); +    EXPECT_EQ(token->numFds, 0);  }  } // namespace |