Revert "Remove dependencies on the HIDL Vendor HAL from"
This reverts commit fc6bd8c564604a27aacfb4c7aea39bb7c12efd64.
Reason for revert: Blocking Wembley team
Bug: 261042084
Test: Local test as in 261042084#comment8
Change-Id: I9103fa8bdcdea48648574f034c51ea8f2b9c25cc
diff --git a/wifi/supplicant/aidl/vts/functional/Android.bp b/wifi/supplicant/aidl/vts/functional/Android.bp
index 937fdc7..b959c75 100644
--- a/wifi/supplicant/aidl/vts/functional/Android.bp
+++ b/wifi/supplicant/aidl/vts/functional/Android.bp
@@ -36,11 +36,20 @@
"libvndksupport",
],
static_libs: [
- "android.hardware.wifi-V1-ndk",
+ "android.hardware.wifi@1.0",
+ "android.hardware.wifi@1.1",
+ "android.hardware.wifi@1.2",
+ "android.hardware.wifi@1.3",
+ "android.hardware.wifi@1.4",
+ "android.hardware.wifi@1.5",
+ "android.hardware.wifi.supplicant@1.0",
+ "android.hardware.wifi.supplicant@1.1",
"android.hardware.wifi.supplicant-V2-ndk",
"libwifi-system",
"libwifi-system-iface",
- "VtsHalWifiTargetTestUtil",
+ "VtsHalWifiV1_0TargetTestUtil",
+ "VtsHalWifiV1_5TargetTestUtil",
+ "VtsHalWifiSupplicantV1_0TargetTestUtil",
],
test_suites: [
"general-tests",
@@ -61,11 +70,20 @@
"libvndksupport",
],
static_libs: [
- "android.hardware.wifi-V1-ndk",
+ "android.hardware.wifi@1.0",
+ "android.hardware.wifi@1.1",
+ "android.hardware.wifi@1.2",
+ "android.hardware.wifi@1.3",
+ "android.hardware.wifi@1.4",
+ "android.hardware.wifi@1.5",
+ "android.hardware.wifi.supplicant@1.0",
+ "android.hardware.wifi.supplicant@1.1",
"android.hardware.wifi.supplicant-V2-ndk",
"libwifi-system",
"libwifi-system-iface",
- "VtsHalWifiTargetTestUtil",
+ "VtsHalWifiV1_0TargetTestUtil",
+ "VtsHalWifiV1_5TargetTestUtil",
+ "VtsHalWifiSupplicantV1_0TargetTestUtil",
],
test_suites: [
"general-tests",
@@ -86,11 +104,20 @@
"libvndksupport",
],
static_libs: [
- "android.hardware.wifi-V1-ndk",
+ "android.hardware.wifi@1.0",
+ "android.hardware.wifi@1.1",
+ "android.hardware.wifi@1.2",
+ "android.hardware.wifi@1.3",
+ "android.hardware.wifi@1.4",
+ "android.hardware.wifi@1.5",
+ "android.hardware.wifi.supplicant@1.0",
+ "android.hardware.wifi.supplicant@1.1",
"android.hardware.wifi.supplicant-V2-ndk",
"libwifi-system",
"libwifi-system-iface",
- "VtsHalWifiTargetTestUtil",
+ "VtsHalWifiV1_0TargetTestUtil",
+ "VtsHalWifiV1_5TargetTestUtil",
+ "VtsHalWifiSupplicantV1_0TargetTestUtil",
],
test_suites: [
"general-tests",
diff --git a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h
index 740dc9f..31042a2 100644
--- a/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h
+++ b/wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h
@@ -14,18 +14,16 @@
* limitations under the License.
*/
-#pragma once
+#ifndef SUPPLICANT_TEST_UTILS_H
+#define SUPPLICANT_TEST_UTILS_H
#include <VtsCoreUtil.h>
-#include <aidl/android/hardware/wifi/IWifi.h>
#include <android-base/logging.h>
+#include <android/hardware/wifi/1.0/IWifi.h>
+#include <hidl/ServiceManagement.h>
+#include <supplicant_hidl_test_utils.h>
#include <wifi_system/supplicant_manager.h>
-#include "wifi_aidl_test_utils.h"
-
-using aidl::android::hardware::wifi::IfaceConcurrencyType;
-using aidl::android::hardware::wifi::IWifi;
-using aidl::android::hardware::wifi::IWifiChip;
using aidl::android::hardware::wifi::supplicant::IfaceInfo;
using aidl::android::hardware::wifi::supplicant::ISupplicant;
using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface;
@@ -33,90 +31,6 @@
using aidl::android::hardware::wifi::supplicant::KeyMgmtMask;
using android::wifi_system::SupplicantManager;
-const std::string kWifiInstanceName = std::string() + IWifi::descriptor + "/default";
-
-// Initialize the driver and firmware to STA mode using the vendor HAL.
-void initializeDriverAndFirmware(const std::string& wifi_instance_name) {
- // Skip if wifi instance is not set.
- if (wifi_instance_name == "") {
- return;
- }
- if (getWifi(wifi_instance_name.c_str()) != nullptr) {
- std::shared_ptr<IWifiChip> wifi_chip = getWifiChip(wifi_instance_name.c_str());
- int mode_id;
- EXPECT_TRUE(configureChipToSupportConcurrencyType(wifi_chip, IfaceConcurrencyType::STA,
- &mode_id));
- } else {
- LOG(WARNING) << __func__ << ": Vendor HAL not supported";
- }
-}
-
-// Deinitialize the driver and firmware using the vendor HAL.
-void deInitializeDriverAndFirmware(const std::string& wifi_instance_name) {
- // Skip if wifi instance is not set.
- if (wifi_instance_name == "") {
- return;
- }
- if (getWifi(wifi_instance_name.c_str()) != nullptr) {
- stopWifiService(wifi_instance_name.c_str());
- } else {
- LOG(WARNING) << __func__ << ": Vendor HAL not supported";
- }
-}
-
-bool waitForSupplicantState(bool is_running) {
- SupplicantManager supplicant_manager;
- int count = 50; /* wait at most 5 seconds for completion */
- while (count-- > 0) {
- if (supplicant_manager.IsSupplicantRunning() == is_running) {
- return true;
- }
- usleep(100000);
- }
- LOG(ERROR) << "Supplicant not " << is_running ? "running" : "stopped";
- return false;
-}
-
-bool waitForSupplicantStart() {
- return waitForSupplicantState(true);
-}
-
-bool waitForSupplicantStop() {
- return waitForSupplicantState(false);
-}
-
-bool waitForWifiHalStop(const std::string& wifi_instance_name) {
- std::shared_ptr<IWifi> wifi = getWifi(wifi_instance_name.c_str());
- int count = 50; /* wait at most 5 seconds for completion */
- while (count-- > 0) {
- if (wifi != nullptr) {
- bool started = false;
- auto status = wifi->isStarted(&started);
- if (status.isOk() && !started) {
- return true;
- }
- }
- usleep(100000);
- wifi = getWifi(wifi_instance_name.c_str());
- }
- LOG(ERROR) << "Wifi HAL was not stopped";
- return false;
-}
-
-bool waitForFrameworkReady() {
- int waitCount = 15;
- do {
- // Check whether package service is ready or not.
- if (!testing::checkSubstringInCommandOutput("/system/bin/service check package",
- ": not found")) {
- return true;
- }
- LOG(INFO) << "Framework is not ready";
- sleep(1);
- } while (waitCount-- > 0);
- return false;
-}
-
std::string getStaIfaceName() {
std::array<char, PROPERTY_VALUE_MAX> buffer;
property_get("wifi.interface", buffer.data(), "wlan0");
@@ -129,6 +43,14 @@
return std::string(buffer.data());
}
+std::string getWifiInstanceName() {
+ const std::vector<std::string> instances =
+ android::hardware::getAllHalInstanceNames(
+ ::android::hardware::wifi::V1_0::IWifi::descriptor);
+ EXPECT_NE(0, instances.size());
+ return instances.size() != 0 ? instances[0] : "";
+}
+
bool keyMgmtSupported(std::shared_ptr<ISupplicantStaIface> iface,
KeyMgmtMask expected) {
KeyMgmtMask caps;
@@ -146,33 +68,17 @@
}
void startSupplicant() {
- initializeDriverAndFirmware(kWifiInstanceName);
+ initializeDriverAndFirmware(getWifiInstanceName());
SupplicantManager supplicant_manager;
ASSERT_TRUE(supplicant_manager.StartSupplicant());
ASSERT_TRUE(supplicant_manager.IsSupplicantRunning());
}
-void stopSupplicantService() {
- SupplicantManager supplicant_manager;
- ASSERT_TRUE(supplicant_manager.StopSupplicant());
- deInitializeDriverAndFirmware(kWifiInstanceName);
- ASSERT_FALSE(supplicant_manager.IsSupplicantRunning());
-}
-
-bool startWifiFramework() {
- std::system("svc wifi enable");
- std::system("cmd wifi set-scan-always-available enabled");
- return waitForSupplicantStart(); // wait for wifi to start.
-}
-
-bool stopWifiFramework(const std::string& wifi_instance_name) {
- std::system("svc wifi disable");
- std::system("cmd wifi set-scan-always-available disabled");
- return waitForSupplicantStop() && waitForWifiHalStop(wifi_instance_name);
-}
+// Wrapper around the implementation in supplicant_hidl_test_util.
+void stopSupplicantService() { stopSupplicant(getWifiInstanceName()); }
void initializeService() {
- ASSERT_TRUE(stopWifiFramework(kWifiInstanceName));
+ ASSERT_TRUE(stopWifiFramework(getWifiInstanceName()));
std::system("/system/bin/start");
ASSERT_TRUE(waitForFrameworkReady());
stopSupplicantService();
@@ -200,3 +106,5 @@
}
return supplicant;
}
+
+#endif // SUPPLICANT_TEST_UTILS_H
\ No newline at end of file