- Acronyms, Terms and Abbreviations
- Description
- Reference Documents
- How to build the test suite
- Notes
- Manual way of running the L1 and L2 test cases
- Setting Python environment for running the L1 L2 and L3 automation test cases
HAL- Hardware Abstraction LayerHDMI- High Definition Multimedia InterfaceCEC- Consumer Electronics ControlL1- Functional TestsL2- Module functional TestingL3- Module testing with External Stimulus is required to validate and control deviceAPI- Application Programming InterfaceHigh-Level Test Specification: These specification will provide a broad overview of the system's functionality from the callers' perspective. It focuses on major use cases, system behavior, and overall caller experience.Low-Level Test Specification: These specification will deeper into the technical details. They will define specific test cases with inputs, expected outputs, and pass/fail criteria for individual functionalities, modules, or APIs.
This repository contains the Unit Test Suites(L1 , L2 and L3) for HDMI CEC HAL.
| SNo | Document Name | Document Description | Document Link |
|---|---|---|---|
| 1 | HAL Specification Document |
This document provides specific information on the APIs for which tests are written in this module | hdmi-cec_halSpec.md |
| 2 | High Level Test Spec for sink device | High Level Test Specification Documentation for the HDMI CEC Sink device |
hdmi-cec-sink_High-Level_TestSpec.md |
| 3 | L2 Low Level Test Spec for sink device |
L2 Low Level Test Specification and Procedure Documentation for the HDMI CEC Sink device |
hdmi-cec-sink_L2_Low-Level_TestSpec.md |
| 4 | High Level Test Spec for Source device | High Level Test Specification Documentation for the HDMI CEC Source device |
hdmi-cec-source_High-Level_TestSpec.md |
| 5 | L2 Low Level Test Spec for Source device |
L2 Low Level Test Specification and Procedure Documentation for the HDMI CEC Source device |
hdmi-cec-source_L2_Low-Level_TestSpec.md |
| 6 | L1 and L2 Test procedure document |
L1 and L2 Test procedure document for the HDMI CEC |
hdmi-cec-L1_L2_TestProcedure.md |
| 7 | L3 Low Level Test Specification |
L3 Low Level Test Specification for the HDMI CEC |
hdmi-cec-L3-Low-Level_TestSpec.md |
| 8 | L3 Test procedure document |
L3 Test procedure document for the HDMI CEC |
hdmi-cec-L3_TestProcedure.md |
- All APIs need to be implemented in this current version. If any API is not supported, please add stub implementation with return type HDMI_CEC_IO_OPERATION_NOT_SUPPORTED for the same.
- Building against the actual library may introduce SOC dependencies. Hence, a template SKELETON library is created without SOC dependencies. On the real platform (target), it can be mounted, copied and bound with the actual library.
- When running the binary, remember to include a profile file as an argument for designated test cases.
In order to build the test suits, there is a requirement to supply the toolchain, either as a vendor independent toolchain, an SDK, or an RDK Docker Toolchain .
For more information about RDK Docker Toolchain, please check RDK Docker Toolchain
- Export the Toolchain Path:
export TOOLCHAIN_PATH=/opt/toolchains/rdk-glibc-x86_64/sysroots/armv7at2hf-neon-rdk-linux-gnueabi
export CC="arm-rdk-linux-gnueabi-gcc -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=$TOOLCHAIN_PATH"- Clone the
HALRepository:
git clone git@github.com:rdkcentral/rdk-halif-hdmi_cec.git- Set Project Version:
If you want to build the test repository with a specific tag or branch, set the UT_PROJECT_VERSION variable accordingly. If not set, the default main branch will be used.
export UT_PROJECT_VERSION=1.0.1 # Build using a specific tagor
export UT_PROJECT_VERSION=develop # Build using a specific branch- Build Targets:
There are two targets for the platform
- linux - (default)
- arm - TARGET=arm
build_ut.sh TARGET=armbuild_ut.shscript will clone the hal-test repo, ut-core and generate ahal_test_RCECHalbinary inut/bin/upon successful completion.
./hal_test_RCECHal -p sink_hdmiCEC.ymlAlternatively, use the run.sh script with the profile file:
./run.sh -p /absolute/path/to/profile/file- Profile files define the configuration for the platform available at sink HDMI CEC, source HDMI CEC, stb source device, tv panel
- For running the
L1L2andL3test suite, a host PC or server with a Python environment is required. - Install Python Environment and Activation Scripts as detailed in the HPK Documentation
- To run the
L1andL2test cases follow the hdmi-cec-L1_L2_TestProcedure.md - To run the
L3test cases follow the hdmi-cec-L3_TestProcedure.md