Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8656a873 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "In supplicant VTS test setup, make sure that the wifi hal is stopped...

Merge "In supplicant VTS test setup, make sure that the wifi hal is stopped before starting wifi." into android12-tests-dev am: e6c80028

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2128497



Change-Id: I9e39d4ed48c0dc653a9ee312021e6e80e351fe00
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents b22f5489 e6c80028
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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_ =
+23 −7
Original line number Diff line number Diff line
@@ -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 */
@@ -144,10 +160,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(""); }
+7 −6
Original line number Diff line number Diff line
@@ -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
@@ -72,12 +72,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_ =