diff options
| author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-20 23:08:04 +0000 |
|---|---|---|
| committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-10-20 23:08:04 +0000 |
| commit | afef122a87a2a4617f6026757b47bd4efb4b2903 (patch) | |
| tree | 2ad2a22e1d2467019d69290ac08a0f9dcc16abd5 | |
| parent | c13405b69a04b8d241d78e1f0d86ff7d04bcdd8f (diff) | |
| parent | b3fba1d7c3886b7ec281b13a11e94c42f5322c3c (diff) | |
Snap for 7842835 from b3fba1d7c3886b7ec281b13a11e94c42f5322c3c to sc-v2-release
Change-Id: I1b83c0f752240dfde3cacd93d3f579ca40d88712
| -rw-r--r-- | wifi/1.0/vts/functional/Android.bp | 2 | ||||
| -rw-r--r-- | wifi/1.0/vts/functional/wifi_ap_iface_hidl_test.cpp | 7 | ||||
| -rw-r--r-- | wifi/1.0/vts/functional/wifi_chip_hidl_ap_test.cpp | 7 | ||||
| -rw-r--r-- | wifi/1.1/vts/functional/Android.bp | 1 | ||||
| -rw-r--r-- | wifi/1.4/vts/functional/Android.bp | 26 | ||||
| -rw-r--r-- | wifi/1.4/vts/functional/wifi_ap_iface_hidl_test.cpp | 6 | ||||
| -rw-r--r-- | wifi/1.5/default/wifi_chip.cpp | 31 |
7 files changed, 76 insertions, 4 deletions
diff --git a/wifi/1.0/vts/functional/Android.bp b/wifi/1.0/vts/functional/Android.bp index e4948b4cc..6c0ebf763 100644 --- a/wifi/1.0/vts/functional/Android.bp +++ b/wifi/1.0/vts/functional/Android.bp @@ -107,8 +107,10 @@ cc_test { static_libs: [ "VtsHalWifiV1_0TargetTestUtil", "android.hardware.wifi@1.0", + "android.hardware.wifi.hostapd@1.0", "libwifi-system-iface", ], + disable_framework: true, test_suites: [ "general-tests", "vts", diff --git a/wifi/1.0/vts/functional/wifi_ap_iface_hidl_test.cpp b/wifi/1.0/vts/functional/wifi_ap_iface_hidl_test.cpp index 96b450136..28b16168f 100644 --- a/wifi/1.0/vts/functional/wifi_ap_iface_hidl_test.cpp +++ b/wifi/1.0/vts/functional/wifi_ap_iface_hidl_test.cpp @@ -15,9 +15,9 @@ */ #include <android-base/logging.h> - #include <android/hardware/wifi/1.0/IWifi.h> #include <android/hardware/wifi/1.0/IWifiApIface.h> +#include <android/hardware/wifi/hostapd/1.0/IHostapd.h> #include <gtest/gtest.h> #include <hidl/GtestPrinter.h> #include <hidl/ServiceManagement.h> @@ -26,6 +26,7 @@ #include "wifi_hidl_test_utils.h" using ::android::sp; +using ::android::hardware::wifi::hostapd::V1_0::IHostapd; using ::android::hardware::wifi::V1_0::IfaceType; using ::android::hardware::wifi::V1_0::IWifi; using ::android::hardware::wifi::V1_0::IWifiApIface; @@ -38,6 +39,10 @@ using ::android::hardware::wifi::V1_0::WifiStatusCode; class WifiApIfaceHidlTest : public ::testing::TestWithParam<std::string> { public: virtual void SetUp() override { + if (android::hardware::getAllHalInstanceNames(IHostapd::descriptor) + .empty()) { + GTEST_SKIP() << "Device does not support AP"; + } // Make sure test starts with a clean state stopWifi(GetInstanceName()); diff --git a/wifi/1.0/vts/functional/wifi_chip_hidl_ap_test.cpp b/wifi/1.0/vts/functional/wifi_chip_hidl_ap_test.cpp index 2e6ad32d6..66e1a807f 100644 --- a/wifi/1.0/vts/functional/wifi_chip_hidl_ap_test.cpp +++ b/wifi/1.0/vts/functional/wifi_chip_hidl_ap_test.cpp @@ -15,9 +15,9 @@ */ #include <android-base/logging.h> - #include <android/hardware/wifi/1.0/IWifi.h> #include <android/hardware/wifi/1.0/IWifiChip.h> +#include <android/hardware/wifi/hostapd/1.0/IHostapd.h> #include <gtest/gtest.h> #include <hidl/GtestPrinter.h> #include <hidl/ServiceManagement.h> @@ -26,6 +26,7 @@ #include "wifi_hidl_test_utils.h" using ::android::sp; +using ::android::hardware::wifi::hostapd::V1_0::IHostapd; using ::android::hardware::wifi::V1_0::ChipModeId; using ::android::hardware::wifi::V1_0::IfaceType; using ::android::hardware::wifi::V1_0::IWifi; @@ -41,6 +42,10 @@ using ::android::hardware::wifi::V1_0::WifiStatusCode; class WifiChipHidlApTest : public ::testing::TestWithParam<std::string> { public: virtual void SetUp() override { + if (android::hardware::getAllHalInstanceNames(IHostapd::descriptor) + .empty()) { + GTEST_SKIP() << "Device does not support AP"; + } // Make sure test starts with a clean state stopWifi(GetInstanceName()); diff --git a/wifi/1.1/vts/functional/Android.bp b/wifi/1.1/vts/functional/Android.bp index 80486425c..a8f3470c1 100644 --- a/wifi/1.1/vts/functional/Android.bp +++ b/wifi/1.1/vts/functional/Android.bp @@ -39,6 +39,7 @@ cc_test { "android.hardware.wifi@1.5", "libwifi-system-iface", ], + disable_framework: true, test_suites: [ "general-tests", "vts", diff --git a/wifi/1.4/vts/functional/Android.bp b/wifi/1.4/vts/functional/Android.bp index 14ebbe3bb..f86869bf6 100644 --- a/wifi/1.4/vts/functional/Android.bp +++ b/wifi/1.4/vts/functional/Android.bp @@ -14,7 +14,6 @@ // limitations under the License. // -// SoftAP-specific tests, similar to VtsHalWifiApV1_0TargetTest. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import @@ -25,11 +24,32 @@ package { } cc_test { + name: "VtsHalWifiV1_4TargetTest", + defaults: ["VtsHalTargetTestDefaults"], + srcs: [ + "wifi_chip_hidl_test.cpp", + ], + static_libs: [ + "VtsHalWifiV1_0TargetTestUtil", + "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", + "libwifi-system-iface", + ], + test_suites: [ + "general-tests", + "vts", + ], +} + +// SoftAP-specific tests, similar to VtsHalWifiApV1_0TargetTest. +cc_test { name: "VtsHalWifiApV1_4TargetTest", defaults: ["VtsHalTargetTestDefaults"], srcs: [ "wifi_ap_iface_hidl_test.cpp", - "wifi_chip_hidl_test.cpp", ], static_libs: [ "VtsHalWifiV1_0TargetTestUtil", @@ -38,8 +58,10 @@ cc_test { "android.hardware.wifi@1.2", "android.hardware.wifi@1.3", "android.hardware.wifi@1.4", + "android.hardware.wifi.hostapd@1.0", "libwifi-system-iface", ], + disable_framework: true, test_suites: [ "general-tests", "vts", 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 5b0f1736e..756afa512 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 @@ -16,6 +16,7 @@ #include <android/hardware/wifi/1.4/IWifi.h> #include <android/hardware/wifi/1.4/IWifiApIface.h> +#include <android/hardware/wifi/hostapd/1.0/IHostapd.h> #include <gtest/gtest.h> #include <hidl/GtestPrinter.h> #include <hidl/ServiceManagement.h> @@ -25,6 +26,7 @@ using ::android::sp; using ::android::hardware::hidl_array; +using ::android::hardware::wifi::hostapd::V1_0::IHostapd; using ::android::hardware::wifi::V1_0::WifiStatus; using ::android::hardware::wifi::V1_0::WifiStatusCode; using ::android::hardware::wifi::V1_4::IWifi; @@ -36,6 +38,10 @@ using ::android::hardware::wifi::V1_4::IWifiApIface; class WifiApIfaceHidlTest : public ::testing::TestWithParam<std::string> { public: virtual void SetUp() override { + if (android::hardware::getAllHalInstanceNames(IHostapd::descriptor) + .empty()) { + GTEST_SKIP() << "Device does not support AP"; + } // Make sure to start with a clean state stopWifi(GetInstanceName()); diff --git a/wifi/1.5/default/wifi_chip.cpp b/wifi/1.5/default/wifi_chip.cpp index 82d794ca1..6bdff4214 100644 --- a/wifi/1.5/default/wifi_chip.cpp +++ b/wifi/1.5/default/wifi_chip.cpp @@ -28,6 +28,8 @@ #include "wifi_chip.h" #include "wifi_status_util.h" +#define P2P_MGMT_DEVICE_PREFIX "p2p-dev-" + namespace { using android::sp; using android::base::unique_fd; @@ -126,8 +128,37 @@ std::vector<std::string> getPredefinedApIfaceNames(bool is_bridged) { } std::string getPredefinedP2pIfaceName() { + std::array<char, PROPERTY_VALUE_MAX> primaryIfaceName; + char p2pParentIfname[100]; + std::string p2pDevIfName = ""; std::array<char, PROPERTY_VALUE_MAX> buffer; property_get("wifi.direct.interface", buffer.data(), "p2p0"); + if (strncmp(buffer.data(), P2P_MGMT_DEVICE_PREFIX, + strlen(P2P_MGMT_DEVICE_PREFIX)) == 0) { + /* Get the p2p parent interface name from p2p device interface name set + * in property */ + strncpy(p2pParentIfname, buffer.data() + strlen(P2P_MGMT_DEVICE_PREFIX), + strlen(buffer.data()) - strlen(P2P_MGMT_DEVICE_PREFIX)); + if (property_get(kActiveWlanIfaceNameProperty, primaryIfaceName.data(), + nullptr) == 0) { + return buffer.data(); + } + /* Check if the parent interface derived from p2p device interface name + * is active */ + if (strncmp(p2pParentIfname, primaryIfaceName.data(), + strlen(buffer.data()) - strlen(P2P_MGMT_DEVICE_PREFIX)) != + 0) { + /* + * Update the predefined p2p device interface parent interface name + * with current active wlan interface + */ + p2pDevIfName += P2P_MGMT_DEVICE_PREFIX; + p2pDevIfName += primaryIfaceName.data(); + LOG(INFO) << "update the p2p device interface name to " + << p2pDevIfName.c_str(); + return p2pDevIfName; + } + } return buffer.data(); } |
