Loading wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +55 −0 Original line number Diff line number Diff line Loading @@ -35,7 +35,9 @@ using aidl::android::hardware::wifi::supplicant::IfaceType; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; using aidl::android::hardware::wifi::supplicant::P2pConnectInfo; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; using aidl::android::hardware::wifi::supplicant::P2pDiscoveryInfo; using aidl::android::hardware::wifi::supplicant::P2pFrameTypeMask; using aidl::android::hardware::wifi::supplicant::P2pGoNegotiationReqEventParams; using aidl::android::hardware::wifi::supplicant::P2pGroupCapabilityMask; Loading @@ -45,6 +47,7 @@ using aidl::android::hardware::wifi::supplicant::P2pPeerClientDisconnectedEventP using aidl::android::hardware::wifi::supplicant::P2pPeerClientJoinedEventParams; using aidl::android::hardware::wifi::supplicant::P2pProvDiscStatusCode; using aidl::android::hardware::wifi::supplicant::P2pProvisionDiscoveryCompletedEventParams; using aidl::android::hardware::wifi::supplicant::P2pScanType; using aidl::android::hardware::wifi::supplicant::P2pStatusCode; using aidl::android::hardware::wifi::supplicant::SupplicantStatusCode; using aidl::android::hardware::wifi::supplicant::WpsConfigMethods; Loading @@ -69,6 +72,7 @@ const uint32_t kTestNetworkId = 7; const uint32_t kTestGroupFreq = 0; const bool kTestGroupPersistent = false; const bool kTestGroupIsJoin = false; const auto& kTestVendorData = generateOuiKeyedDataList(5); } // namespace Loading Loading @@ -222,6 +226,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam<std::string> { initializeService(); supplicant_ = getSupplicant(GetParam().c_str()); ASSERT_NE(supplicant_, nullptr); ASSERT_TRUE(supplicant_->getInterfaceVersion(&interface_version_).isOk()); ASSERT_TRUE(supplicant_ ->setDebugParams(DebugLevel::EXCESSIVE, true, // show timestamps Loading @@ -247,6 +252,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam<std::string> { protected: std::shared_ptr<ISupplicant> supplicant_; std::shared_ptr<ISupplicantP2pIface> p2p_iface_; int interface_version_; }; /* Loading Loading @@ -549,6 +555,34 @@ TEST_P(SupplicantP2pIfaceAidlTest, FindSpecificFrequency) { EXPECT_TRUE(p2p_iface_->findOnSpecificFrequency(2412, kTestFindTimeout).isOk()); } /* * FindWithParams */ TEST_P(SupplicantP2pIfaceAidlTest, FindWithParams) { if (interface_version_ < 3) { GTEST_SKIP() << "findWithParams is available as of Supplicant V3"; } P2pDiscoveryInfo discoveryParams; discoveryParams.timeoutInSec = kTestFindTimeout; discoveryParams.vendorData = kTestVendorData; discoveryParams.scanType = P2pScanType::FULL; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); sleep(1); discoveryParams.scanType = P2pScanType::SOCIAL; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); sleep(1); discoveryParams.scanType = P2pScanType::SPECIFIC_FREQ; discoveryParams.frequencyMhz = 2412; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); } /* * StopFind */ Loading @@ -575,6 +609,27 @@ TEST_P(SupplicantP2pIfaceAidlTest, Connect) { .isOk()); } /* * ConnectWithParams */ TEST_P(SupplicantP2pIfaceAidlTest, ConnectWithParams) { if (interface_version_ < 3) { GTEST_SKIP() << "connectWithParams is available as of Supplicant V3"; } P2pConnectInfo connectInfo; connectInfo.peerAddress = vecToArrayMacAddr(kTestMacAddr); connectInfo.provisionMethod = WpsProvisionMethod::PBC; connectInfo.preSelectedPin = kTestConnectPin; connectInfo.joinExistingGroup = true; connectInfo.persistent = false; connectInfo.goIntent = kTestConnectGoIntent; connectInfo.vendorData = kTestVendorData; std::string pin; EXPECT_TRUE(p2p_iface_->connectWithParams(connectInfo, &pin).isOk()); } /* * CancelConnect */ Loading wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h +29 −0 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ #pragma once #include <android/persistable_bundle_aidl.h> #include "supplicant_aidl_test_utils.h" #include "supplicant_legacy_test_utils.h" using aidl::android::hardware::wifi::common::OuiKeyedData; using aidl::android::hardware::wifi::supplicant::IfaceInfo; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; using aidl::android::os::PersistableBundle; std::string getStaIfaceName() { std::array<char, PROPERTY_VALUE_MAX> buffer; Loading Loading @@ -91,3 +95,28 @@ std::shared_ptr<ISupplicant> getSupplicant(const char* supplicant_name) { } return supplicant; } std::array<uint8_t, 6> vecToArrayMacAddr(std::vector<uint8_t> vectorAddr) { std::array<uint8_t, 6> arrayAddr; std::copy(vectorAddr.begin(), vectorAddr.begin() + 6, arrayAddr.begin()); return arrayAddr; } std::optional<OuiKeyedData> generateOuiKeyedData(int oui) { PersistableBundle bundle; bundle.putString("stringKey", "stringValue"); bundle.putInt("intKey", 12345); OuiKeyedData data; data.oui = oui; data.vendorData = bundle; return std::optional<OuiKeyedData>{data}; } std::optional<std::vector<std::optional<OuiKeyedData>>> generateOuiKeyedDataList(int size) { std::vector<std::optional<OuiKeyedData>> dataList; for (int i = 0; i < size; i++) { dataList.push_back(generateOuiKeyedData(i + 1)); } return std::optional<std::vector<std::optional<OuiKeyedData>>>{dataList}; } Loading
wifi/supplicant/aidl/vts/functional/supplicant_p2p_iface_aidl_test.cpp +55 −0 Original line number Diff line number Diff line Loading @@ -35,7 +35,9 @@ using aidl::android::hardware::wifi::supplicant::IfaceType; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::MiracastMode; using aidl::android::hardware::wifi::supplicant::P2pConnectInfo; using aidl::android::hardware::wifi::supplicant::P2pDeviceFoundEventParams; using aidl::android::hardware::wifi::supplicant::P2pDiscoveryInfo; using aidl::android::hardware::wifi::supplicant::P2pFrameTypeMask; using aidl::android::hardware::wifi::supplicant::P2pGoNegotiationReqEventParams; using aidl::android::hardware::wifi::supplicant::P2pGroupCapabilityMask; Loading @@ -45,6 +47,7 @@ using aidl::android::hardware::wifi::supplicant::P2pPeerClientDisconnectedEventP using aidl::android::hardware::wifi::supplicant::P2pPeerClientJoinedEventParams; using aidl::android::hardware::wifi::supplicant::P2pProvDiscStatusCode; using aidl::android::hardware::wifi::supplicant::P2pProvisionDiscoveryCompletedEventParams; using aidl::android::hardware::wifi::supplicant::P2pScanType; using aidl::android::hardware::wifi::supplicant::P2pStatusCode; using aidl::android::hardware::wifi::supplicant::SupplicantStatusCode; using aidl::android::hardware::wifi::supplicant::WpsConfigMethods; Loading @@ -69,6 +72,7 @@ const uint32_t kTestNetworkId = 7; const uint32_t kTestGroupFreq = 0; const bool kTestGroupPersistent = false; const bool kTestGroupIsJoin = false; const auto& kTestVendorData = generateOuiKeyedDataList(5); } // namespace Loading Loading @@ -222,6 +226,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam<std::string> { initializeService(); supplicant_ = getSupplicant(GetParam().c_str()); ASSERT_NE(supplicant_, nullptr); ASSERT_TRUE(supplicant_->getInterfaceVersion(&interface_version_).isOk()); ASSERT_TRUE(supplicant_ ->setDebugParams(DebugLevel::EXCESSIVE, true, // show timestamps Loading @@ -247,6 +252,7 @@ class SupplicantP2pIfaceAidlTest : public testing::TestWithParam<std::string> { protected: std::shared_ptr<ISupplicant> supplicant_; std::shared_ptr<ISupplicantP2pIface> p2p_iface_; int interface_version_; }; /* Loading Loading @@ -549,6 +555,34 @@ TEST_P(SupplicantP2pIfaceAidlTest, FindSpecificFrequency) { EXPECT_TRUE(p2p_iface_->findOnSpecificFrequency(2412, kTestFindTimeout).isOk()); } /* * FindWithParams */ TEST_P(SupplicantP2pIfaceAidlTest, FindWithParams) { if (interface_version_ < 3) { GTEST_SKIP() << "findWithParams is available as of Supplicant V3"; } P2pDiscoveryInfo discoveryParams; discoveryParams.timeoutInSec = kTestFindTimeout; discoveryParams.vendorData = kTestVendorData; discoveryParams.scanType = P2pScanType::FULL; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); sleep(1); discoveryParams.scanType = P2pScanType::SOCIAL; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); sleep(1); discoveryParams.scanType = P2pScanType::SPECIFIC_FREQ; discoveryParams.frequencyMhz = 2412; EXPECT_TRUE(p2p_iface_->findWithParams(discoveryParams).isOk()); EXPECT_TRUE(p2p_iface_->stopFind().isOk()); } /* * StopFind */ Loading @@ -575,6 +609,27 @@ TEST_P(SupplicantP2pIfaceAidlTest, Connect) { .isOk()); } /* * ConnectWithParams */ TEST_P(SupplicantP2pIfaceAidlTest, ConnectWithParams) { if (interface_version_ < 3) { GTEST_SKIP() << "connectWithParams is available as of Supplicant V3"; } P2pConnectInfo connectInfo; connectInfo.peerAddress = vecToArrayMacAddr(kTestMacAddr); connectInfo.provisionMethod = WpsProvisionMethod::PBC; connectInfo.preSelectedPin = kTestConnectPin; connectInfo.joinExistingGroup = true; connectInfo.persistent = false; connectInfo.goIntent = kTestConnectGoIntent; connectInfo.vendorData = kTestVendorData; std::string pin; EXPECT_TRUE(p2p_iface_->connectWithParams(connectInfo, &pin).isOk()); } /* * CancelConnect */ Loading
wifi/supplicant/aidl/vts/functional/supplicant_test_utils.h +29 −0 Original line number Diff line number Diff line Loading @@ -16,14 +16,18 @@ #pragma once #include <android/persistable_bundle_aidl.h> #include "supplicant_aidl_test_utils.h" #include "supplicant_legacy_test_utils.h" using aidl::android::hardware::wifi::common::OuiKeyedData; using aidl::android::hardware::wifi::supplicant::IfaceInfo; using aidl::android::hardware::wifi::supplicant::ISupplicant; using aidl::android::hardware::wifi::supplicant::ISupplicantP2pIface; using aidl::android::hardware::wifi::supplicant::ISupplicantStaIface; using aidl::android::hardware::wifi::supplicant::KeyMgmtMask; using aidl::android::os::PersistableBundle; std::string getStaIfaceName() { std::array<char, PROPERTY_VALUE_MAX> buffer; Loading Loading @@ -91,3 +95,28 @@ std::shared_ptr<ISupplicant> getSupplicant(const char* supplicant_name) { } return supplicant; } std::array<uint8_t, 6> vecToArrayMacAddr(std::vector<uint8_t> vectorAddr) { std::array<uint8_t, 6> arrayAddr; std::copy(vectorAddr.begin(), vectorAddr.begin() + 6, arrayAddr.begin()); return arrayAddr; } std::optional<OuiKeyedData> generateOuiKeyedData(int oui) { PersistableBundle bundle; bundle.putString("stringKey", "stringValue"); bundle.putInt("intKey", 12345); OuiKeyedData data; data.oui = oui; data.vendorData = bundle; return std::optional<OuiKeyedData>{data}; } std::optional<std::vector<std::optional<OuiKeyedData>>> generateOuiKeyedDataList(int size) { std::vector<std::optional<OuiKeyedData>> dataList; for (int i = 0; i < size; i++) { dataList.push_back(generateOuiKeyedData(i + 1)); } return std::optional<std::vector<std::optional<OuiKeyedData>>>{dataList}; }