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
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 5c59819..b4840a6 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 @@
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 @@
bool isWpa3SaeSupport_ = false;
bool isAcsSupport_ = false;
- std::string setupApIfaceIfNeededAndGetName() {
+ void setupApIfaceIfNeeded() {
sp<IWifiApIface> 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<char, PROPERTY_VALUE_MAX> 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 @@
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 @@
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 @@
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 @@
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, 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, 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 @@
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 @@
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 @@
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, 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, 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, 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 @@
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 @@
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 @@
* 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, 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());