diff options
author | Nate Jiang <qiangjiang@google.com> | 2022-03-15 16:39:26 -0700 |
---|---|---|
committer | Nate Jiang <qiangjiang@google.com> | 2022-03-15 16:41:21 -0700 |
commit | 76dd9336ada13055af3408885abbaa82ec95451e (patch) | |
tree | 792e998408ddae5e1b5af5428ac3f564894ab238 | |
parent | f68d60d4af155a0268bcaea076088b14c6acf528 (diff) |
[VTS] test new API with success result
Bug: 222654265
Test: atest VtsHalWifiNanV1_6TargetTest
Change-Id: I2e25ddafa4bf9caf0110a35f328330329fab8581
-rw-r--r-- | wifi/1.6/vts/functional/wifi_nan_iface_hidl_test.cpp | 112 |
1 files changed, 105 insertions, 7 deletions
diff --git a/wifi/1.6/vts/functional/wifi_nan_iface_hidl_test.cpp b/wifi/1.6/vts/functional/wifi_nan_iface_hidl_test.cpp index 46a1314541..7bcc6d3a06 100644 --- a/wifi/1.6/vts/functional/wifi_nan_iface_hidl_test.cpp +++ b/wifi/1.6/vts/functional/wifi_nan_iface_hidl_test.cpp @@ -26,6 +26,7 @@ #include <chrono> #include <condition_variable> #include <mutex> +#include <vector> #include "wifi_hidl_call_util.h" #include "wifi_hidl_test_utils.h" @@ -616,6 +617,7 @@ TEST_P(WifiNanIfaceHidlTest, notifyCapabilitiesResponse_1_6) { ASSERT_EQ(std::cv_status::no_timeout, wait(NOTIFY_CAPABILITIES_RESPONSE_1_6)); ASSERT_EQ(NOTIFY_CAPABILITIES_RESPONSE_1_6, callbackType); ASSERT_EQ(id, inputCmdId); + ASSERT_EQ(status.status, NanStatusType::SUCCESS); // check for reasonable capability values EXPECT_GT(capabilities_1_6.maxConcurrentClusters, (unsigned int)0); @@ -637,23 +639,119 @@ TEST_P(WifiNanIfaceHidlTest, notifyCapabilitiesResponse_1_6) { } /* - * startPublishRequest_1_6InvalidArgs: validate that fails with invalid arguments + * startPublishRequest_1_6: validate that success with valid arguments */ -TEST_P(WifiNanIfaceHidlTest, startPublishRequest_1_6InvalidArgs) { +TEST_P(WifiNanIfaceHidlTest, startPublishRequest_1_6) { uint16_t inputCmdId = 10; + ::android::hardware::wifi::V1_0::NanBandSpecificConfig config24 = {}; + config24.rssiClose = 60; + config24.rssiMiddle = 70; + config24.rssiCloseProximity = 60; + config24.dwellTimeMs = 200; + config24.scanPeriodSec = 20; + config24.validDiscoveryWindowIntervalVal = false; + config24.discoveryWindowIntervalVal = 0; + + ::android::hardware::wifi::V1_0::NanBandSpecificConfig config5 = {}; + config5.rssiClose = 60; + config5.rssiMiddle = 75; + config5.rssiCloseProximity = 60; + config5.dwellTimeMs = 200; + config5.scanPeriodSec = 20; + config5.validDiscoveryWindowIntervalVal = false; + config5.discoveryWindowIntervalVal = 0; + ::android::hardware::wifi::V1_4::NanEnableRequest req = {}; + req.operateInBand[(size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_24GHZ] = true; + req.operateInBand[(size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_5GHZ] = false; + req.hopCountMax = 2; + req.configParams.masterPref = 0; + req.configParams.disableDiscoveryAddressChangeIndication = true; + req.configParams.disableStartedClusterIndication = true; + req.configParams.disableJoinedClusterIndication = true; + req.configParams.includePublishServiceIdsInBeacon = true; + req.configParams.numberOfPublishServiceIdsInBeacon = 0; + req.configParams.includeSubscribeServiceIdsInBeacon = true; + req.configParams.numberOfSubscribeServiceIdsInBeacon = 0; + req.configParams.rssiWindowSize = 8; + req.configParams.macAddressRandomizationIntervalSec = 1800; + req.configParams.bandSpecificConfig[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_24GHZ] = config24; + req.configParams.bandSpecificConfig[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_5GHZ] = config5; + + req.debugConfigs.validClusterIdVals = true; + req.debugConfigs.clusterIdTopRangeVal = 65535; + req.debugConfigs.clusterIdBottomRangeVal = 0; + req.debugConfigs.validIntfAddrVal = false; + req.debugConfigs.validOuiVal = false; + req.debugConfigs.ouiVal = 0; + req.debugConfigs.validRandomFactorForceVal = false; + req.debugConfigs.randomFactorForceVal = 0; + req.debugConfigs.validHopCountForceVal = false; + req.debugConfigs.hopCountForceVal = 0; + req.debugConfigs.validDiscoveryChannelVal = false; + req.debugConfigs.discoveryChannelMhzVal[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_24GHZ] = 0; + req.debugConfigs.discoveryChannelMhzVal[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_5GHZ] = 0; + req.debugConfigs.validUseBeaconsInBandVal = false; + req.debugConfigs.useBeaconsInBandVal[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_24GHZ] = true; + req.debugConfigs.useBeaconsInBandVal[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_5GHZ] = true; + req.debugConfigs.validUseSdfInBandVal = false; + req.debugConfigs.useSdfInBandVal[( + size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_24GHZ] = true; + req.debugConfigs + .useSdfInBandVal[(size_t)::android::hardware::wifi::V1_4::NanBandIndex::NAN_BAND_5GHZ] = + true; + + ::android::hardware::wifi::V1_6::NanConfigRequestSupplemental nanConfigRequestSupp = {}; + nanConfigRequestSupp.V1_5.V1_2.discoveryBeaconIntervalMs = 20; + nanConfigRequestSupp.V1_5.V1_2.numberOfSpatialStreamsInDiscovery = 0; + nanConfigRequestSupp.V1_5.V1_2.enableDiscoveryWindowEarlyTermination = false; + callbackType = INVALID; - ::android::hardware::wifi::V1_6::NanPublishRequest nanPublishRequest = {}; - const auto& halStatus = - HIDL_INVOKE(iwifiNanIface, startPublishRequest_1_6, inputCmdId, nanPublishRequest); + const auto& halStatus = + HIDL_INVOKE(iwifiNanIface, enableRequest_1_6, inputCmdId, req, nanConfigRequestSupp); if (halStatus.code != WifiStatusCode::ERROR_NOT_SUPPORTED) { ASSERT_EQ(WifiStatusCode::SUCCESS, halStatus.code); // wait for a callback + ASSERT_EQ(std::cv_status::no_timeout, wait(NOTIFY_ENABLE_RESPONSE)); + ASSERT_EQ(NOTIFY_ENABLE_RESPONSE, callbackType); + ASSERT_EQ(id, inputCmdId); + ASSERT_EQ(status.status, NanStatusType::SUCCESS); + } + ::android::hardware::wifi::V1_6::NanPublishRequest nanPublishRequest = {}; + nanPublishRequest.baseConfigs.sessionId = 0; + nanPublishRequest.baseConfigs.ttlSec = 0; + nanPublishRequest.baseConfigs.discoveryWindowPeriod = 1; + nanPublishRequest.baseConfigs.discoveryCount = 0; + nanPublishRequest.baseConfigs.serviceName = {97}; + + nanPublishRequest.baseConfigs.discoveryMatchIndicator = NanMatchAlg::MATCH_NEVER; + nanPublishRequest.baseConfigs.useRssiThreshold = false; + nanPublishRequest.baseConfigs.disableDiscoveryTerminationIndication = false; + nanPublishRequest.baseConfigs.disableMatchExpirationIndication = true; + nanPublishRequest.baseConfigs.disableFollowupReceivedIndication = false; + nanPublishRequest.baseConfigs.securityConfig.securityType = NanDataPathSecurityType::OPEN; + nanPublishRequest.autoAcceptDataPathRequests = false; + nanPublishRequest.publishType = NanPublishType::UNSOLICITED; + nanPublishRequest.txType = NanTxType::BROADCAST; + + const auto& halStatus1 = + HIDL_INVOKE(iwifiNanIface, startPublishRequest_1_6, inputCmdId + 1, nanPublishRequest); + + if (halStatus1.code != WifiStatusCode::ERROR_NOT_SUPPORTED) { + ASSERT_EQ(WifiStatusCode::SUCCESS, halStatus1.code); + + // wait for a callback ASSERT_EQ(std::cv_status::no_timeout, wait(NOTIFY_START_PUBLISH_RESPONSE)); ASSERT_EQ(NOTIFY_START_PUBLISH_RESPONSE, callbackType); - ASSERT_EQ(id, inputCmdId); - ASSERT_EQ(status.status, NanStatusType::INTERNAL_FAILURE); + ASSERT_EQ(id, inputCmdId + 1); + ASSERT_EQ(status.status, NanStatusType::SUCCESS); } } |