ADTF  3.18.2
ADTF Testing SDK

ADTF Testing SDK

The ADTF Testing SDK provides some simple functionality to test your ADTF components. It will work with each testing framework you like, we recommend and support the use with Catch2.

The main header to include is:

Copyright © Audi Electronics Venture GmbH.

Introduction

The main focus of this package is to create functional tests for ADTF components (such as Filter, Streaming Service or System Service) as well as all other ADTF code created with the use of Software Development Kit.

Usage:

CMake:

In CMake, just use the provided macro

adtf_add_catch_test(...)

Now you can access the catch2 Macros within your test scope. Have a look at Test for Demo Data Trigger Plugin for an example usage. If you would like to test Qt based components make sure to pass ENABLE_QT_ENV to the macro.

The test report handling is configured via the following CMake cache variables:

  • ADTF_TESTING_CATCH_REPORTER: The reporter used in Catch2. This is passed to the test executable via the "-r" parameter.
  • ADTF_TESTING_CATCH_GENERATE_REPORTS: Whether or not to generate report files.
  • ADTF_TESTING_CATCH_REPORTS_DIR: The directory where the test reports should pe placed in.
  • ADTF_TESTING_CATCH_REPORT_NAME_PATTERN: The pattern for constructing the report filenames, relative to ADTF_TESTING_CATCH_REPORTS_DIR. This support CMake generator expressions and CMake variables. ${NAME} can be used to address the name of the tests. Defaults to "\${NAME}/report_\${NAME}_\$<IF:\$<CONFIG:Debug>,debug,release>_\${PLATFORM}.xml"

Test Implementations:

We extended the SDKs with some additional classes for your testing porpuse.

The ADTF System SDK provides following testing helper classes:

To use them, just include following header:

Copyright © Audi Electronics Venture GmbH.

The ADTF Filter SDK provides following testing helper classes:

To use them, just include following header:

Copyright © Audi Electronics Venture GmbH.

For an example please have a look at Testing SDK Examples, especially:

Note
You can use these helper classes with every testing framework that you desire.