diff --git a/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp b/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp index 21d50ac325..c68d8fddb5 100644 --- a/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp +++ b/wifi/aidl/vts/functional/wifi_aidl_test_utils.cpp @@ -177,8 +177,7 @@ std::shared_ptr getWifiNanIface(const char* instance_name) { return iface; } -std::shared_ptr getWifiApIface(const char* instance_name) { - std::shared_ptr wifi_chip = getWifiChip(instance_name); +std::shared_ptr getWifiApIface(std::shared_ptr wifi_chip) { if (!wifi_chip.get()) { return nullptr; } @@ -193,6 +192,11 @@ std::shared_ptr getWifiApIface(const char* instance_name) { return iface; } +std::shared_ptr getWifiApIface(const char* instance_name) { + std::shared_ptr wifi_chip = getWifiChip(instance_name); + return getWifiApIface(wifi_chip); +} + std::shared_ptr getBridgedWifiApIface(std::shared_ptr wifi_chip) { if (!wifi_chip.get()) { return nullptr; diff --git a/wifi/aidl/vts/functional/wifi_aidl_test_utils.h b/wifi/aidl/vts/functional/wifi_aidl_test_utils.h index 1369dd487a..9b47a9f4c3 100644 --- a/wifi/aidl/vts/functional/wifi_aidl_test_utils.h +++ b/wifi/aidl/vts/functional/wifi_aidl_test_utils.h @@ -40,6 +40,7 @@ std::shared_ptr getWifiChip(const char* instance_name); std::shared_ptr getWifiStaIface(const char* instance_name); std::shared_ptr getWifiNanIface(const char* instance_name); std::shared_ptr getWifiApIface(const char* instance_name); +std::shared_ptr getWifiApIface(std::shared_ptr wifi_chip); std::shared_ptr getBridgedWifiApIface(const char* instance_name); std::shared_ptr getBridgedWifiApIface(std::shared_ptr wifi_chip); // Configure the chip in a mode to support the creation of the provided iface type. diff --git a/wifi/aidl/vts/functional/wifi_ap_iface_aidl_test.cpp b/wifi/aidl/vts/functional/wifi_ap_iface_aidl_test.cpp index d39cfb4f93..a58fd5bcdd 100644 --- a/wifi/aidl/vts/functional/wifi_ap_iface_aidl_test.cpp +++ b/wifi/aidl/vts/functional/wifi_ap_iface_aidl_test.cpp @@ -37,12 +37,21 @@ class WifiApIfaceAidlTest : public testing::TestWithParam { "/system/bin/cmd wifi get-softap-supported-features", "wifi_softap_bridged_ap_supported"); stopWifiService(getInstanceName()); + + wifi_chip_ = getWifiChip(getInstanceName()); + ASSERT_NE(nullptr, wifi_chip_.get()); + + bool isApSupported = doesChipSupportConcurrencyType(wifi_chip_, IfaceConcurrencyType::AP); + if (!isApSupported) { + GTEST_SKIP() << "AP interfaces are not supported"; + } } void TearDown() override { stopWifiService(getInstanceName()); } protected: bool isBridgedSupport_ = false; + std::shared_ptr wifi_chip_; const char* getInstanceName() { return GetParam().c_str(); } }; @@ -50,7 +59,7 @@ class WifiApIfaceAidlTest : public testing::TestWithParam { * SetMacAddress */ TEST_P(WifiApIfaceAidlTest, SetMacAddress) { - std::shared_ptr wifi_ap_iface = getWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); std::array mac = {0x12, 0x22, 0x33, 0x52, 0x10, 0x44}; EXPECT_TRUE(wifi_ap_iface->setMacAddress(mac).isOk()); @@ -60,7 +69,7 @@ TEST_P(WifiApIfaceAidlTest, SetMacAddress) { * SetCountryCode */ TEST_P(WifiApIfaceAidlTest, SetCountryCode) { - std::shared_ptr wifi_ap_iface = getWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); const std::array country_code = {0x55, 0x53}; @@ -71,7 +80,7 @@ TEST_P(WifiApIfaceAidlTest, SetCountryCode) { * GetFactoryMacAddress */ TEST_P(WifiApIfaceAidlTest, GetFactoryMacAddress) { - std::shared_ptr wifi_ap_iface = getWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); std::array mac; @@ -84,7 +93,7 @@ TEST_P(WifiApIfaceAidlTest, GetFactoryMacAddress) { * GetBridgedInstances - non-bridged mode */ TEST_P(WifiApIfaceAidlTest, GetBridgedInstances) { - std::shared_ptr wifi_ap_iface = getWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); std::vector instances; @@ -99,7 +108,7 @@ TEST_P(WifiApIfaceAidlTest, GetBridgedInstances_Bridged) { if (!isBridgedSupport_) { GTEST_SKIP() << "Missing Bridged AP support"; } - std::shared_ptr wifi_ap_iface = getBridgedWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getBridgedWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); std::vector instances; @@ -111,7 +120,7 @@ TEST_P(WifiApIfaceAidlTest, GetBridgedInstances_Bridged) { * ResetToFactoryMacAddress - non-bridged mode */ TEST_P(WifiApIfaceAidlTest, ResetToFactoryMacAddress) { - std::shared_ptr wifi_ap_iface = getWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); EXPECT_TRUE(wifi_ap_iface->resetToFactoryMacAddress().isOk()); } @@ -123,7 +132,7 @@ TEST_P(WifiApIfaceAidlTest, ResetToFactoryMacAddress_Bridged) { if (!isBridgedSupport_) { GTEST_SKIP() << "Missing Bridged AP support"; } - std::shared_ptr wifi_ap_iface = getBridgedWifiApIface(getInstanceName()); + std::shared_ptr wifi_ap_iface = getBridgedWifiApIface(wifi_chip_); ASSERT_NE(nullptr, wifi_ap_iface.get()); EXPECT_TRUE(wifi_ap_iface->resetToFactoryMacAddress().isOk()); }