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

Commit 7a191395 authored by sadiqsada's avatar sadiqsada Committed by Sadiq Sada
Browse files

Update VTS cases for IPTV tuning

IPTV tuning relies on a socket streaming TS data. This CL uses
the interface defined in IpStreamer to test whether TS data
is availble on a socket, and decides to send LOCKED event based
on the result.

Bug: 288170590
Test: atest VtsHalTvTunerTargetTest
Change-Id: I79c933458f01f18d35e85c53f67f3c1d3d21dbce
parent 6c3ed373
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ cc_test {
        "FrontendTests.cpp",
        "LnbTests.cpp",
        "VtsHalTvTunerTargetTest.cpp",
        "utils/IpStreamer.cpp",
    ],
    generated_headers: [
        "tuner_testing_dynamic_configuration_V1_0_enums",
+7 −0
Original line number Diff line number Diff line
@@ -475,6 +475,10 @@ AssertionResult FrontendTests::tuneFrontend(FrontendConfig config, bool testWith
            << "FrontendConfig does not match the frontend info of the given id.";

    mIsSoftwareFe = config.isSoftwareFe;
    std::unique_ptr<IpStreamer> ipThread = std::make_unique<IpStreamer>();
    if (config.type == FrontendType::IPTV) {
        ipThread->startIpStream();
    }
    if (mIsSoftwareFe && testWithDemux) {
        if (getDvrTests()->openDvrInDemux(mDvrConfig.type, mDvrConfig.bufferSize) != success()) {
            ALOGW("[vts] Software frontend dvr configure openDvr failed.");
@@ -494,6 +498,9 @@ AssertionResult FrontendTests::tuneFrontend(FrontendConfig config, bool testWith
        getDvrTests()->startDvrPlayback();
    }
    mFrontendCallback->tuneTestOnLock(mFrontend, config.settings);
    if (config.type == FrontendType::IPTV) {
        ipThread->stopIpStream();
    }
    return AssertionResult(true);
}

+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@

#include "DvrTests.h"
#include "VtsHalTvTunerTestConfigurations.h"
#include "utils/IpStreamer.h"

#define WAIT_TIMEOUT 3000000000
#define INVALID_ID -1
+60 −0
Original line number Diff line number Diff line
@@ -683,6 +683,10 @@ TEST_P(TunerDemuxAidlTest, openDemux) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
        live = configuration;
@@ -779,6 +783,10 @@ TEST_P(TunerFilterAidlTest, StartFilterInDemux) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    // TODO use parameterized tests
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
@@ -793,6 +801,10 @@ TEST_P(TunerFilterAidlTest, ConfigIpFilterInDemuxWithCid) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
        live = configuration;
@@ -808,6 +820,10 @@ TEST_P(TunerFilterAidlTest, ReconfigFilterToReceiveStartId) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    // TODO use parameterized tests
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
@@ -1111,6 +1127,10 @@ TEST_P(TunerRecordAidlTest, RecordDataFlowWithTsRecordFilterTest) {
    if (!record.support) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto record_configs = generateRecordConfigurations();
    for (auto& configuration : record_configs) {
        record = configuration;
@@ -1125,6 +1145,10 @@ TEST_P(TunerRecordAidlTest, AttachFiltersToRecordTest) {
    if (!record.support) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto record_configs = generateRecordConfigurations();
    for (auto& configuration : record_configs) {
        record = configuration;
@@ -1157,6 +1181,10 @@ TEST_P(TunerRecordAidlTest, SetStatusCheckIntervalHintToRecordTest) {
    if (!record.support) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto record_configs = generateRecordConfigurations();
    for (auto& configuration : record_configs) {
        record = configuration;
@@ -1194,6 +1222,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontend) {
    if (!scan.hasFrontendConnection) {
        return;
    }
    // Blind scan is not applicable for IPTV frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    vector<ScanHardwareConnections> scan_configs = generateScanConfigurations();
    for (auto& configuration : scan_configs) {
        scan = configuration;
@@ -1218,6 +1250,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontendWithEndFrequency) {
    if (!scan.hasFrontendConnection) {
        return;
    }
    // Blind scan is not application for IPTV frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    vector<ScanHardwareConnections> scan_configs = generateScanConfigurations();
    for (auto& configuration : scan_configs) {
        scan = configuration;
@@ -1242,6 +1278,10 @@ TEST_P(TunerFrontendAidlTest, LinkToCiCam) {

TEST_P(TunerFrontendAidlTest, getHardwareInfo) {
    description("Test Frontend get hardware info");
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    if (!live.hasFrontendConnection) {
        return;
    }
@@ -1289,6 +1329,10 @@ TEST_P(TunerBroadcastAidlTest, BroadcastDataFlowAudioFilterTest) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
        live = configuration;
@@ -1316,6 +1360,10 @@ TEST_P(TunerBroadcastAidlTest, IonBufferTest) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
        live = configuration;
@@ -1345,6 +1393,10 @@ TEST_P(TunerBroadcastAidlTest, MediaFilterWithSharedMemoryHandle) {
    if (!live.hasFrontendConnection) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    auto live_configs = generateLiveConfigurations();
    for (auto& configuration : live_configs) {
        live = configuration;
@@ -1358,6 +1410,10 @@ TEST_P(TunerDescramblerAidlTest, CreateDescrambler) {
    if (!descrambling.support) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    vector<DescramblingHardwareConnections> descrambling_configs =
            generateDescramblingConfigurations();
    if (descrambling_configs.empty()) {
@@ -1394,6 +1450,10 @@ TEST_P(TunerDescramblerAidlTest, ScrambledBroadcastDataFlowMediaFiltersTest) {
    if (!descrambling.support) {
        return;
    }
    // Do not execute tests for IPTV Frontend
    if (frontendMap[live.frontendId].type == FrontendType::IPTV) {
        return;
    }
    vector<DescramblingHardwareConnections> descrambling_configs =
            generateDescramblingConfigurations();
    if (descrambling_configs.empty()) {