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.

../_images/qualification-overview.png

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:

../_images/qualification-test-suite-fs.png

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:

VEE Port Qualification Tools Overview

The VEE Port Qualification Tools provide the following components:

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:

  1. Build an Executable for the test.

  2. Run the Executable onto the device.

  3. Retrieve the execution traces.

  4. Analyze the traces to determine whether the test has PASSED or FAILED.

  5. Append the result to the Test Report.

  6. Repeat until all tests of the Testsuite have been executed.

VEE Port Testsuite on Device Overview

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

Core Engine Validation

Architecture

Testsuite

7.0.0 or higher

Core Engine Testsuite

UI Pack

MicroUI API Implementation and Validation

UI Pack

MicroUI API

Drawing API

Java Testsuite

14.5.1

3.6.1

1.0.6

14.5.1

14.4.2

3.6.0

1.0.5

14.4.2

14.4.1

3.6.0

1.0.5

14.4.1

14.3.3

3.6.0

1.0.5

14.3.3

14.3.2

3.6.0

1.0.5

14.3.2

14.3.0

3.6.0

1.0.5

14.3.0

14.2.0

3.6.0

1.0.5

14.2.0

14.1.1

3.6.0

1.0.5

14.1.1

[14.0.1-14.0.3[

3.5.0

1.0.5

1.8.1

14.0.0

3.5.0

1.0.5

1.7.0

13.7.2

3.5.0

1.0.5

1.6.0

13.7.0

3.4.0

1.0.4

1.4.0

13.6.2

3.3.0

1.0.4

1.3.1

[13.6.0-13.6.1[

3.3.0

1.0.4

1.3.0

[13.4.1-13.5.1[

[3.1.1-3.2.0]

1.0.4

1.2.0

[13.2.0-13.3.1[

3.1.1

1.0.4

1.0.0

VG Pack

MicroVG API Implementation and Validation

VG Pack

MicroVG API

Java Testsuite

1.8.1

1.5.2

4.3.0

1.7.2

1.5.2

4.2.0

1.7.1

1.5.1

4.1.0

1.7.0

1.5.0

4.0.0

1.6.0

1.4.0

3.0.0

1.5.1

1.4.0

2.7.0

1.5.0

1.4.0

2.6.0

1.4.2

1.4.0

2.5.0

1.4.1

1.4.0

2.4.0

1.4.0

1.4.0

2.3.0

1.3.0

1.3.0

2.2.0

FS Pack

FS API Implementation and Validation

FS Pack

FS API

Java Testsuite

[6.0.0-6.1.0[

2.1.1

3.0.8

[5.1.2-5.2.0[

2.0.6

3.0.3

[4.0.0-4.1.0[

2.0.6

On demand [1]

GNSS Pack

GNSS API Implementation and Validation

GNSS Pack

GNSS API

Java Testsuite

2.0.0

2.0.0

2.0.0

Bluetooth Pack

Bluetooth API Implementation and Validation

Bluetooth Pack

Bluetooth API

Java Testsuite

[2.3.0-2.5.0[

2.2.2

2.1.0

[2.1.0-2.3.0[

2.1.1

2.0.1

[2.0.0-2.1.0[

2.0.0

2.0.1

NET Pack

NET, SSL and SECURITY APIs Implementations and Validations

NET Pack

NET API

SSL API

SECURITY API

NET Java Testsuite

SSL Java Testsuite

SECURITY Java Testsuite

[8.1.2-8.2.0]

1.1.0

2.1.0

N/A

3.4.0 (On demand [1])

3.0.1 (On demand [1])

N/A

9.0.0

1.1.0

2.2.0

1.3.1

3.4.0 (On demand [1])

3.1.4 (On demand [1])

1.1.0 (On demand [1])

[9.0.1-9.4.1]

1.1.1

2.2.0

1.3.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]

1.1.4

2.2.3

1.4.2

4.1.2

4.0.1

1.3.1

[11.0.1-11.0.2]

1.1.4

2.2.3

1.4.2

4.1.2

4.0.2

1.3.1

11.1.0

1.1.4

2.2.3

1.7.0

4.1.2

4.0.2

1.7.0

11.2.0

1.1.4

2.2.3

1.7.0

4.1.2

4.0.2

1.8.0

Audio Pack

Audio API Implementation and Validation

Audio Pack

Audio API

Java Testsuite

[1.0.0-1.1.0[

1.0.0

1.0.0

MicroAI Pack

MicroAI Library and Validation

MicroAI Library

Java Testsuite

2.1.0

2.1.0 (On demand [1])

EVENT QUEUE Pack

EVENT QUEUE API Implementation and Validation

EVENT QUEUE Pack

EVENT QUEUE API

Java Testsuite

2.0.1

2.0.0

2.0.0