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.
VEE Port Qualification Overwiew
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 code, by calling Foundation Library APIs (usually automatically using VEE Port Testsuite).
The following figure depicts an example for the FS Pack:
VEE Port Qualification Example for 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):
In SDK 6, it is located at:
the
validationfolder of the VEE Port Project Template for the Java Testsuites.the AbstractionLayer Tests repository for the C tests.
In SDK 5, it is located at the VEE Port Qualification Tools (PQT) repository.
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 Testsuites:
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 Testsuite or check the section Configure and Run the Testsuite).
(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 in SDK 5 or in SDK 6 for more details and the location of the components.
VEE Port Testsuite
The purpose of a VEE Port Testsuite 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 Testsuite Engine is used for building, running a Testsuite, and providing a report.
A Testsuite contains one or more tests. For each test, the Testsuite 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
PASSEDorFAILED.Append the result to the Test Report.
Repeat until all tests of the Testsuite have been executed.
VEE Port Testsuite on Device Overview
Testsuite Versioning
Foundation Libraries are integrated in a VEE Port using Packs. Use the Testsuite version compliant with the API version provided by the Foundation Library to validate the Abstraction Layer implementation. For example, the Testsuite 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 |
Testsuite |
7.0.0 or higher |
UI Pack
UI Pack |
MicroUI API |
Drawing API |
Java Testsuite |
14.5.1 |
|||
14.4.2 |
|||
14.4.1 |
|||
14.3.3 |
|||
14.3.2 |
|||
14.3.0 |
|||
14.2.0 |
|||
14.1.1 |
|||
[14.0.1-14.0.3[ |
|||
14.0.0 |
|||
13.7.2 |
|||
13.7.0 |
|||
13.6.2 |
|||
[13.6.0-13.6.1[ |
|||
[13.4.1-13.5.1[ |
|||
[13.2.0-13.3.1[ |
VG Pack
VG Pack |
MicroVG API |
Java Testsuite |
1.8.1 |
||
1.7.2 |
||
1.7.1 |
||
1.7.0 |
||
1.6.0 |
||
1.5.1 |
||
1.5.0 |
||
1.4.2 |
||
1.4.1 |
||
1.4.0 |
||
1.3.0 |
FS Pack
FS Pack |
FS API |
Java Testsuite |
[6.0.0-6.1.0[ |
||
[5.1.2-5.2.0[ |
||
[4.0.0-4.1.0[ |
On demand [1] |
GNSS Pack
GNSS Pack |
GNSS API |
Java Testsuite |
2.0.0 |
Bluetooth Pack
Bluetooth Pack |
Bluetooth API |
Java Testsuite |
[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 Testsuite |
SSL Java Testsuite |
SECURITY Java Testsuite |
[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 |
||||||
11.2.0 |
Audio Pack
Audio Pack |
Audio API |
Java Testsuite |
[1.0.0-1.1.0[ |
MicroAI Pack
MicroAI Library |
Java Testsuite |
2.1.0 (On demand [1]) |
EVENT QUEUE Pack
EVENT QUEUE Pack |
EVENT QUEUE API |
Java Testsuite |
2.0.1 |
