From 282c8312bf7b9d09e3edd6f7c98874f4bdf336e7 Mon Sep 17 00:00:00 2001 From: Gabriel Biren Date: Wed, 12 Apr 2023 21:25:23 +0000 Subject: [PATCH] Use the default SAP interface name in VtsHalWifiHostapdV1_2TargetTest. Test currently sets up a new interface and uses that interface's name. On Pixel, the new interface is wlan1, which does not seem to support the OpenAccessPointWithoutAcs configuration. However, the default SAP interface wlan0 does support it. The method to get the default interface name is taken from this file before ag/19202002 was merged. Bug: 270509029 Test: atest VtsHalWifiHostapdV1_2TargetTest (on a Bramble device running rvc-qpr3-release) Change-Id: Ic3c516f452dfb54f155246073a9bca20dbecaa0f --- .../1.2/vts/functional/hostapd_hidl_test.cpp | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/wifi/hostapd/1.2/vts/functional/hostapd_hidl_test.cpp b/wifi/hostapd/1.2/vts/functional/hostapd_hidl_test.cpp index 5c59819e82..b4840a6942 100644 --- a/wifi/hostapd/1.2/vts/functional/hostapd_hidl_test.cpp +++ b/wifi/hostapd/1.2/vts/functional/hostapd_hidl_test.cpp @@ -69,6 +69,7 @@ class HostapdHidlTest hostapd_instance_name_); hostapd_ = IHostapd::getService(hostapd_instance_name_); ASSERT_NE(hostapd_.get(), nullptr); + setupApIfaceIfNeeded(); isAcsSupport_ = testing::checkSubstringInCommandOutput( "/system/bin/cmd wifi get-softap-supported-features", "wifi_softap_acs_supported"); @@ -86,14 +87,21 @@ class HostapdHidlTest bool isWpa3SaeSupport_ = false; bool isAcsSupport_ = false; - std::string setupApIfaceIfNeededAndGetName() { + void setupApIfaceIfNeeded() { sp wifi_ap_iface; wifi_ap_iface = getWifiApIface_1_4(wifi_instance_name_); EXPECT_NE(nullptr, wifi_ap_iface.get()); const auto& status_and_name = HIDL_INVOKE(wifi_ap_iface, getName); EXPECT_EQ(WifiStatusCode::SUCCESS, status_and_name.first.code); - return status_and_name.second; + } + + std::string getPrimaryWlanIfaceName() { + std::array buffer; + auto res = property_get("ro.vendor.wifi.sap.interface", buffer.data(), nullptr); + if (res > 0) return buffer.data(); + property_get("wifi.interface", buffer.data(), "wlan0"); + return buffer.data(); } IHostapd::IfaceParams getIfaceParamsWithoutAcs(std::string iface_name) { @@ -243,7 +251,7 @@ TEST_P(HostapdHidlTest, AddPskAccessPointWithAcs) { if (!isAcsSupport_) GTEST_SKIP() << "Missing ACS support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithAcs(ifname), getPskNwParams()); EXPECT_EQ(HostapdStatusCode::SUCCESS, status.code); @@ -257,7 +265,7 @@ TEST_P(HostapdHidlTest, AddPskAccessPointWithAcsAndFreqRange) { if (!isAcsSupport_) GTEST_SKIP() << "Missing ACS support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithAcsAndFreqRange(ifname), getPskNwParams()); @@ -272,7 +280,7 @@ TEST_P(HostapdHidlTest, AddPskAccessPointWithAcsAndInvalidFreqRange) { if (!isAcsSupport_) GTEST_SKIP() << "Missing ACS support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithAcsAndInvalidFreqRange(ifname), getPskNwParams()); @@ -287,7 +295,7 @@ TEST_P(HostapdHidlTest, AddOpenAccessPointWithAcs) { if (!isAcsSupport_) GTEST_SKIP() << "Missing ACS support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithAcs(ifname), getOpenNwParams()); EXPECT_EQ(HostapdStatusCode::SUCCESS, status.code); @@ -300,7 +308,7 @@ TEST_P(HostapdHidlTest, AddOpenAccessPointWithAcs) { TEST_P(HostapdHidlTest, AddPskAccessPointWithoutAcs) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getPskNwParams()); @@ -314,7 +322,7 @@ TEST_P(HostapdHidlTest, AddPskAccessPointWithoutAcs) { TEST_P(HostapdHidlTest, AddOpenAccessPointWithoutAcs) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getOpenNwParams()); @@ -329,7 +337,7 @@ TEST_P(HostapdHidlTest, AddSaeTransitionAccessPointWithoutAcs) { if (!isWpa3SaeSupport_) GTEST_SKIP() << "Missing SAE support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getSaeTransitionNwParams()); @@ -344,7 +352,7 @@ TEST_P(HostapdHidlTest, AddSAEAccessPointWithoutAcs) { if (!isWpa3SaeSupport_) GTEST_SKIP() << "Missing SAE support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getSaeNwParams()); @@ -359,7 +367,7 @@ TEST_P(HostapdHidlTest, RemoveAccessPointWithAcs) { if (!isAcsSupport_) GTEST_SKIP() << "Missing ACS support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status_1_2 = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithAcs(ifname), getPskNwParams()); @@ -377,7 +385,7 @@ TEST_P(HostapdHidlTest, RemoveAccessPointWithAcs) { TEST_P(HostapdHidlTest, RemoveAccessPointWithoutAcs) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status_1_2 = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getPskNwParams()); @@ -395,7 +403,7 @@ TEST_P(HostapdHidlTest, RemoveAccessPointWithoutAcs) { TEST_P(HostapdHidlTest, AddPskAccessPointWithInvalidChannel) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithInvalidChannel(ifname), getPskNwParams()); @@ -409,7 +417,7 @@ TEST_P(HostapdHidlTest, AddPskAccessPointWithInvalidChannel) { TEST_P(HostapdHidlTest, AddInvalidPskAccessPointWithoutAcs) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getInvalidPskNwParams()); @@ -424,7 +432,7 @@ TEST_P(HostapdHidlTest, AddInvalidSaeTransitionAccessPointWithoutAcs) { if (!isWpa3SaeSupport_) GTEST_SKIP() << "Missing SAE support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getInvalidSaeTransitionNwParams()); @@ -439,7 +447,7 @@ TEST_P(HostapdHidlTest, AddInvalidSaeAccessPointWithoutAcs) { if (!isWpa3SaeSupport_) GTEST_SKIP() << "Missing SAE support"; if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getInvalidSaeNwParams()); @@ -451,7 +459,7 @@ TEST_P(HostapdHidlTest, AddInvalidSaeAccessPointWithoutAcs) { * when hotspot interface doesn't init.. */ TEST_P(HostapdHidlTest, DisconnectClientWhenIfaceNotAvailable) { - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status = HIDL_INVOKE(hostapd_, forceClientDisconnect, ifname, kTestZeroMacAddr, kTestDisconnectReasonCode); EXPECT_EQ(HostapdStatusCode::FAILURE_IFACE_UNKNOWN, status.code); @@ -464,7 +472,7 @@ TEST_P(HostapdHidlTest, DisconnectClientWhenIfaceNotAvailable) { TEST_P(HostapdHidlTest, DisconnectClientWhenIfacAvailable) { if (is_1_3(hostapd_)) GTEST_SKIP() << "Ignore addAccessPoint_1_2 on hostapd 1_3"; - std::string ifname = setupApIfaceIfNeededAndGetName(); + std::string ifname = getPrimaryWlanIfaceName(); auto status_1_2 = HIDL_INVOKE(hostapd_, addAccessPoint_1_2, getIfaceParamsWithoutAcs(ifname), getOpenNwParams());