A MicroEJ Platform integrates one or more Foundation Libraries with their respective Abstraction Layers.
Platform Qualification is the process of validating the conformance of the Abstraction Layer that implements the Low Level APIs of a Foundation Library.
For each Low Level API, an Abstraction Layer implementation is required. The validation of the Abstraction Layer implementation is performed by running tests at two-levels:
- In C, by calling Low Level APIs (usually manually).
- In Java, by calling Foundation Library APIs (usually automatically using Platform Test Suite).
The following figure depicts an example for the FS Pack:
MicroEJ provides a set of tools and pre-defined projects aimed at simplifying the steps for validating Platforms in the form of the Platform Qualification Tools (PQT).
Platform Qualification Tools Overview
The Platform Qualification Tools provide the following components:
- Platform Configuration Additions (PCA):
- Build and Run Scripts examples:
- C and Java Test Suites:
Please refer to the Platform Qualification Tools README for more details and the location of the components.
Platform Test Suite
The purpose of a MicroEJ Platform Test Suite is to validate the Abstraction Layer that implements the Low Level APIs of a Foundation Libraries by automatically running Java tests on the device.
The MicroEJ Test Suite Engine is used for building, running a Test Suite, and providing a report.
A Platform Test Suite contains one or more tests. For each test, the Test Suite Engine will:
- Build a MicroEJ Firmware for the test.
- Program the MicroEJ Firmware onto the device.
- Retrieve the execution traces.
- Analyze the traces to determine whether the test has
- Append the result to the Test Report.
- Repeat until all tests of the Test Suite have been executed.
Test Suite Versioning
Foundation Libraries are integrated in a MicroEJ Platform by MicroEJ Packs (see MicroEJ Pack Import). Use the Test Suite version compliant with the Foundation Library version to validate the Abstraction Layer implementation. For example, the Test Suite FS module 3.0.3 should be used to validate the Abstraction Layer implementation of the Low Level API FS provided by the FS Pack 5.1.2.
A MicroEJ Pack can provide several Foundation Libraries.
|7.0.0 or higher||Core Engine Test Suite|
|UI Pack||C Test Suite|
|13.0.0 or higher (UI3)||On demand |
|[6.0.0-12.1.5] (UI2)||Graphical User Interface Test Suite|