Skip to content

Commit

Permalink
Merge branch 'release/2.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
hari22yuva committed Jun 5, 2024
2 parents 6d398c4 + bb5d509 commit 18e6533
Show file tree
Hide file tree
Showing 11 changed files with 1,526 additions and 1,047 deletions.
14 changes: 13 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,19 @@ All notable changes to this project will be documented in this file. Dates are d

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [2.0.0](https://github.com/rdkcentral/rdk-halif-test-device_settings/compare/1.0.3...2.0.0)
#### [2.1.0](https://github.com/rdkcentral/rdk-halif-test-device_settings/compare/2.0.0...2.1.0)

- gh #43 deviceSettings: Enhanced Error code for device settings [`#45`](https://github.com/rdkcentral/rdk-halif-test-device_settings/pull/45)
- Updated with enhanced error code disabled checked in test_l1_dsAudio.c [`#46`](https://github.com/rdkcentral/rdk-halif-test-device_settings/pull/46)
- updating the dsDisplay test spec [`#13`](https://github.com/rdkcentral/rdk-halif-test-device_settings/pull/13)
- Adding testing scope changes for composite test spec [`#16`](https://github.com/rdkcentral/rdk-halif-test-device_settings/pull/16)
- revert previous commit [`b33cd08`](https://github.com/rdkcentral/rdk-halif-test-device_settings/commit/b33cd0829396c87ad89d39d551e265830425ed5d)
- gh #43 remove DS_ASSERT_AUTO_TERM_NUMERICAL [`0988071`](https://github.com/rdkcentral/rdk-halif-test-device_settings/commit/098807153c12c0183acf9d9aa1a40c2c5d418c4f)
- Enhanced Error code moved to kvp profiler [`52242e0`](https://github.com/rdkcentral/rdk-halif-test-device_settings/commit/52242e000375f66206950208e5a1823ef093f273)

### [2.0.0](https://github.com/rdkcentral/rdk-halif-test-device_settings/compare/1.0.3...2.0.0)

> 22 March 2024
- gh #21 L1 TCs for dsSetAudioMixerLevels API [`#22`](https://github.com/rdkcentral/rdk-halif-test-device_settings/pull/22)
- gh #21 Replaced DS_ASSERT with UT_ASSERT and review comment addressal [`63cee4e`](https://github.com/rdkcentral/rdk-halif-test-device_settings/commit/63cee4ed3e0d64d3f2db43d4bfd5b09430ef80ff)
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,5 @@ This repository contains the Unit Test Suites (L1) for the following submodules
- All APIs in each individual sub-module need to be implemented in this current version. If any API is not supported, please add stub implementation with return type dsERR_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.
- The configuration/settings file(s) for certain `DS` sub-modules, specific to a platform (templates in [DS HAL README.md](https://github.com/rdkcentral/rdk-halif-device_settings/blob/main/docs/pages/README.md "DS HAL README.md")), should be added in the `profiles/include` directory within the root directory of the DS HAL Test repository.
- When running the binary, remember to include a profile file as an argument for designated test cases. The following example illustrates this: `./hal_test -p deviceSettingsExtendedEnumsNotSupported.yaml`
- Profiles file available in [profile yaml file](./profiles/deviceSettingsExtendedEnumsNotSupported.yaml)
185 changes: 185 additions & 0 deletions docs/pages/dsComposite_test_spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
# CompositeIn Test Document

## Version History

| Date(DD/MM/YY) | Comment | Version |
| -------------- | ------------- | ------- |
| 18/03/2024 | First Release | 1.0.0 |

## Table of Contents

- [Acronyms, Terms and Abbreviations](#acronyms-terms-and-abbreviations)
- [Introduction](#introduction)
- [Module Description](#module-description)
- [Testing Scope](#testing-scope)

## Acronyms, Terms and Abbreviations

- `HAL` - Hardware Abstraction layer
- `SOC` - System On a Chip
- `EDID` - Extended Display Identification
- `API` - Application programming interface
- `CPU` - Central processing unit
- `RDK` - Reference Design Kit
- `dsComposite` - Device Settings Composite

## Introduction

This document provides an overview of the testing requirements for the `dsComposite` module. It outlines the scope of testing, objectives, testing levels and approaches, specific test requirements, emulator requirements, control plane requirements and expected deliverables.

Interface of the test is available in this link - [https://github.com/rdkcentral/rdk-halif-device_settings/blob/main/include/dsCompositeIn.h](https://github.com/rdkcentral/rdk-halif-device_settings/blob/main/include/dsCompositeIn.h)

## Module Description

High level overview:

- `dsComposite` provides a variety of APIs for accessing information regarding the Composite Inputs on sink devices.
- It facilitates interaction with Composite Input ports, aiding in their configuration and utilization within the system. This information is then passed to the caller.
- For the sink devices, to retrieve the available Composite Input information, an external device must be connected.

## Testing Scope

|#|Test Functionality|Test Description|
|-|------------------|----------------|
|1|[Get Number of Inputs](#get_number_of_inputs)|The test aims to verify the availability of Composite Input ports by confirming the number present.|
|2|[Get the Input Status](#get_the_input_status)|The test is to verify the status of all Composite Input Status|
|3|[Set the Composite port](#set_the_composite_port)|The test is to set the Composite Input port for Presentation|
|4|[Scale the Composite Input Video](#scale_the_composite_input_video)|The test scales the COMPOSITE input video, ensuring that the width and height, determined by the x and y coordinates respectively, do not surpass the current resolution limits of the device.|
|5|[Callback for connection Status](#callback_for_connection_status)|The test aims to verify the Callback function used for notifying applications of the COMPOSITE In hot plug status.|
|6|[Callback for Signal Change](#callback_for_signal_change)|The test aims to verify the callback function used to inform applications about changes in the signal status of the Composite In.(NoSignal/UnstableSignal/NotSupportedSignal/StableSignal)|
|7|[Callback for Status Change](#callback_for_status_change)|The test validates the functionality of the callback function designed to notify applications of Composite Input status change events.(Port,IsPresented flag status)|
-----------

## Get Number of Inputs

|Description|L2|L3|
|-----------|--|--|
|Verify that the function returns the expected COMPOSITE Input ports.|Y|N|

### Test Startup Requirement - Get Number of Inputs

The test begins with the configured composite input port details.

### Emulator Requirement - Get Number of Inputs

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Get Number of Inputs

None

## Get the Input Status

|Description|L2|L3|
|-----------|--|--|
|Verify the status of the Composite Input by ensuring it is in disable status.|Y|N|
|Verify the status of the Composite Input by ensuring it is enabled, connected to the source, and that the composite input port is active.|N|Y|

### Test Startup Requirement - Get the Input Status

Connection of the source device with the CompositeIn.

### Emulator Requirement - Get the Input Status

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Get the Input Status

The handling of connecting and disconnecting source devices in the CompositeIn will be managed by the Control Plane.

## Set the Composite port

|Description|L2|L3|
|-----------|--|--|
|verify that the function successfully sets the specified COMPOSITE Input port as active for presentation and check the port information using "Get status".|Y|Y|
|Evaluate the function's response when called with a port ID that is already selected as active, ensuring it does not introduce any unintended changes.|N|Y|

### Test Startup Requirement - Set the Composite port

The test begins with the configured composite input port numbers.

### Emulator Requirement - Set the Composite port

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Set the Composite port

The Control Plane must monitor the external device (Video analyzer) to detect any video glitches.

## Scale the Composite Input Video

|Description|L2|L3|
|-----------|--|--|
|Verify that the function successfully scales the COMPOSITE input video when valid coordinates and dimensions are provided within the current resolution limits. Based on video resolution need to check whether the coordinates are in range|N|Y|

### Test Startup Requirement - Scale the Composite Input Video

The test begins by setting up the video analyzer, and the video should be played.

### Emulator Requirement - Scale the Composite Input Video

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Scale the Composite Input Video

The handling of connecting and disconnecting source devices in the CompositeIn will be managed by the Control Plane.

## Callback for connection Status

|Description|L2|L3|
|-----------|--|--|
|Verify that the callback function properly notifies the application when a COMPOSITE Input port is connected or disconnected.|N|Y|
|Validate that the callback function updates the isPortConnected status correctly based on the connection state provided.|N|Y|
|Verify that the callback function properly updates the isPresented status in ::dsCompositeInStatus_t if the connected port is active and presents video after being connected.|N|Y|

### Test Startup Requirement - Callback for connection Status

Connection of the source device with the CompositeIn.

### Emulator Requirement - Callback for connection Status

Emulator will boot with the port information coming from the configuration file.

### Control Plane Requirement - Callback for connection Status

The handling of connecting and disconnecting source devices in the CompositeIn will be managed by the Control Plane.

## Callback for Signal Change

|Description|L2|L3|
|-----------|--|--|
|Verify that the callback function properly handles different signal statuses (e.g., NoSignal, UnstableSignal, NotSupportedSignal, StableSignal) and updates the application accordingly.|N|Y|
|Validate that the callback function updates the sigStatus parameter correctly based on the signal status provided.|N|Y|

### Test Startup Requirement - Callback for Signal Change

Connection of the source device with the CompositeIn.

### Emulator Requirement - Callback for Signal Change

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Callback for Signal Change

The handling of connecting and disconnecting source devices in the CompositeIn will be managed by the Control Plane.
Provide resolution changes or configurations changes on the connected device that affects the output signal.

## Callback for Status Change

|Description|L2|L3|
|-----------|--|--|
|Verify that the callback function properly notifies the application of the Composite Input status change event.|N|Y|
|Validate that the callback function updates the inputStatus parameter correctly based on the status change provided.|N|Y|
|Verify that the callback function properly triggers whenever the dsCompositeInStatus_t is updated|N|Y|

### Test Startup Requirement - Callback for Status Change

Connection of the source device with the CompositeIn.

### Emulator Requirement - Callback for Status Change

Emulator will boot with the port informations coming from the configuration file.

### Control Plane Requirement - Callback for Status Change

The handling of connecting and disconnecting source devices in the CompositeIn will be managed by the Control Plane.
121 changes: 121 additions & 0 deletions docs/pages/dsDisplay_TestSpecificaion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# Display Test Document

## Version History

| Date(DD/MM/YY) | Comment | Version |
| -------------- | ------------- | ------- |
| 05/03/2024 | First Release | 1.0.0 |

## Table of Contents

- [Acronyms, Terms and Abbreviations](#acronyms-terms-and-abbreviations)
- [References](#references)
- [Introduction](#introduction)
- [Module Description](#module-description)
- [Testing Scope](#test-scope)

## Acronyms, Terms and Abbreviations

- `HAL` - Hardware Abstraction layer
- `SOC` - System On a Chip
- `EDID` - Extended Display Identification
- `API` - Application programming interface
- `CPU` - Central processing unit
- `RDK` - Reference Design Kit
- `dsDisplay` - Device Settings Display

## References

- `EDID` Specifications [https://en.wikipedia.org/wiki/Extended_Display_Identification_Data](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)
- Python `EDID` decoder library is available here - [https://pypi.org/project/pyedid/](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)

## Introduction

This document provides an overview of the testing requirements for the dsDisplay module. It outlines the scope of testing, objectives, testing levels and approaches, specific test requirements, emulator requirements, control plane requirements and expected deliverables.

Interface of the test is available in this link - [https://github.com/rdkcentral/rdk-halif-device_settings/blob/main/include/dsDisplay.h](https://github.com/rdkcentral/rdk-halif-device_settings/blob/main/include/dsDisplay.h)

## Module Description

High level overview:

- `dsDisplay` offers a range of APIs for retrieving information about the Display Device.
- Data is retrieved from the Display Device and HDMI. This data is passed to the caller.
- In order to retrieve HDMI information, an external device must be connected.

## Testing Scope

|#|Test Functionality|Test Description|
|-|------------------|----------------|
|1|[Get EDID Information](#get-edid-information)|Test validates the accuracy and functionality of the display device module's functions (dsGetEDID and dsGetEDIDBytes) in retrieving the Extended Display Identification Data (EDID) from connected display devices|
|2|[Get Aspect Ratio](#get-aspect-ratio)| Test provides the aspect ratio of the display device|
|3|[Callback Registration for Display Related Events](#callback-registration-for-display-related-events)|To verify the callback registration for display related events. The display events are Dislay connected event, Display disconnected event, Rx Sense ON event, Rx Sense OFF event, HDCP protocol version change event|
-----------

## Get EDID Information

|Description|L2|L3|Source|Sink|
|-----------|--|--|------|----|
|The Get EDID Information test aims to verify the functionality of the display device module's dsGetEDID and dsGetEDIDBytes functions, which are responsible for retrieving the Extended Display Identification Data (EDID) from connected display devices. This test ensures that the module can accurately retrieve and interpret EDID information, providing essential data about the display's capabilities and characteristics.|N|Y|Y|Y|
|For sink devices, validate the predefined the EDID value coming from the TV HDMI port1 EDID |Y|N|Y|Y|

### Test Startup Requirement - Get EDID Information

Launch the test with the predefined configuration set of results.

### Emulator Requirement - Get EDID Information

Emulator will boot with the EDID coming from the configuration file.

|#|Description|
|-|-----------|
|1|EDID for a panel TV|

TODO: Generate a list of sample list for 5 to 6 different TV's.
Generate a list of TV's from the office for the different EDIDs and store the binaries of the test. It can use it as samples.

### Control Plane Requirement - Get EDID Information

None

## Get Aspect Ratio

|Description|L2|L3|Source|Sink|
|-----------|--|--|------|----|
|Test the aspect ratio returned by the dsGetDisplayAspectRatio() function for the specified display device handle.|N|Y|Y|N
|Adjust and test the aspect ratio to ensure it is providing the expected aspect ratio.|N|Y|Y|N|

### Test Startup Requirement - Get Aspect Ratio

Launch the test with the predefined configuration set of results.

### Emulator Requirement - Get Aspect Ratio

Emulator will boot with the Aspect ratio coming from the configuration file.

### Control Plane Requirement - Get Aspect Ratio

Maintains the configuration of various aspect ratios and provides them whenever a user is supposed to make a change.

## Callback Registration for Display Related Events

|Description|L2|L3|Source|Sink|
|-----------|--|--|------|----|
|Test the 'Display connected' event. Upon connecting the display device, the callback should trigger the event|N|Y|Y|Y|
|Test the 'Display disconnected' event. Upon disconnecting the display device, the callback should trigger the event|N|Y|Y|N|
|Test the 'Rx Sense ON' event by verifying the presence of a signal from the receiving device; the callback should be triggered when the signal is detected|N|Y|Y|N|
|Test the 'Rx Sense OFF' event by verifying the absense of a signal from the receiving device; the callback should be triggered when the signal is detected|N|Y|Y|N|
|Test the 'HDCP protocol version change' event by verifying if there is a change in the HDCP protocol version used for content protection; the callback should be triggered upon detection of the protocol change.|N|Y|Y|N|


### Test Startup Requirement -Callback Registration for Display Related Events

Launch the test with the predefined set of configured HDCP 1.x and HDCP 2.x keys.

### Emulator Requirement - Callback Registration for Display Related Events

Emulator will boot with the HDCP keys coming from the configuration file.

### Control Plane Requirement - Callback Registration for Display Related Events

The control plane will generate events for HDMI connection and disconnection. It also supplies signals to the receiving devices to initiate the Rx Sense ON/Rx Sense OFF events.
19 changes: 19 additions & 0 deletions profiles/deviceSettingsExtendedEnumsNotSupported.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
dsAudio:
features:
extendedEnumsSupported: false
dsHdmiIn:
features:
extendedEnumsSupported: false
dsVideoDevice:
features:
extendedEnumsSupported: false
dsDisplay:
features:
extendedEnumsSupported: false
dsHost:
features:
extendedEnumsSupported: false
dsVideoPort:
features:
extendedEnumsSupported: false
Loading

0 comments on commit 18e6533

Please sign in to comment.