From fac144bb802ebbea2b2b22d24348c029d3c0037f Mon Sep 17 00:00:00 2001 From: Jack He Date: Fri, 12 Oct 2018 12:54:37 -0700 Subject: [PATCH] VTS: Subscribe to death notification of HAL service Test: make, run HciReset test Change-Id: I03bfc115e2330eb92608c8020edfda898902eec8 --- .../functional/VtsHalBluetoothV1_0TargetTest.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.cpp b/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.cpp index ae84ec2bc5..88d42340e0 100644 --- a/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.cpp +++ b/bluetooth/1.0/vts/functional/VtsHalBluetoothV1_0TargetTest.cpp @@ -29,6 +29,7 @@ #include using ::android::sp; +using ::android::hardware::hidl_death_recipient; using ::android::hardware::hidl_vec; using ::android::hardware::Return; using ::android::hardware::Void; @@ -157,6 +158,11 @@ class BluetoothHidlTest : public ::testing::VtsHalHidlTargetTestBase { ALOGI("%s: getService() for bluetooth is %s", __func__, bluetooth->isRemote() ? "remote" : "local"); + bluetooth_hci_death_recipient = new BluetoothHciDeathRecipient(); + ASSERT_NE(bluetooth_hci_death_recipient, nullptr); + ASSERT_TRUE( + bluetooth->linkToDeath(bluetooth_hci_death_recipient, 0).isOk()); + bluetooth_cb = new BluetoothHciCallbacks(*this); ASSERT_NE(bluetooth_cb, nullptr); @@ -214,6 +220,15 @@ class BluetoothHidlTest : public ::testing::VtsHalHidlTargetTestBase { void wait_for_command_complete_event(hidl_vec cmd); int wait_for_completed_packets_event(uint16_t handle); + class BluetoothHciDeathRecipient : public hidl_death_recipient { + public: + virtual void serviceDied( + uint64_t /*cookie*/, + const android::wp<::android::hidl::base::V1_0::IBase>& /*who*/) { + FAIL(); + } + }; + // A simple test implementation of BluetoothHciCallbacks. class BluetoothHciCallbacks : public ::testing::VtsHalHidlTargetCallbackBase, @@ -260,6 +275,7 @@ class BluetoothHidlTest : public ::testing::VtsHalHidlTargetTestBase { sp bluetooth; sp bluetooth_cb; + sp bluetooth_hci_death_recipient; std::queue> event_queue; std::queue> acl_queue; std::queue> sco_queue;