Skip to content

Deepsleep Manager L3 Low Level Test Specification and Procedure Documentation

Overview

This document describes the L3 Low Level Test Specification and Procedure Documentation for the Deepsleep Manager module.

Acronyms, Terms and Abbreviations

  • HAL - Hardware Abstraction Layer, may include some common components
  • UT - Unit Test(s)
  • OEM - Original Equipment Manufacture
  • SoC - System on a Chip
  • LAN - Local Area Network
  • Y - yes supported
  • NA - Not Supported

References

Level 3 Test Cases High Level Overview

# Test-case Description HAL APIs Source Sink
1 Verify the deepsleep wake up from Voice Trigger deepsleep, and trigger wake up from voice up source PLAT_DS_SetDeepSleep() Y Y
2 Verify the deepsleep wake up from Presence Detection Trigger deepsleep, and trigger wake up from presence detection PLAT_DS_SetDeepSleep() Y Y
3 Verify the deepsleep wake up from Bluetooth Trigger deepsleep, and trigger wake up from bluetooth PLAT_DS_SetDeepSleep() Y Y
4 Verify the deepsleep wake up from wifi Trigger deepsleep, and trigger wake up from wifi PLAT_DS_SetDeepSleep() Y Y
5 Verify the deepsleep wake up from IR Trigger deepsleep, and trigger wake up from IR PLAT_DS_SetDeepSleep() Y Y
6 Verify the deepsleep wake up from Power Key Trigger deepsleep, and trigger wake up from Power Key PLAT_DS_SetDeepSleep() Y Y
7 Verify the deepsleep wake up from CEC Trigger deepsleep, and trigger wake up from CEC PLAT_DS_SetDeepSleep() Y Y
8 Verify the deepsleep wake up from LAN Trigger deepsleep, and trigger wake up from LAN PLAT_DS_SetDeepSleep() Y Y

Level 3 Python Test Cases High Level Overview

The class diagram below illustrates the flow of Deepsleep Manager L3 Python test cases:

---
title: deepsleep - Python Class Flow
---
classDiagram
    testControl <|-- ut_raft : inherits
    class ut_raft{
    }
    ut_raft <|-- L3_TestClasses_Deepsleep : inherits
    L3_TestClasses_Deepsleep ..> deepsleep_tests : uses
    note for testControl "uses rackConfig.yaml and deviceConfig.yaml"
    note for L3_TestClasses_Deepsleep "uses testSetupConfig.yaml"
    ut_raft <|-- L3_TestClasses_Power : inherits
    L3_TestClasses_Power ..> deepsleep_tests : uses
    note for L3_TestClasses_Power "uses testSetupConfig.yaml"
    note for ut_raft "suite Navigator uses testSuite.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
  • 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.
  • deepsleep manager
  • This is test helper class which communicates with the L3 C/C++ test running on the DUT through menu
  • L3_TestClasses
  • These are the L3 test case classes
  • Each class covers the each test use-case defined in L3 Test use-cases table

YAML File Inputs

  • 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 deepsleep_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 deepsleep_L3_testSetup.yml

  • testSuite.yaml

  • This configuration file contains the list of menu items for C/C++ L3 test running on DUT
  • Example configuration file deepsleep_testConfig.yml