Merge "VTS: Subscribe to death notification of HAL service"

am: 41e05b27a7

Change-Id: Ied99a7c37232e16509df2e713d4c3341ad5ef846
This commit is contained in:
Jack He 2018-11-05 19:27:12 -08:00 committed by android-build-merger
commit 880de12aa4

View file

@ -29,6 +29,7 @@
#include <queue>
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<uint8_t> 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<BluetoothHidlTest>,
@ -260,6 +275,7 @@ class BluetoothHidlTest : public ::testing::VtsHalHidlTargetTestBase {
sp<IBluetoothHci> bluetooth;
sp<BluetoothHciCallbacks> bluetooth_cb;
sp<BluetoothHciDeathRecipient> bluetooth_hci_death_recipient;
std::queue<hidl_vec<uint8_t>> event_queue;
std::queue<hidl_vec<uint8_t>> acl_queue;
std::queue<hidl_vec<uint8_t>> sco_queue;