Previous Topic

Next Topic

Book Contents

Book Index

Setup Guide

Installation

Automated Installation

The installation of the TEE Module can be performed through execution of a Kit Manager installation script. The TEE Module provides the necessary scripts located in the bin/pscripts folder:

kitman.install "TEE"
kitman.install "TEE Web Admin"

Manual Installation

To install the Test Execution Environment, copy the tee and testcases directories into the osgi directory. Then install the com.prosyst.mbs.tee.core.jar, com.prosyst.mbs.tee.commands.jar, com.prosyst.mbs.tee.jsonrpc.jar and com.prosyst.mbs.tee.webconsole.jar bundles from the bundles directory on the targeted framework.

Depending on the testing mode also install:

Bundle Name

Testing Model

com.prosyst.mbs.tee.tfw.assertion.jar

Assertion TEE

com.prosyst.mbs.tee.tfw.junit.jar

JUnit

com.prosyst.mbs.tee.tfw.reference.jar

Reference – Deprecated

Starting the Test Execution

To execute a single test case or a project, in the local console use the following command with the proper option: tee.execute

Refer to the document for more information on how to use the TEE commands to manage test cases and projects.

When you execute a test case, the Test Execution Environment creates by default the tee/sa/logs directory. It holds the results generated after test case execution and a document holding short description of each possible result.

When one or more test cases, or all test cases are executed, the TEE provides the user with a default test project, the System Project, thus saving the test writers the effort of writing their own projects. See Defining a New Project for more information on writing a new test project. Automatic execution of test case bundles TEE can automatically execute a test case bundle when it is installed on the framework. Refer to the Auto Properties section of this document for more information.

System Properties

The TEE uses specific system properties for configuration of its runtime behavior.

The system properties of the Test Execution Environment start with tee.

Please consult this guide for more information on how to setup your System Properties.

Logger Properties

You can start the TEE with a preliminary defined log mode and a way of receiving the information of the generated during runtime logs.

Property

Default Value

Description

tee.sa.osgi.logger.autoPrintOnConsole

true

Turns on (when true) and off (when false) the printing log information on the console.

tee.sa.osgi.logger.level

info

Defines the kind of logs that will be generated for the TEE. You can choose one from the six values of this property. They are:

  • fatal - Severe errors that cause termination are shown on the console.
  • error - Runtime errors or unexpected conditions are immediately printed on the console.
  • warn - Use of deprecated APIs, poor use of API, 'almost' errors, other runtime situations that are undesirable or unexpected, but not necessarily "wrong".
  • info - Runtime events like startup and shutdown can be viewed.
  • debug - Detailed debug information for the TEE.
  • trace - More detailed debug information.

The default value of this property is info. This means that all higher levels are enabled.

tee.sa.osgi.logger.printOnConsoleLevel

info

Prints level information on the console depending on the value specified. The possible values are described for the tee.sa.osgi.logger.level system property. The default value of this property is info.

Base Directory Properties

This section lists the system properties that can be used to change the base directories where the test cases, the projects, the configuration files and the result logs are stored. The paths to these directories are relative to the working directory of the VM (usually the directory where Bosch IoT Gateway Software start script resides).

Property

Default Value

Description

tee.sa.osgi.base.configs

../../../tee/sa/configs

Indicates the base directory which holds the configuration files that define different values of the default system properties of the Bosch IoT Gateway Software and other prerequisites for the proper starting of the test cases and projects.

tee.sa.osgi.base.testcases

../../../testcases

Specifies test case base directory.

tee.sa.osgi.base.projects

../../../tee/sa/projects

Defines the location of the directory holding the available projects.

tee.sa.osgi.base.logs

../../../tee/sa/logs

Specifies the directory where the results of the executed test cases or projects are stored in predefined order.

Properties Providing Specific Console Dumps

You may use the properties described below to define the information about currently running test cases/projects on the console.

Property

Default Value

Description

tee.sa.osgi.dump.allLogs

false

If set to true, information about the test case execution is printed line by line on the console. The default value is false - which means that this information is to be found in the <current_time_and_date>.html document in the tee/sa/logs/<project_name>/<current_date_and_time>/ <test_case_name_and_version> directory.

tee.sa.osgi.dump.ltt

false

If set to true, the exact time and date the test case execution started and finished, the time elapsed for the execution and the used memory are printed on the console. The default value is false.

tee.sa.osgi.dump.pSummary

false

If set to true, a short summary of the generated results after test case/project execution is printed on the console. The default value is false - which means that information about the name and the status of the executed test case and additional project information is to be found in the summary.html in the tee/sa/logs/<project_name>/<current_date_and_time> directory.

tee.sa.osgi.dump.tcStatus

false

If set to true, prints information from the manifest file of the currently running test case to the system output.

Auto Properties

This section lists the system properties that you can use to tune project execution and automatic execution of test case bundles.

Property

Default Value

Description

tee.sa.osgi.auto

false

If set to true, the values set for the other auto properties will take effect for the projects specified through the tee.sa.osgi.auto.projects property.

tee.sa.osgi.auto.exit

false

If set to true, the framework exits after the project execution is completed and you can view the generated results in the directory set with the tee.sa.osgi.base.logs property.

tee.sa.osgi.auto.exit.timeout

-1

Specifies the time in milliseconds, after which the TEE will exit in case an automatic project has not finished its execution. The default value is -1. This means that the property is not taken into consideration. To make use of this property, set it to a value greater than 0.

tee.sa.osgi.auto.projects

auto_project.xml

If you want to execute more than one project, define them using this property. Separate the projects with ";".

You can define only projects available in the directory specified by the tee.sa.osgi.base.projects directory.

Report Properties

Property

Default Value

Description

tee.sa.osgi.report.dirName.maxLength

Integer.MAX_VALUE

Specifies the maximum number of filename symbols.

tee.sa.osgi.report.fullLogs

true

If set to false, only summary.html and env.html documents are generated in the tee/sa/logs/<project_name>/ <current_date_and_time> directory. The default value is true. This means that a thorough information for the results of the test case execution is provided in the <current_time_and_date>.html document in the tee/sa/logs/<project_name>/ <current_date_and_time>/ <test_case_name_and_version> directory.

tee.sa.osgi.report.output.format

prosyst.html

Specifies the output format of the report file.

  • junit.xml: A XML report format will be created, compatible with the Apache Ant JUnit plugin. You can import these files with the Eclipse JUnit view.
  • prosyst.html: An HTML report format will be created, which you can use for analysis on your browser screen.

Execution Specific Properties

Property

Default Value

Description

tee.execution.osgi.refreshpackages

false

Indicates whether to forcefully update or remove (when true) all packages exported or imported by:

  • a bundle which is uninstalled by the test case configuration, i.e this is explicitly defined in the configuration file
  • a test case which is uninstalled.

Directory Structure

The Test Execution Environment has the following directory structure:

Directory

Description

bin/vms

Contains the TEE extension scripts.

bundles

Contains the bundle JAR file that processes the TEE.

tee/sa/configs

Contains the available configuration XML files.

tee/sa/projects

Contains the available test projects.

demo/com.prosyst.mbs.tee.assertion-demo

Contains the Assertion Demo.

demo/com.prosyst.mbs.tee.junit-demo

Contains the JUnit Demo.

demo/com.prosyst.mbs.tee.junit4-demo

Contains the JUnit4 Demo.

demo/com.prosyst.mbs.tee.junit5-demo

Contains the JUnit5 Demo.

testcases

Contains the JAR files of the available test cases.