diff --git a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_call_util.h b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_call_util.h index 2f71ccba65..53628d20e1 100644 --- a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_call_util.h +++ b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_call_util.h @@ -97,6 +97,14 @@ typename functionArgSaver::StorageT invokeMethod( EXPECT_TRUE(res.isOk()); return result_buffer.saved_values; } + +// Invokes |void method| on |object| without arguments. +template +void invokeVoidMethodWithoutArguments(MethodT method, ObjectT object) { + const auto& res = ((*object).*method)(); + EXPECT_TRUE(res.isOk()); +} + } // namespace detail } // namespace @@ -125,3 +133,9 @@ typename functionArgSaver::StorageT invokeMethod( std::remove_reference::type::method##_cb>( \ &std::remove_reference::type::method, \ strong_pointer, ##__VA_ARGS__)) + +// Invokes |void method| on |strong_pointer| without arguments. +#define HIDL_INVOKE_VOID_WITHOUT_ARGUMENTS(strong_pointer, method) \ + (detail::invokeVoidMethodWithoutArguments( \ + &std::remove_reference::type::method, \ + strong_pointer)) diff --git a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test.cpp b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test.cpp index 8ee71fb805..a4a38dedad 100644 --- a/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test.cpp +++ b/wifi/hostapd/1.0/vts/functional/hostapd_hidl_test.cpp @@ -47,7 +47,10 @@ class HostapdHidlTest : public ::testing::VtsHalHidlTargetTestBase { ASSERT_NE(hostapd_.get(), nullptr); } - virtual void TearDown() override { stopHostapd(); } + virtual void TearDown() override { + HIDL_INVOKE_VOID_WITHOUT_ARGUMENTS(hostapd_, terminate); + stopHostapd(); + } protected: std::string getPrimaryWlanIfaceName() { diff --git a/wifi/hostapd/1.1/vts/functional/hostapd_hidl_test.cpp b/wifi/hostapd/1.1/vts/functional/hostapd_hidl_test.cpp index b053549650..3b3b8c1267 100644 --- a/wifi/hostapd/1.1/vts/functional/hostapd_hidl_test.cpp +++ b/wifi/hostapd/1.1/vts/functional/hostapd_hidl_test.cpp @@ -51,7 +51,10 @@ class HostapdHidlTest : public ::testing::VtsHalHidlTargetTestBase { ASSERT_NE(hostapd_.get(), nullptr); } - virtual void TearDown() override { stopHostapd(); } + virtual void TearDown() override { + HIDL_INVOKE_VOID_WITHOUT_ARGUMENTS(hostapd_, terminate); + stopHostapd(); + } protected: std::string getPrimaryWlanIfaceName() {