VEE Port Qualification
Introduction
A VEE Port integrates one or more Foundation Libraries with their respective Abstraction Layers.
VEE Port 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 VEE Port 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 VEE Ports in the form of the VEE Port Qualification Tools (PQT).
VEE Port Qualification Tools Overview
The VEE Port Qualification Tools provide the following components:
Build and Run Scripts examples:
Used to generate and deploy an Executable on a device by invoking a third-party toolchain for the BSP.
Added when integrating the BSP to the VEE Port (see Build Script File and Run Script File or check the training Create MicroEJ Platform Build and Run Scripts).
C and Java Test Suites:
Used to validate the Low Level APIs implementations.
Validated during the BSP development and whenever an Abstraction Layer implementation is added or changed (see VEE Port Test Suite or check the section Configure and Run the Test Suite).
(Only for SDK 5) Platform Configuration Additions (PCA):
Used to:
Manage Architecture, Packs dependencies and the VEE Port build with the MicroEJ Module Manager.
Configure the BSP connection to call the build and run scripts.
Added when creating a VEE Port (see Create a VEE Port or check the training Create a MicroEJ Firmware From Scratch).
Please refer to the VEE Port Qualification Tools README for more details and the location of the components.
VEE Port Test Suite
The purpose of a VEE Port 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 Test Suite contains one or more tests. For each test, the Test Suite Engine will:
Build an Executable for the test.
Run the Executable onto the device.
Retrieve the execution traces.
Analyze the traces to determine whether the test has
PASSED
orFAILED
.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 VEE Port using Packs. Use the Test Suite version compliant with the API version provided by the Foundation Library 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.
Note
A Pack can provide several Foundation Libraries.
Core Engine
Architecture |
Test Suite |
7.0.0 or higher |
UI Pack
UI Pack |
C Test Suite |
13.0.0 or higher (UI3) |
|
[6.0.0-12.1.5] (UI2) |
FS Pack
FS Pack |
FS API |
Java Test Suite |
[6.0.0-6.1.0[ |
||
[5.1.2-5.2.0[ |
||
[4.0.0-4.1.0[ |
On demand [1] |
Bluetooth Pack
Bluetooth Pack |
Bluetooth API |
Java Test Suite |
[2.3.0-2.5.0[ |
||
[2.1.0-2.3.0[ |
||
[2.0.0-2.1.0[ |
NET Pack
NET Pack |
NET API |
SSL API |
SECURITY API |
NET Java Test Suite |
SSL Java Test Suite |
SECURITY Java Test Suite |
[8.1.2-8.2.0] |
N/A |
3.4.0 (On demand [1]) |
3.0.1 (On demand [1]) |
N/A |
||
9.0.0 |
3.4.0 (On demand [1]) |
3.1.4 (On demand [1]) |
1.1.0 (On demand [1]) |
|||
[9.0.1-9.4.1] |
3.5.2 (On demand [1]) |
3.1.4 (On demand [1]) |
1.1.0 (On demand [1]) |
|||
[10.0.0-10.5.0] |
||||||
[11.0.1-11.0.2] |
||||||
11.1.0 |
Audio Pack
Audio Pack |
Audio API |
Java Test Suite |
[1.0.0-1.1.0[ |
EVENT QUEUE Pack
EVENT QUEUE Pack |
EVENT QUEUE API |
Java Test Suite |
2.0.1 |