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

Commit 791fe054 authored by Nate(Qiang) Jiang's avatar Nate(Qiang) Jiang Committed by Android (Google) Code Review
Browse files

Merge "[VTS] test new API with success result" into tm-dev

parents 4f7f81c8 76dd9336
Loading
Loading
Loading
Loading
+105 −7
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@
#include <chrono>
#include <chrono>
#include <condition_variable>
#include <condition_variable>
#include <mutex>
#include <mutex>
#include <vector>


#include "wifi_hidl_call_util.h"
#include "wifi_hidl_call_util.h"
#include "wifi_hidl_test_utils.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(std::cv_status::no_timeout, wait(NOTIFY_CAPABILITIES_RESPONSE_1_6));
    ASSERT_EQ(NOTIFY_CAPABILITIES_RESPONSE_1_6, callbackType);
    ASSERT_EQ(NOTIFY_CAPABILITIES_RESPONSE_1_6, callbackType);
    ASSERT_EQ(id, inputCmdId);
    ASSERT_EQ(id, inputCmdId);
    ASSERT_EQ(status.status, NanStatusType::SUCCESS);


    // check for reasonable capability values
    // check for reasonable capability values
    EXPECT_GT(capabilities_1_6.maxConcurrentClusters, (unsigned int)0);
    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;
    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;
    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) {
    if (halStatus.code != WifiStatusCode::ERROR_NOT_SUPPORTED) {
        ASSERT_EQ(WifiStatusCode::SUCCESS, halStatus.code);
        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
        // wait for a callback
        ASSERT_EQ(std::cv_status::no_timeout, wait(NOTIFY_START_PUBLISH_RESPONSE));
        ASSERT_EQ(std::cv_status::no_timeout, wait(NOTIFY_START_PUBLISH_RESPONSE));
        ASSERT_EQ(NOTIFY_START_PUBLISH_RESPONSE, callbackType);
        ASSERT_EQ(NOTIFY_START_PUBLISH_RESPONSE, callbackType);
        ASSERT_EQ(id, inputCmdId);
        ASSERT_EQ(id, inputCmdId + 1);
        ASSERT_EQ(status.status, NanStatusType::INTERNAL_FAILURE);
        ASSERT_EQ(status.status, NanStatusType::SUCCESS);
    }
    }
}
}