CMF
RDK Releases
Documentation
CMF Videos
Support
Support for CMF is provided by the RDK Support group.
To contact RDK Support:
Enter a ticket: https://jira.rdkcentral.com/
or
E-mail: support@rdkcentral.com
CMF perform automated sanity testing of multiple video reference platforms on both Gerrit and Github contributions and on nightly branches.
Testing can also be performed on tip dunfell/rdk-next on demand.
CMF Sanity Tests are command line driven (e.g. gst-launch, aamp-cli) as well as UI driven. We have UI tests for the following UI's:
CMF Video Sanity Tests use the StormTestTM product to do image comparison, video and audio detection, OCR etc..
CMF currently support the following platforms and profiles for contribution and nightly branch CI.
Platform | Profiles | Testing | Comment |
---|---|---|---|
RPI 4 IP Client Mixed Mode ACK | Video Accelerator UI | Nightly | |
RPI 4 Hybrid Mixed Mode ACK | Video Accelerator UI | Nightly Contribution | |
RPI 4 Mediaclient Mixed Mode ACK | Video Accelerator UI | Nightly | |
BRCM972180HB | Video Accelerator UI LGI Refapp2 | Contribution Nightly Contribution Nightly | contribution builds for Video Accelerator profile are meta layers only |
BRCM972180HB | DTVKit DVB UI | On Demand | |
SAGEMCOM (Broadcom) | Video Accelerator UI | Nightly | |
AMLOGIC AH212 IP Client | Video Accelerator UI | Contribution Nightly | contribution builds are meta layers only |
AMLOGIC AT301 TV Profile | Video Accelerator UI | Contribution Nightly | contribution builds are meta layers only |
SKYWORTH (Amlogic) | Video Accelerator UI | Nightly | |
REALTEK | Video Accelerator UI | Contribution Nightly | contribution builds are meta layers only |
SERCOM (Blade Realtek) | Video Accelerator UI | Nightly |
Each sanity test flow follows the same principle:
Aim is to keep each sanity test flow to <= 30 minutes.
All interaction with the DUT is done via serial and ssh.
Some examples of the automated flows:
Automated Flow Examples |
|||
---|---|---|---|
Tests are split between command line and UI based tests.
A global appState variable is used to determine if the app should be stopped/started or is running based on the test being run.
Test | Short Description | RPI 3 Hybrid | RPI 3 Mediaclient | RPI 3 | RPI 3 Refapp2 | RPI 4 Hybrid 32 Bit | RPI 4 Mediaclient 32 Bit | BRCM VA | SAGEMCOM VA | BRCM Refapp2 | AMLOGIC AH212 | AMLOGIC AT301 | SKYWORTH VA | REALTEK | SERCOM VA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
gst-play-1.0 | play a H264 or MPEG 2 local transport stream | ||||||||||||||
gst-launch uri=aamp | test playback using gst-launch with aamp uri using HLS manifest | ||||||||||||||
aamp-cli HLS | HLS (.m3u8) video streaming using aamp-cli | ||||||||||||||
aamp-cli DASH | DASH (.mpd) video streaming using aamp-cli | ||||||||||||||
aamp-cli PLAYREADY_DRM | Encrypted Playready Playback with aamp-cli | WIP | WIP | WIP | |||||||||||
aamp-cli WIDEVINE_DRM | Encrypted Widevine Playback with aamp-cli | WIP | WIP | ||||||||||||
rmfApp | test streaming from hybrid to client | ||||||||||||||
rdkShellServicesCITest | RDK Shell CI tests which test RDK Shell/Services API's | ||||||||||||||
aampCI Tests | Launches AAMP based unified player URL in a webkit instance and runs the embedded tests |
Test | Short Description | RPI 3 Hybrid | RPI 3 Mediaclient | RPI 3 | RPI 4 Hybrid 32 Bit | RPI 4 Mediaclient 32 Bit | BRCM RefBoard VA | SAGEMCOM VA | AMLOGIC AH212 RefBoard VA | AMLOGIC AT301 RefBoard VA | SKYWORTH VA | REALTEK RefBoard VA | SERCOM VA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
vaHomeScreenTest | check resident UI app has loaded | ||||||||||||
vaCNNVideo1Test | test CNN app launch and video playback | ||||||||||||
vaVODVideoTest | test VOD playback from resident UI | ||||||||||||
vaVimeoVideo1Test | test Vimeo app launch and playback | ||||||||||||
vaYoutubeVideoTest | test YouTube launch and playback | ||||||||||||
vaSettingsScreenCaptureTest | capture va settings screens | ||||||||||||
vaEuroNewsVideoTest | test euronews launch and playback | ||||||||||||
vaAccuWeatherTest | test Accuweather app launch and check Cork weather | ||||||||||||
vaWSJVideoTest | test WSJ app launch and playback |
Test | Short Description | RPI 3 Refapp2 | BRCM Refapp2 |
---|---|---|---|
refAppHomeScreenVideoTest | check Refapp2 UI has loaded | ||
refAppMovieVoDVideoTest | verify movies screen and video playback using session manager | ||
refAppTVChannelVideoTest | channel change menu and channel change video tests from left banner and from main screen banner | ||
refAppMovieVoDFMPVideoTest | Encrypted playback (DRM) via movies screen | ||
refAppLightningBouncingBallAppTest | verify lightning app launch | ||
refAppHTML5AppTest | verify HTML 5 app launch | ||
refAppDACTest | verify DAC application download, launch and playback | WIP | WIP |
Test | Short Description | BRCM DVB |
---|---|---|
dvbCCountrySetupCheck | check DVB app has loaded and if first boot set/verify the country | |
dvbCScanParamCheck | check scan param screen and set/verify scan parameters | |
dvbCBBCONEVideoTest | verify channel scan was successful and verify BBC 1 video playback | |
dvbCBBCTWOVideoTest | verify channel scan was successful and verify BBC 2 video playback |
Each CMF Sanity Test Flow logs all the stages from image deployment, flashing, testing. This along with the DUT logs and video test reports are stored in Jenkins and in S3 buckets.
The video logs contain serial output from the device, logging from the test framework and screen grabs so you can actually see what was happening on the device during the test.
example jenkins sanity flow archive:
example fullLog.txt:
Flash BCMREF Flash BCM Reference r05s12 Sequence Start get BOLT> prompt [SUCCESS] boot initrd image [SUCCESS] flash bcm rootfs [SUCCESS] get BOLT> prompt [SUCCESS] boot bcm reference image [SUCCESS] Check Service rmfstreamer [SUCCESS] Check Service wpeframework [SUCCESS] Check Ip Addr 10.5.25.72 [SUCCESS] Flash BCM Reference r05s12 Sequence [SUCCESS] Play BCMREF "Testing Sequence Started" HLS Video Streaming using aamp-cli [SUCCESS] DASH Video Streaming using aamp-cli [SUCCESS] PLAYREADY_DRM Video Streaming using aamp-cli [SUCCESS] Video Accelerator Home Screen Test [SUCCESS] Video Accelerator CNN App Video Detection Test [SUCCESS] Video Accelerator VOD Video Detection Test [SUCCESS] AAMP CI Tests [SUCCESS] AAMP CI: WebApp launch passed AAMP CI: 1 tests passed AAMP CI: 0 tests failed AAMP CI: HTML Web App Tests Passed Testing Sequence [SUCCESS]
gerrit/github message:
example snippet from the StormTest video log for the CNN APP Video Detection Test:
Lab Pictures |
|||
---|---|---|---|