Merge "Update VTS cases for IPTV tuning" into main

This commit is contained in:
Sadiq Sada
2023-12-21 22:20:59 +00:00
committed by Android (Google) Code Review
4 changed files with 69 additions and 0 deletions

View File

@@ -37,6 +37,7 @@ cc_test {
"FrontendTests.cpp",
"LnbTests.cpp",
"VtsHalTvTunerTargetTest.cpp",
"utils/IpStreamer.cpp",
],
generated_headers: [
"tuner_testing_dynamic_configuration_V1_0_enums",

View File

@@ -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);
}

View File

@@ -27,6 +27,7 @@
#include "DvrTests.h"
#include "VtsHalTvTunerTestConfigurations.h"
#include "utils/IpStreamer.h"
#define WAIT_TIMEOUT 3000000000
#define INVALID_ID -1

View File

@@ -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()) {