Wifi VTS: use VTS-native feature detection
Previously, VTS would run VtsHalWifiV1_0HostTest, a python script on the
host that tries identify whether SoftAP and NAN should be supported by
the device. This is complex, prevents migration to pure gtests without
custom runners, and duplicates logic that has become available in VTS.
This switches to equivalent methods natively available in VTS:
- NAN: We can use "precondition-feature" to check for the
"android.hardware.wifi.aware" feature.
- SoftAP: We can use "precondition-lshal" to check whether the
"android.hardware.wifi.hostapd" HAL is declared in the device manifest
(should have the same semantics as the previous python check).
This splits out NAN- and SoftAP-dependent parts of IWifiChip tests so
that they can use this method, so some tests moved between these targets:
- VtsHalWifiV1_0TargetTest
- VtsHalWifiApV1_0TargetTest
- VtsHalWifiNanV1_0TargetTest
Bug: 142304083
Test: vts-tradefed run vts --primary-abi-only --skip-device-info -l DEBUG --include-filter VtsHalWifiV1_0Target --include-filter VtsHalWifiApV1_0Target --include-filter VtsHalWifiNanV1_0Target --include-filter VtsHalWifiV1_1Target --include-filter VtsHalWifiV1_2Target --include-filter VtsHalWifiV1_3Target --include-filter VtsHalWifiApV1_4Target
Change-Id: Ica0b58811a0aa152c1a6c3c9a35d577d6ae70160
diff --git a/wifi/1.4/vts/functional/Android.bp b/wifi/1.4/vts/functional/Android.bp
index 859be89..42c60f2 100644
--- a/wifi/1.4/vts/functional/Android.bp
+++ b/wifi/1.4/vts/functional/Android.bp
@@ -14,8 +14,9 @@
// limitations under the License.
//
+// SoftAP-specific tests, similar to VtsHalWifiApV1_0TargetTest.
cc_test {
- name: "VtsHalWifiV1_4TargetTest",
+ name: "VtsHalWifiApV1_4TargetTest",
defaults: ["VtsHalTargetTestDefaults"],
srcs: [
"VtsHalWifiV1_4TargetTest.cpp",
diff --git a/wifi/1.4/vts/functional/VtsHalWifiV1_4TargetTest.cpp b/wifi/1.4/vts/functional/VtsHalWifiV1_4TargetTest.cpp
index 26b93a6..deac0fa 100644
--- a/wifi/1.4/vts/functional/VtsHalWifiV1_4TargetTest.cpp
+++ b/wifi/1.4/vts/functional/VtsHalWifiV1_4TargetTest.cpp
@@ -44,10 +44,7 @@
::testing::AddGlobalTestEnvironment(gEnv);
::testing::InitGoogleTest(&argc, argv);
gEnv->init(&argc, argv);
- int status = gEnv->initFromOptions(argc, argv);
- if (status == 0) {
- status = RUN_ALL_TESTS();
- LOG(INFO) << "Test result = " << status;
- }
+ int status = RUN_ALL_TESTS();
+ LOG(INFO) << "Test result = " << status;
return status;
}
diff --git a/wifi/1.4/vts/functional/wifi_ap_iface_hidl_test.cpp b/wifi/1.4/vts/functional/wifi_ap_iface_hidl_test.cpp
index c2c1394..68e9bbb 100644
--- a/wifi/1.4/vts/functional/wifi_ap_iface_hidl_test.cpp
+++ b/wifi/1.4/vts/functional/wifi_ap_iface_hidl_test.cpp
@@ -35,13 +35,11 @@
class WifiApIfaceHidlTest : public ::testing::VtsHalHidlTargetTestBase {
public:
virtual void SetUp() override {
- if (!gEnv->isSoftApOn) return;
wifi_ap_iface_ = IWifiApIface::castFrom(getWifiApIface());
ASSERT_NE(nullptr, wifi_ap_iface_.get());
}
virtual void TearDown() override {
- if (!gEnv->isSoftApOn) return;
stopWifi();
}
@@ -55,7 +53,6 @@
* code.
*/
TEST_F(WifiApIfaceHidlTest, SetMacAddress) {
- if (!gEnv->isSoftApOn) return;
const hidl_array<uint8_t, 6> kMac{{0x12, 0x22, 0x33, 0x52, 0x10, 0x41}};
EXPECT_EQ(WifiStatusCode::SUCCESS,
HIDL_INVOKE(wifi_ap_iface_, setMacAddress, kMac).code);
@@ -67,7 +64,6 @@
* and return a success status code.
*/
TEST_F(WifiApIfaceHidlTest, GetFactoryMacAddress) {
- if (!gEnv->isSoftApOn) return;
std::pair<WifiStatus, hidl_array<uint8_t, 6> > status_and_mac =
HIDL_INVOKE(wifi_ap_iface_, getFactoryMacAddress);
EXPECT_EQ(WifiStatusCode::SUCCESS, status_and_mac.first.code);