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, by calling Foundation Library APIs (usually automatically using VEE Port Test Suite).

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).

VEE Port Qualification Tools Overview

The VEE Port Qualification Tools provide the following components:

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:

  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 Test Suite have been executed.

VEE Port Test Suite on Device Overview

VEE Port Test Suite on Device Overview

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

Core Engine Validation

Architecture

Test Suite

7.0.0 or higher

Core Engine Test Suite

UI Pack

UI Validation

UI Pack

C Test Suite

13.0.0 or higher (UI3)

Graphical User Interface Test Suite

[6.0.0-12.1.5] (UI2)

Graphical User Interface Test Suite

FS Pack

FS API Implementation and Validation

FS Pack

FS API

Java Test Suite

[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]

Bluetooth Pack

Bluetooth API Implementation and Validation

Bluetooth Pack

Bluetooth API

Java Test Suite

[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 Test Suite

SSL Java Test Suite

SECURITY Java Test Suite

[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.1

4.0.1

1.3.1

[11.0.1-11.0.2]

1.1.4

2.2.3

1.4.2

4.1.1

4.0.2

1.3.1

11.1.0

1.1.4

2.2.3

1.4.2

4.1.1

4.0.2

1.7.0

Audio Pack

Audio API Implementation and Validation

Audio Pack

Audio API

Java Test Suite

[1.0.0-1.1.0[

1.0.0

1.0.0

EVENT QUEUE Pack

EVENT QUEUE API Implementation and Validation

EVENT QUEUE Pack

EVENT QUEUE API

Java Test Suite

2.0.1

2.0.0

2.0.0