summaryrefslogtreecommitdiff
path: root/wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp')
-rw-r--r--wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp49
1 files changed, 29 insertions, 20 deletions
diff --git a/wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp b/wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp
index d16f1e7777..1b7e821906 100644
--- a/wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp
+++ b/wifi/1.0/vts/functional/wifi_chip_hidl_test.cpp
@@ -17,6 +17,7 @@
#include <android-base/logging.h>
#include <android/hardware/wifi/1.0/IWifiChip.h>
+#include <android/hardware/wifi/1.3/IWifiChip.h>
#include <VtsHalHidlTargetTestBase.h>
@@ -87,7 +88,19 @@ class WifiChipHidlTest : public ::testing::VtsHalHidlTargetTestBase {
uint32_t configureChipForStaIfaceAndGetCapabilities() {
configureChipForIfaceType(IfaceType::STA, true);
- const auto& status_and_caps = HIDL_INVOKE(wifi_chip_, getCapabilities);
+
+ sp<::android::hardware::wifi::V1_3::IWifiChip> chip_converted =
+ ::android::hardware::wifi::V1_3::IWifiChip::castFrom(wifi_chip_);
+
+ std::pair<WifiStatus, uint32_t> status_and_caps;
+
+ if (chip_converted != nullptr) {
+ // Call the newer HAL version
+ status_and_caps = HIDL_INVOKE(chip_converted, getCapabilities_1_3);
+ } else {
+ status_and_caps = HIDL_INVOKE(wifi_chip_, getCapabilities);
+ }
+
if (status_and_caps.first.code != WifiStatusCode::SUCCESS) {
EXPECT_EQ(WifiStatusCode::ERROR_NOT_SUPPORTED, status_and_caps.first.code);
return 0;
@@ -348,17 +361,16 @@ TEST_F(WifiChipHidlTest, GetDebugHostWakeReasonStats) {
/*
* CreateApIface
- * Configures the chip in AP mode and ensures that only 1 iface creation
- * succeeds. The 2nd iface creation should be rejected.
+ * Configures the chip in AP mode and ensures that at least 1 iface creation
+ * succeeds.
*/
TEST_F(WifiChipHidlTest, CreateApIface) {
+ if (!gEnv->isSoftApOn) return;
configureChipForIfaceType(IfaceType::AP, true);
sp<IWifiApIface> iface;
EXPECT_EQ(WifiStatusCode::SUCCESS, createApIface(&iface));
EXPECT_NE(nullptr, iface.get());
-
- EXPECT_EQ(WifiStatusCode::ERROR_NOT_AVAILABLE, createApIface(&iface));
}
/*
@@ -368,6 +380,7 @@ TEST_F(WifiChipHidlTest, CreateApIface) {
* iface name is returned via the list.
*/
TEST_F(WifiChipHidlTest, GetApIfaceNames) {
+ if (!gEnv->isSoftApOn) return;
configureChipForIfaceType(IfaceType::AP, true);
const auto& status_and_iface_names1 =
@@ -400,6 +413,7 @@ TEST_F(WifiChipHidlTest, GetApIfaceNames) {
* doesn't retrieve an iface object.
*/
TEST_F(WifiChipHidlTest, GetApIface) {
+ if (!gEnv->isSoftApOn) return;
configureChipForIfaceType(IfaceType::AP, true);
sp<IWifiApIface> ap_iface;
@@ -426,6 +440,7 @@ TEST_F(WifiChipHidlTest, GetApIface) {
* doesn't remove the iface.
*/
TEST_F(WifiChipHidlTest, RemoveApIface) {
+ if (!gEnv->isSoftApOn) return;
configureChipForIfaceType(IfaceType::AP, true);
sp<IWifiApIface> ap_iface;
@@ -443,8 +458,8 @@ TEST_F(WifiChipHidlTest, RemoveApIface) {
/*
* CreateNanIface
- * Configures the chip in NAN mode and ensures that only 1 iface creation
- * succeeds. The 2nd iface creation should be rejected.
+ * Configures the chip in NAN mode and ensures that at least 1 iface creation
+ * succeeds.
*/
TEST_F(WifiChipHidlTest, CreateNanIface) {
if (!gEnv->isNanOn) return;
@@ -453,8 +468,6 @@ TEST_F(WifiChipHidlTest, CreateNanIface) {
sp<IWifiNanIface> iface;
ASSERT_EQ(WifiStatusCode::SUCCESS, createNanIface(&iface));
EXPECT_NE(nullptr, iface.get());
-
- EXPECT_EQ(WifiStatusCode::ERROR_NOT_AVAILABLE, createNanIface(&iface));
}
/*
@@ -543,8 +556,8 @@ TEST_F(WifiChipHidlTest, RemoveNanIface) {
/*
* CreateP2pIface
- * Configures the chip in P2P mode and ensures that only 1 iface creation
- * succeeds. The 2nd iface creation should be rejected.
+ * Configures the chip in P2P mode and ensures that at least 1 iface creation
+ * succeeds.
*/
TEST_F(WifiChipHidlTest, CreateP2pIface) {
configureChipForIfaceType(IfaceType::P2P, true);
@@ -552,8 +565,6 @@ TEST_F(WifiChipHidlTest, CreateP2pIface) {
sp<IWifiP2pIface> iface;
EXPECT_EQ(WifiStatusCode::SUCCESS, createP2pIface(&iface));
EXPECT_NE(nullptr, iface.get());
-
- EXPECT_EQ(WifiStatusCode::ERROR_NOT_AVAILABLE, createP2pIface(&iface));
}
/*
@@ -638,8 +649,8 @@ TEST_F(WifiChipHidlTest, RemoveP2pIface) {
/*
* CreateStaIface
- * Configures the chip in STA mode and ensures that only 1 iface creation
- * succeeds. The 2nd iface creation should be rejected.
+ * Configures the chip in STA mode and ensures that at least 1 iface creation
+ * succeeds.
*/
TEST_F(WifiChipHidlTest, CreateStaIface) {
configureChipForIfaceType(IfaceType::STA, true);
@@ -647,8 +658,6 @@ TEST_F(WifiChipHidlTest, CreateStaIface) {
sp<IWifiStaIface> iface;
EXPECT_EQ(WifiStatusCode::SUCCESS, createStaIface(&iface));
EXPECT_NE(nullptr, iface.get());
-
- EXPECT_EQ(WifiStatusCode::ERROR_NOT_AVAILABLE, createStaIface(&iface));
}
/*
@@ -735,10 +744,10 @@ TEST_F(WifiChipHidlTest, RemoveStaIface) {
* CreateRttController
*/
TEST_F(WifiChipHidlTest, CreateRttController) {
- configureChipForIfaceType(IfaceType::AP, true);
+ configureChipForIfaceType(IfaceType::STA, true);
- sp<IWifiApIface> iface;
- EXPECT_EQ(WifiStatusCode::SUCCESS, createApIface(&iface));
+ sp<IWifiStaIface> iface;
+ EXPECT_EQ(WifiStatusCode::SUCCESS, createStaIface(&iface));
EXPECT_NE(nullptr, iface.get());
const auto& status_and_rtt_controller =