The VEE Port Qualification Tools (PQT) project provides the tools required to validate each component of a VEE Port (formerly named _Platform_). After porting or adding a feature to a VEE Port, it is necessary to validate its integration.
Clone this repository with git clone --recursive https://github.com/MicroEJ/VEEPortQualificationTools
.
The CORE Test Suite contains a C Test Suite and a Java Test Suite. It is the most basic Test Suite to run. It ensures MicroEJ Application will run correctly.
All other Test Suites assume the CORE Test Suite is validated.
See CORE Readme
The Multi-Sandbox Test Suite contains a C Test Suite. It ensures Multi-Sandbox Features install/uninstall flow will run correctly.
The UI Test Suite is a Java Test Suite. It tests the implementation of the LLUI*
API and the tearing signal usage.
It also provides indication about the minimum draw time allowed to display animations at a given framerate.
See UI Readme
The VG Test Suite is a Java Test Suite. It checks the implementation of the LLVG*
API over a vector GPU.
See VG Readme
The FS Test Suite is a Java Test Suite. It checks the implementation of the LLFS*
APIs over a C File System library.
See FS Readme
The NET Test Suite is a Java Test Suite. It checks the implementation of the LLNET
APIs.
See Network Core Engine Readme
The SSL Test Suite is a Java Test Suite. It checks the implementation of the LLNET_SSL
APIs.
See SSL Readme
The SECURITY Test Suite is a Java Test Suite.
See SECURITY Readme
The WatchdogTimer Test Suite is a Java Test Suite. It checks the implementation of the LLWATCHDOG_TIMER
APIs.
The ECOM-WIFI Test Suite is a Java Test Suite.
See ECOM-WIFI Readme
The Event Queue Test Suite is a Java Test Suite.
The External Resource Loader Test Suite is a Java Test Suite.
See External Resource Loader Readme
The Audio Test Suite is a Java Test Suite.
See Audio Readme
The VEE Port Qualification Tools (PQT) contains:
- a
framework/
folder with scripts and frameworks used by the tests - a
tests/
folder with one sub-folder per Test Suite (e.g.tests/core/
for the CORE Test Suite, etc.)
Each Test Suite sub-folder contains a README.rst
that explain how to use the Test Suite in details.
The following sections give an overview of the VEE Port Qualification Tools (PQT).
The framework/
folder contains the infrastructure required to build and run the tests.
The framework/c/
folders contains the following:
- Embedded Unit (embUnit) is a unit testing framework used for C tests.
- CoreMark is a processor benchmark used by the CORE Test Suite.
- utils provides several utilities used by various C tests
The framework/platform/content
folder contains the Platform Configuration Additions.
See the Platform Configuration Additions README for more information.
For licenses management, please refer to License .
The framework/platform/scripts
folder contains Build and Run Scripts examples for several third-party toolchains.
See the Build and Run Scripts Examples for more information.
The VEE Port Qualification Tools (PQT) provides two kinds of Test Suite:
- C Test Suite that must be added to the BSP
- Java Test Suite that are launched as standard MicroEJ Application
A Test Suite validates a particular component of a VEE Port. The CORE Test Suite is applicable to every VEE Port. The other Test Suites depends on the capabilities provided by the VEE Port to validate.
A detailed explanation how to use each Test Suite is provided in the README.rst
present in each sub-folder.
For example, for the CORE Test Suite, refer to the CORE Readme.
The C Test Suites validate that the hardware and RTOS (if applicable) are properly integrated in the BSP.
The C Test Suites uses Embunit framework. They have to be launched just
before MicroEJ Application (just before the call to microjvm_main()
).
At this moment, the BSP is fully initialized and the OS is started.
The C Test Suites perform some basic checks which ensures MicroEJ Application
will run. Unless specified otherwise, C Test Suites are linked with a MicroEJ Application
(microejapp.o
) and a MicroEJ runtime library (microejruntime.a
).
The C Test Suites often require some additional data (some specific functions have to be implemented in addition of LLAPI implementation functions).
The Java Test Suites validate the Foundation Libraries integration.
The Java Test Suites verify the integration of the VEE Port over the BSP. No specific unit test framework is used, each test describes how it works.