diff options
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.cpp | 49 |
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 = |
