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