In supplicant VTS test setup, make sure that the
wifi hal is stopped before starting wifi. Bug: 234853504 Test: atest VtsHalWifiSupplicantV1_0TargetTest # HIDL service Change-Id: I413c3803a6607a72cc3aa8a5fa208551be1b1032
This commit is contained in:
parent
19410a1fc3
commit
bfe60cda4d
3 changed files with 34 additions and 16 deletions
|
@ -38,11 +38,12 @@ class SupplicantHidlTest
|
|||
: public ::testing::TestWithParam<std::tuple<std::string, std::string>> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
// Stop Wi-Fi
|
||||
ASSERT_TRUE(stopWifiFramework()); // stop & wait for wifi to shutdown.
|
||||
|
||||
wifi_instance_name_ = std::get<0>(GetParam());
|
||||
supplicant_instance_name_ = std::get<1>(GetParam());
|
||||
|
||||
// Stop & wait for wifi to shutdown.
|
||||
ASSERT_TRUE(stopWifiFramework(wifi_instance_name_));
|
||||
|
||||
std::system("/system/bin/start");
|
||||
ASSERT_TRUE(waitForFrameworkReady());
|
||||
isP2pOn_ =
|
||||
|
|
|
@ -28,26 +28,42 @@
|
|||
|
||||
using ::android::sp;
|
||||
using ::android::hardware::configureRpcThreadpool;
|
||||
using ::android::hardware::joinRpcThreadpool;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::joinRpcThreadpool;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::hardware::wifi::V1_0::ChipModeId;
|
||||
using ::android::hardware::wifi::V1_0::IWifiChip;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::IfaceType;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicant;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantIface;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantNetwork;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantStaIface;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantStaNetwork;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::ISupplicantP2pIface;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::IfaceType;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatus;
|
||||
using ::android::hardware::wifi::supplicant::V1_0::SupplicantStatusCode;
|
||||
using ::android::hardware::wifi::V1_0::ChipModeId;
|
||||
using ::android::hardware::wifi::V1_0::IWifi;
|
||||
using ::android::hardware::wifi::V1_0::IWifiChip;
|
||||
using ::android::wifi_system::InterfaceTool;
|
||||
using ::android::wifi_system::SupplicantManager;
|
||||
|
||||
namespace {
|
||||
|
||||
bool waitForWifiHalStop(const std::string& wifi_instance_name) {
|
||||
sp<IWifi> wifi = getWifi(wifi_instance_name);
|
||||
int count = 50; /* wait at most 5 seconds for completion */
|
||||
while (count-- > 0) {
|
||||
if (wifi != nullptr && !wifi->isStarted()) {
|
||||
return true;
|
||||
}
|
||||
usleep(100000);
|
||||
wifi = getWifi(wifi_instance_name);
|
||||
}
|
||||
LOG(ERROR) << "Wifi HAL was not stopped";
|
||||
return false;
|
||||
}
|
||||
|
||||
bool waitForSupplicantState(bool is_running) {
|
||||
SupplicantManager supplicant_manager;
|
||||
int count = 50; /* wait at most 5 seconds for completion */
|
||||
|
@ -113,10 +129,10 @@ bool startWifiFramework() {
|
|||
return waitForSupplicantStart(); // wait for wifi to start.
|
||||
}
|
||||
|
||||
bool stopWifiFramework() {
|
||||
bool stopWifiFramework(const std::string& wifi_instance_name) {
|
||||
std::system("svc wifi disable");
|
||||
std::system("cmd wifi set-scan-always-available disabled");
|
||||
return waitForSupplicantStop(); // wait for wifi to shutdown.
|
||||
return waitForSupplicantStop() && waitForWifiHalStop(wifi_instance_name);
|
||||
}
|
||||
|
||||
void stopSupplicant() { stopSupplicant(""); }
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
bool startWifiFramework();
|
||||
|
||||
// Used to stop the android wifi framework before every test.
|
||||
bool stopWifiFramework();
|
||||
bool stopWifiFramework(const std::string& wifi_instance_name);
|
||||
|
||||
void stopSupplicant(const std::string& wifi_instance_name);
|
||||
// Used to configure the chip, driver and start wpa_supplicant before every
|
||||
|
@ -77,12 +77,13 @@ class SupplicantHidlTestBase
|
|||
: public ::testing::TestWithParam<std::tuple<std::string, std::string>> {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
// Stop Wi-Fi
|
||||
ASSERT_TRUE(stopWifiFramework()); // stop & wait for wifi to shutdown.
|
||||
|
||||
// should always be v1.0 wifi
|
||||
wifi_v1_0_instance_name_ = std::get<0>(GetParam());
|
||||
wifi_v1_0_instance_name_ =
|
||||
std::get<0>(GetParam()); // should always be v1.0 wifi
|
||||
supplicant_instance_name_ = std::get<1>(GetParam());
|
||||
|
||||
// Stop & wait for wifi to shutdown.
|
||||
ASSERT_TRUE(stopWifiFramework(wifi_v1_0_instance_name_));
|
||||
|
||||
std::system("/system/bin/start");
|
||||
ASSERT_TRUE(waitForFrameworkReady());
|
||||
isP2pOn_ =
|
||||
|
|
Loading…
Reference in a new issue