From 3e1a1d32f56cc493340f08d6cc77513aed717549 Mon Sep 17 00:00:00 2001 From: Henry Fang Date: Tue, 4 May 2021 13:54:47 -0700 Subject: [PATCH] Fix bug for none fe test case bug: 182519645 Test: atest VtsHalTvTunerV1_0TargetTest Change-Id: I86458142ba4155274594a793eb939567bea24734 --- tv/tuner/1.0/vts/functional/DescramblerTests.cpp | 13 ++++++++----- .../functional/VtsHalTvTunerV1_0TargetTest.cpp | 15 +++++++++++---- .../VtsHalTvTunerV1_0TestConfigurations.h | 6 ++++-- tv/tuner/config/TunerTestingConfigReaderV1_0.h | 4 ++-- 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/tv/tuner/1.0/vts/functional/DescramblerTests.cpp b/tv/tuner/1.0/vts/functional/DescramblerTests.cpp index 2e27475e71..67f6baef38 100644 --- a/tv/tuner/1.0/vts/functional/DescramblerTests.cpp +++ b/tv/tuner/1.0/vts/functional/DescramblerTests.cpp @@ -53,12 +53,15 @@ AssertionResult DescramblerTests::openCasSession(TunerKeyToken& sessionId, return failure(); } - auto status = mCas->setSessionPrivateData(sessionId, hidlPvtData); - if (status != android::hardware::cas::V1_0::Status::OK) { - ALOGW("[vts] Failed to set session private data"); - mCas->closeSession(sessionId); - return failure(); + if (hidlPvtData.size() > 0) { + auto status = mCas->setSessionPrivateData(sessionId, hidlPvtData); + if (status != android::hardware::cas::V1_0::Status::OK) { + ALOGW("[vts] Failed to set session private data"); + mCas->closeSession(sessionId); + return failure(); + } } + return success(); } diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp index 62093ccbe5..b39abe3547 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TargetTest.cpp @@ -267,7 +267,9 @@ void TunerRecordHidlTest::attachSingleFilterToRecordDvrTest(FilterConfig filterC uint32_t demuxId; sp demux; ASSERT_TRUE(mDemuxTests.openDemux(demux, demuxId)); + mDvrTests.setDemux(demux); + DvrConfig dvrSourceConfig; if (record.hasFrontendConnection) { uint32_t feId; mFrontendTests.getFrontendIdByType(frontendConf.type, feId); @@ -275,13 +277,17 @@ void TunerRecordHidlTest::attachSingleFilterToRecordDvrTest(FilterConfig filterC ASSERT_TRUE(mFrontendTests.openFrontendById(feId)); ASSERT_TRUE(mFrontendTests.setFrontendCallback()); ASSERT_TRUE(mDemuxTests.setDemuxFrontendDataSource(feId)); + } else { + dvrSourceConfig = dvrMap[record.dvrSourceId]; + ASSERT_TRUE(mDvrTests.openDvrInDemux(dvrSourceConfig.type, dvrSourceConfig.bufferSize)); + ASSERT_TRUE(mDvrTests.configDvrPlayback(dvrSourceConfig.settings)); + ASSERT_TRUE(mDvrTests.getDvrPlaybackMQDescriptor()); } uint32_t filterId; sp filter; mFilterTests.setDemux(demux); - mDvrTests.setDemux(demux); ASSERT_TRUE(mDvrTests.openDvrInDemux(dvrConf.type, dvrConf.bufferSize)); ASSERT_TRUE(mDvrTests.configDvrRecord(dvrConf.settings)); ASSERT_TRUE(mDvrTests.getDvrRecordMQDescriptor()); @@ -327,6 +333,7 @@ void TunerDescramblerHidlTest::scrambledBroadcastTest(set m mFrontendTests.setDemux(demux); } else { dvrSourceConfig = dvrMap[descrambling.dvrSourceId]; + mDvrTests.setDemux(demux); ASSERT_TRUE(mDvrTests.openDvrInDemux(dvrSourceConfig.type, dvrSourceConfig.bufferSize)); ASSERT_TRUE(mDvrTests.configDvrPlayback(dvrSourceConfig.settings)); ASSERT_TRUE(mDvrTests.getDvrPlaybackMQDescriptor()); @@ -641,7 +648,7 @@ TEST_P(TunerRecordHidlTest, RecordDataFlowWithTsRecordFilterTest) { TEST_P(TunerRecordHidlTest, LnbRecordDataFlowWithTsRecordFilterTest) { description("Feed ts data from Fe with Lnb to recording and test with ts record filter"); - if (lnbRecord.support) { + if (!lnbRecord.support) { return; } recordSingleFilterTestWithLnb(filterMap[lnbRecord.recordFilterId], @@ -651,7 +658,7 @@ TEST_P(TunerRecordHidlTest, LnbRecordDataFlowWithTsRecordFilterTest) { TEST_P(TunerDescramblerHidlTest, CreateDescrambler) { description("Create Descrambler"); - if (descrambling.support) { + if (!descrambling.support) { return; } uint32_t demuxId; @@ -678,7 +685,7 @@ TEST_P(TunerDescramblerHidlTest, CreateDescrambler) { TEST_P(TunerDescramblerHidlTest, ScrambledBroadcastDataFlowMediaFiltersTest) { description("Test ts audio filter in scrambled broadcast use case"); - if (descrambling.support) { + if (!descrambling.support) { return; } set filterConfs; diff --git a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TestConfigurations.h b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TestConfigurations.h index 885cafd303..2cea181268 100644 --- a/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TestConfigurations.h +++ b/tv/tuner/1.0/vts/functional/VtsHalTvTunerV1_0TestConfigurations.h @@ -216,8 +216,10 @@ inline bool validateConnections() { return false; } - bool filterIsValid = filterMap.find(live.audioFilterId) != filterMap.end() && - filterMap.find(live.videoFilterId) != filterMap.end(); + bool filterIsValid = (live.hasFrontendConnection) + ? filterMap.find(live.audioFilterId) != filterMap.end() && + filterMap.find(live.videoFilterId) != filterMap.end() + : true; filterIsValid &= playback.support ? (filterMap.find(playback.audioFilterId) != filterMap.end() && filterMap.find(playback.videoFilterId) != filterMap.end()) diff --git a/tv/tuner/config/TunerTestingConfigReaderV1_0.h b/tv/tuner/config/TunerTestingConfigReaderV1_0.h index f7f72b038e..0688219575 100644 --- a/tv/tuner/config/TunerTestingConfigReaderV1_0.h +++ b/tv/tuner/config/TunerTestingConfigReaderV1_0.h @@ -480,7 +480,6 @@ struct TunerTestingConfigReader1_0 { return; } auto recordConfig = *dataFlow.getFirstDvrRecord(); - record.frontendId = recordConfig.getFrontendConnection(); record.recordFilterId = recordConfig.getRecordFilterConnection(); record.dvrRecordId = recordConfig.getDvrRecordConnection(); if (recordConfig.hasDvrSoftwareFeConnection()) { @@ -489,6 +488,7 @@ struct TunerTestingConfigReader1_0 { if (recordConfig.getHasFrontendConnection()) { record.hasFrontendConnection = true; record.dvrSourceId = emptyHardwareId; + record.frontendId = recordConfig.getFrontendConnection(); } else { record.hasFrontendConnection = false; record.dvrSourceId = recordConfig.getDvrSourceConnection(); @@ -504,7 +504,6 @@ struct TunerTestingConfigReader1_0 { return; } auto descConfig = *dataFlow.getFirstDescrambling(); - descrambling.frontendId = descConfig.getFrontendConnection(); descrambling.descramblerId = descConfig.getDescramblerConnection(); descrambling.audioFilterId = descConfig.getAudioFilterConnection(); descrambling.videoFilterId = descConfig.getVideoFilterConnection(); @@ -514,6 +513,7 @@ struct TunerTestingConfigReader1_0 { if (descConfig.getHasFrontendConnection()) { descrambling.hasFrontendConnection = true; descrambling.dvrSourceId = emptyHardwareId; + descrambling.frontendId = descConfig.getFrontendConnection(); } else { descrambling.hasFrontendConnection = false; descrambling.dvrSourceId = descConfig.getDvrSourceConnection();