Loading tv/tuner/1.1/vts/functional/FilterTests.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,7 @@ AssertionResult FilterTests::startFilter(uint64_t filterId) { AssertionResult FilterTests::stopFilter(uint64_t filterId) { EXPECT_TRUE(mFilters[filterId]) << "Test with getNewlyOpenedFilterId first."; Result status = mFilters[filterId]->stop(); return AssertionResult(status == Result::SUCCESS); } Loading tv/tuner/1.1/vts/functional/FrontendTests.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,36 @@ AssertionResult FrontendTests::getFrontendDtmbCaps(uint32_t id) { return AssertionResult(status == Result::SUCCESS); } AssertionResult FrontendTests::linkCiCam(uint32_t ciCamId) { sp<android::hardware::tv::tuner::V1_1::IFrontend> frontend_1_1; frontend_1_1 = android::hardware::tv::tuner::V1_1::IFrontend::castFrom(mFrontend); if (frontend_1_1 == nullptr) { EXPECT_TRUE(false) << "Couldn't get 1.1 IFrontend from the Hal implementation."; return failure(); } Result status; uint32_t ltsId; frontend_1_1->linkCiCam(ciCamId, [&](Result r, uint32_t id) { status = r; ltsId = id; }); return AssertionResult(status == Result::SUCCESS); } AssertionResult FrontendTests::unlinkCiCam(uint32_t ciCamId) { sp<android::hardware::tv::tuner::V1_1::IFrontend> frontend_1_1; frontend_1_1 = android::hardware::tv::tuner::V1_1::IFrontend::castFrom(mFrontend); if (frontend_1_1 == nullptr) { EXPECT_TRUE(false) << "Couldn't get 1.1 IFrontend from the Hal implementation."; return failure(); } Result status = frontend_1_1->unlinkCiCam(ciCamId); return AssertionResult(status == Result::SUCCESS); } void FrontendTests::verifyFrontendStatusExt1_1(vector<FrontendStatusTypeExt1_1> statusTypes, vector<FrontendStatusExt1_1> expectStatuses) { ASSERT_TRUE(mFrontend) << "Frontend is not opened yet."; Loading Loading @@ -465,6 +495,10 @@ void FrontendTests::tuneTest(FrontendConfig frontendConf) { ASSERT_TRUE(feId != INVALID_ID); ASSERT_TRUE(openFrontendById(feId)); ASSERT_TRUE(setFrontendCallback()); if (frontendConf.canConnectToCiCam) { ASSERT_TRUE(linkCiCam(frontendConf.ciCamId)); ASSERT_TRUE(unlinkCiCam(frontendConf.ciCamId)); } ASSERT_TRUE(tuneFrontend(frontendConf, false /*testWithDemux*/)); verifyFrontendStatusExt1_1(frontendConf.tuneStatusTypes, frontendConf.expectTuneStatuses); ASSERT_TRUE(stopTuneFrontend(false /*testWithDemux*/)); Loading tv/tuner/1.1/vts/functional/FrontendTests.h +3 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ class FrontendTests { AssertionResult closeFrontend(); AssertionResult getFrontendDtmbCaps(uint32_t); AssertionResult linkCiCam(uint32_t ciCamId); AssertionResult unlinkCiCam(uint32_t ciCamId); void getFrontendIdByType(FrontendType feType, uint32_t& feId); void tuneTest(FrontendConfig frontendConf); void scanTest(FrontendConfig frontend, FrontendScanType type); Loading tv/tuner/1.1/vts/functional/VtsHalTvTunerV1_1TargetTest.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,11 @@ TEST_P(TunerFrontendHidlTest, GetFrontendDtmbCaps) { mFrontendTests.getFrontendDtmbCapsTest(); } TEST_P(TunerFrontendHidlTest, LinkToCiCam) { description("Test Frontend link to CiCam"); mFrontendTests.tuneTest(frontendArray[defaultFrontend]); } INSTANTIATE_TEST_SUITE_P( PerInstance, TunerBroadcastHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), Loading tv/tuner/1.1/vts/functional/VtsHalTvTunerV1_1TestConfigurations.h +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ struct FilterConfig { struct FrontendConfig { bool isSoftwareFe; bool canConnectToCiCam; uint32_t ciCamId; FrontendType type; FrontendSettings settings; FrontendSettingsExt1_1 settingsExt1_1; Loading @@ -121,6 +123,7 @@ static FrontendConfig frontendArray[FILTER_MAX]; static FrontendConfig frontendScanArray[SCAN_MAX]; static FilterConfig filterArray[FILTER_MAX]; static DvrConfig dvrArray[DVR_MAX]; static int defaultFrontend = DVBT; /** Configuration array for the frontend tune test */ inline void initFrontendConfig() { Loading Loading @@ -150,6 +153,8 @@ inline void initFrontendConfig() { frontendArray[DVBT].tuneStatusTypes = types; frontendArray[DVBT].expectTuneStatuses = statuses; frontendArray[DVBT].isSoftwareFe = true; frontendArray[DVBT].canConnectToCiCam = true; frontendArray[DVBT].ciCamId = 0; frontendArray[DVBT].settingsExt1_1.settingExt.dvbt({ .transmissionMode = android::hardware::tv::tuner::V1_1::FrontendDvbtTransmissionMode::MODE_8K_E, Loading Loading
tv/tuner/1.1/vts/functional/FilterTests.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -274,6 +274,7 @@ AssertionResult FilterTests::startFilter(uint64_t filterId) { AssertionResult FilterTests::stopFilter(uint64_t filterId) { EXPECT_TRUE(mFilters[filterId]) << "Test with getNewlyOpenedFilterId first."; Result status = mFilters[filterId]->stop(); return AssertionResult(status == Result::SUCCESS); } Loading
tv/tuner/1.1/vts/functional/FrontendTests.cpp +34 −0 Original line number Diff line number Diff line Loading @@ -305,6 +305,36 @@ AssertionResult FrontendTests::getFrontendDtmbCaps(uint32_t id) { return AssertionResult(status == Result::SUCCESS); } AssertionResult FrontendTests::linkCiCam(uint32_t ciCamId) { sp<android::hardware::tv::tuner::V1_1::IFrontend> frontend_1_1; frontend_1_1 = android::hardware::tv::tuner::V1_1::IFrontend::castFrom(mFrontend); if (frontend_1_1 == nullptr) { EXPECT_TRUE(false) << "Couldn't get 1.1 IFrontend from the Hal implementation."; return failure(); } Result status; uint32_t ltsId; frontend_1_1->linkCiCam(ciCamId, [&](Result r, uint32_t id) { status = r; ltsId = id; }); return AssertionResult(status == Result::SUCCESS); } AssertionResult FrontendTests::unlinkCiCam(uint32_t ciCamId) { sp<android::hardware::tv::tuner::V1_1::IFrontend> frontend_1_1; frontend_1_1 = android::hardware::tv::tuner::V1_1::IFrontend::castFrom(mFrontend); if (frontend_1_1 == nullptr) { EXPECT_TRUE(false) << "Couldn't get 1.1 IFrontend from the Hal implementation."; return failure(); } Result status = frontend_1_1->unlinkCiCam(ciCamId); return AssertionResult(status == Result::SUCCESS); } void FrontendTests::verifyFrontendStatusExt1_1(vector<FrontendStatusTypeExt1_1> statusTypes, vector<FrontendStatusExt1_1> expectStatuses) { ASSERT_TRUE(mFrontend) << "Frontend is not opened yet."; Loading Loading @@ -465,6 +495,10 @@ void FrontendTests::tuneTest(FrontendConfig frontendConf) { ASSERT_TRUE(feId != INVALID_ID); ASSERT_TRUE(openFrontendById(feId)); ASSERT_TRUE(setFrontendCallback()); if (frontendConf.canConnectToCiCam) { ASSERT_TRUE(linkCiCam(frontendConf.ciCamId)); ASSERT_TRUE(unlinkCiCam(frontendConf.ciCamId)); } ASSERT_TRUE(tuneFrontend(frontendConf, false /*testWithDemux*/)); verifyFrontendStatusExt1_1(frontendConf.tuneStatusTypes, frontendConf.expectTuneStatuses); ASSERT_TRUE(stopTuneFrontend(false /*testWithDemux*/)); Loading
tv/tuner/1.1/vts/functional/FrontendTests.h +3 −0 Original line number Diff line number Diff line Loading @@ -123,6 +123,9 @@ class FrontendTests { AssertionResult closeFrontend(); AssertionResult getFrontendDtmbCaps(uint32_t); AssertionResult linkCiCam(uint32_t ciCamId); AssertionResult unlinkCiCam(uint32_t ciCamId); void getFrontendIdByType(FrontendType feType, uint32_t& feId); void tuneTest(FrontendConfig frontendConf); void scanTest(FrontendConfig frontend, FrontendScanType type); Loading
tv/tuner/1.1/vts/functional/VtsHalTvTunerV1_1TargetTest.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,11 @@ TEST_P(TunerFrontendHidlTest, GetFrontendDtmbCaps) { mFrontendTests.getFrontendDtmbCapsTest(); } TEST_P(TunerFrontendHidlTest, LinkToCiCam) { description("Test Frontend link to CiCam"); mFrontendTests.tuneTest(frontendArray[defaultFrontend]); } INSTANTIATE_TEST_SUITE_P( PerInstance, TunerBroadcastHidlTest, testing::ValuesIn(android::hardware::getAllHalInstanceNames(ITuner::descriptor)), Loading
tv/tuner/1.1/vts/functional/VtsHalTvTunerV1_1TestConfigurations.h +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ struct FilterConfig { struct FrontendConfig { bool isSoftwareFe; bool canConnectToCiCam; uint32_t ciCamId; FrontendType type; FrontendSettings settings; FrontendSettingsExt1_1 settingsExt1_1; Loading @@ -121,6 +123,7 @@ static FrontendConfig frontendArray[FILTER_MAX]; static FrontendConfig frontendScanArray[SCAN_MAX]; static FilterConfig filterArray[FILTER_MAX]; static DvrConfig dvrArray[DVR_MAX]; static int defaultFrontend = DVBT; /** Configuration array for the frontend tune test */ inline void initFrontendConfig() { Loading Loading @@ -150,6 +153,8 @@ inline void initFrontendConfig() { frontendArray[DVBT].tuneStatusTypes = types; frontendArray[DVBT].expectTuneStatuses = statuses; frontendArray[DVBT].isSoftwareFe = true; frontendArray[DVBT].canConnectToCiCam = true; frontendArray[DVBT].ciCamId = 0; frontendArray[DVBT].settingsExt1_1.settingExt.dvbt({ .transmissionMode = android::hardware::tv::tuner::V1_1::FrontendDvbtTransmissionMode::MODE_8K_E, Loading