# X Test Suite - [Introduction](#section465982318513) - [Devices](#section125090457443) - [Directory Structure](#section161941989596) - [Constraints](#section119744591305) - [Usage Guidelines](#section137768191623) - [Test Case Development Guidelines](#section3695134065513) - [C-based Test Case Development and Compilation \(for Mini-System Devices\)](#section1551164914237) - [C-based Test Case Execution \(for Mini-System Devices\)](#section10100701294) - [C++-based Test Case Development and Compilation \(for Small-, Standard-, and Large-System Devices\)](#section5714177113113) - [C++-based Test Case Execution \(for Small-, Standard-, and Large-System Devices\)](#section42281924184) - [Repositories Involved](#section1371113476307) ## Introduction The X test suite \(XTS\) subsystem contains a set of OpenHarmony certification test suites, including the currently supported application compatibility test suite \(ACTS\) and the device compatibility test suite \(DCTS\) that will be supported in the future. This subsystem contains the ACTS and **tools** software package. - The **acts** directory stores the source code and configuration files of ACTS test cases. The ACTS helps device vendors detect the software incompatibility as early as possible and ensures that the software is compatible to OpenHarmony during the entire development process. - The **tools** software package stores the test case development framework related to **acts**. ## Devices OpenHarmony supports the following device types: - **Mini-System Devices \(reference memory ≥ 128 KB\)** Such devices are equipped with MCU processors such as ARM Cortex-M and 32-bit RISC-V. They provide rich short-distance connection and peripheral bus access capabilities. Typical products include LinkIoT module devices and sensors in the smart home field. The LinkIoT module is usually used for smart Internet of Things \(IoT\) devices as the hardware module that implements connectivity functions. In the smart home field, the LinkIoT module is integrated into devices by vendors. For example, a LinkIoT module provides WLAN/Bluetooth access and data connection, and it usually communicates with the chip of smart home devices via a universal asynchronous receiver-transmitter \(UART\) or general-purpose input/output \(GPIO\) interface. - **Small-System Devices \(reference memory ≥ 1 MB\)** Such devices are equipped with application processors such as ARM Cortex-A. They provide higher security capabilities, standard graphics framework, and multimedia capabilities for video encoding and decoding. Typical products include IP cameras, electronic cat eyes, and routers in the smart home field, as well as event data recorders \(EDRs\) in the smart travel field. - **Standard-System Devices \(reference memory ≥ 128 MB\)** Such devices are equipped with application processors such as ARM Cortex-A. They provide a complete application framework supporting enhanced interaction, 3D GPU, hardware composer, diverse components, and rich animations. Typical products include high-end refrigerator displays. - **Large-System Devices \(reference memory ≥ 1 GB\)** Such devices are equipped with application processors such as ARM Cortex-A and provide a complete compatible application framework. Typical products include smart TVs and smart watches. ## Directory Structure ``` /test/xts ├── acts # Test code │ └── subsystem # Source code of subsystem test cases for large-system devices │ └── subsystem_lite # Source code of subsystems test cases for mini- and small-system devices │ └── BUILD.gn # Build configuration of test cases for large-system devices │ └── build_lite # Build configuration of test cases for mini-and small-system devices │ └── build_lite # Build configuration └── tools # Test tool code ``` ## Constraints Test cases for mini system devices must be developed based on C, and those for small system devices must be developed based on C++. ## Usage Guidelines **Table 1** Test case levels