- Overview
- Acronyms, Terms and Abbreviations
- References
- Level 3 Test cases High Level Overview
- Level 3 Python Test
This document describes the L3 Low Level Test Specification and Procedure Documentation for the Device Settings Video Device module.
HAL
- Hardware Abstraction Layer, may include some common componentsDFC
- Decoder Format ConversionOEM
- Original Equipment ManufactureSoC
- System on a ChipL3
- Level 3 TestingDS
- Device SettingsHDR
- High Dynamic RangeFPS
- Frames Per Second.FRF
- Frame Rate FrequencyHEVC
- High Efficiency Video CodingRAFT
- Rapid Automation Framework for TestingDUT
- Device Under TestNA
- Not ApplicableY
- Yes
High Level Test Specification
- dsVideoDevice High Level TestSpecInterface header
- dsVideoDevice HAL header
# | Streams Name | Streams description |
---|---|---|
1 | scrolling_text_fast_3840x2160_23.98fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 23.98 |
2 | scrolling_text_fast_3840x2160_24fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 24 |
3 | scrolling_text_fast_3840x2160_25fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 25 |
4 | scrolling_text_fast_3840x2160_29.97fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 29.97 |
5 | scrolling_text_fast_3840x2160_30fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 30 |
6 | scrolling_text_fast_3840x2160_50fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 50 |
7 | scrolling_text_fast_3840x2160_59.94fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 59.94 |
8 | scrolling_text_fast_3840x2160_60fps.mp4 | Resolution: 3840x2160, Framerate Per Second: 60 |
9 | scrolling_text_fast_1920x1080_60fps.mp4 | Resolution: 1920x1080, Framerate Per Second: 60 |
Below are top test use-case for the Video Display.
# | Test-case | Description | HAL APIs | Source | Sink | Streams Number |
---|---|---|---|---|---|---|
1 | Verify the Video Display framerate change with pre and post change callback. | Set the auto framerate mode and check the callback is triggered before and after when the framerate of a display changes | dsRegisterFrameratePreChangeCB() , dsRegisterFrameratePostChangeCB() |
NA |
Y |
1,2,3,4,5,6,7,8 |
2 | Set and verify the Zoom mode of the source device | Play any video content and Set the supported Zoom mode and verify the selected Zoom mode | dsSetDFC() , dsGetDFC() |
Y |
NA |
9 |
3 | Select the Device Frame Rate of Sink device | Select the Device Frame Rate of Sink device and on playing video playback verify dsSetDisplayframerate() |
dsSetDisplayframerate() |
NA |
Y |
1,2,3,4,5,6,7,8 |
4 | Set and verify the FRF mode |
Select theFRF mode and verify the selected FRF mode with video playback |
dsSetFRFMode() |
NA |
Y |
1,2,3,4,5,6,7,8 |
The class diagram below illustrates the flow of dsVideoDevice L3 Python test cases:
---
title: dsVideoDevice - Python Class Flow
---
classDiagram
testControl <|-- ut_raft : inherits
class ut_raft{
}
ut_raft <|-- dsVideoDeviceHelperClass : inherits
dsVideoDeviceHelperClass <|-- L3_TestClasses : inherits
L3_TestClasses ..> dsVideoDevice : uses
note for testControl "uses rackConfig.yaml and deviceConfig.yaml"
note for dsVideoDevice "uses platformProfile.yaml"
note for L3_TestClasses "uses testSetupConfig.yaml"
note for ut_raft "suite Navigator uses testConfig.yaml"
- testControl
- Test Control Module for running rack Testing. This module configures the
DUT
based on the rack configuration file provided to the test. - This class is defined in
RAFT
framework. For more details refer RAFT
- Test Control Module for running rack Testing. This module configures the
- ut_raft
- Python based testing framework for writing engineering tests.
- It provides common functionalities like menu navigation, configuration reader, reading user response etc.
- For more details ut-raft.
- dsVideoDevice
- This is test helper class which communicates with the
L3
C/C++ test running on theDUT
through menu
- This is test helper class which communicates with the
- L3_TestClasses
- These are the L3 test case classes
- Each class covers the each test use-case defined in L3 Test use-cases table
-
rackConfig.yaml
- Identifies the rack configuration and platform used
- References platform-specific config from
deviceConfig.yaml
- For more details refer RAFT and example_rack_config.yml
-
deviceConfig.yaml
- Specifies overall configuration for the platform
- Can be overridden by:
- Changing locally .yaml file directory
- Using --deviceConfig command line switch
- For more details refer RAFT and example_device_config.yml
-
componentProfile.yaml/platformProfile.yaml
- Contains component-specific configurations
- Contains platform wide configuration broken down into separate components
- Example configuration file dsVideoDevice_Settings
-
testSetupConfig.yaml
- This configuration file contains the list of requirements for tests to execute. Eg: Copying the streams, setting environment variables etc.
- Example configuration file dsVideoDevice_L3_testSetup.yml
-
testConfig.yaml
- This configuration file contains the list of menu items for C/C++ L3 test running on
DUT
- Example configuration file dsVideoDevice_testConfig.yml
- This configuration file contains the list of menu items for C/C++ L3 test running on