Skip to content

rdkcentral/rdk-halif-test-power_manager

Repository files navigation

Unit Testing Suite For Power Manager HAL

Table of Contents

Acronyms, Terms and Abbreviations

  • HAL- Hardware Abstraction Layer
  • L1 - Functional Tests
  • L2 - Module functional Testing
  • High-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.

Description

This repository contains the Unit Test Suites (L1 and L2) for Power Manager HAL.

Reference Documents

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 power-manager_halSpec.md
2 High Level Test Specification High Level Test Specification Documentation this module power-manager_High-Level_TestSpec.md
3 L2 Low Level Test Specification L2Low Level Test Specification Documentation this module power-manager_L2_Low-Level_TestSpec.md
4 L1 and L2 Test Procedure Document L1 and L2 Test Procedure Document power-manager_L1_L2_TestProcedure.md

Notes

  • All APIs need to be implemented in this current version. If any API is not supported, please add stub implementation with return type PWRMGR_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 executing the binary, ensure to include a platform-specific profile file as an argument for the designated test cases. The following example illustrates this:

How to build the test suite

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 HAL Repository:
git clone [email protected]:rdkcentral/rdk-halif-power_manager.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 tag

or

export UT_PROJECT_VERSION=develop  # Build using a specific branch
  • Build Targets:

There are two targets for the platform

  1. linux - (default)
  2. arm - TARGET=arm
build_ut.sh TARGET=arm
  • build_ut.sh script will clone the hal-test repo, ut-core and generate a hal_test_iarmmgrs-power-hal binary in ut/bin/ upon successful completion.

Manual way of running the L1 and L2 test cases

./hal_test_iarmmgrs-power-hal -p sink_powerManager.yaml

Alternatively, use the run.sh script with the profile file:

./run.sh -p /absolute/path/to/profile/file

Setting Python environment for running the L1 L2 automation test cases

About

RDK Power Hardware Abstraction Layer Test Suite

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING

Security policy

Stars

Watchers

Forks

Packages

No packages published