Software APIs
Data Fields
ottf_test_config Struct Reference

Configuration variables for an on-device test. More...

#include <sw/device/lib/testing/test_framework/ottf_test_config.h>

Data Fields

bool enable_concurrency
 If true, test_main() is run as a FreeRTOS task, enabling test writers to spawn additional (concurrent) FreeRTOS tasks within the test_main() execution context. More...
 
ottf_console_t console
 The communication peripheral to use as the test console, i.e. More...
 
bool enable_uart_flow_control
 Indicates that this test will utilize the UART to receive commands from a test harness and that the UART should enable software flow control. More...
 
bool clear_reset_reason
 Indicates that this test needs an explicit clear of the RSTMGR reset_reason register. More...
 
bool silence_console_prints
 
const char * file
 Name of the file in which kOttfTestConfig is defined. More...
 

Detailed Description

Configuration variables for an on-device test.

This type represents configuration values for an on-device test, which allow tests to configure the behavior of the OpenTitan Test Framework (OTTF).

WARNING: DO NOT REARRANGE THE MEMBERS IN THIS STRUCT. THE FIRST MEMBER IS ACCESSED BY OTTF ISR ASSEMBLY WHICH EXPECTS A SPECIFIC CONFIGURATION.

However, new fields can be safely added to this struct without affecting any tests; the "default" value of all fields should be zero (or NULL, or equivalent).

See kOttfTestConfig.

Definition at line 49 of file ottf_test_config.h.

Field Documentation

◆ clear_reset_reason

bool ottf_test_config::clear_reset_reason

Indicates that this test needs an explicit clear of the RSTMGR reset_reason register.

This may be necessary for tests that execute with the OTP configuration OWNER_SW_CFG_ROM_PRESERVE_RESET_REASON_EN set to true.

Definition at line 81 of file ottf_test_config.h.

◆ console

ottf_console_t ottf_test_config::console

The communication peripheral to use as the test console, i.e.

where test status and error messages are written to. Typically UART0, but other communication peripherals may be supported.

Definition at line 66 of file ottf_test_config.h.

◆ enable_concurrency

bool ottf_test_config::enable_concurrency

If true, test_main() is run as a FreeRTOS task, enabling test writers to spawn additional (concurrent) FreeRTOS tasks within the test_main() execution context.

If false, test_main() is executed on bare-metal, and cannot spawn additional concurrent execution contexts. This is useful for tests that do not require concurrency, and seek to minimize simulation runtime.

Definition at line 59 of file ottf_test_config.h.

◆ enable_uart_flow_control

bool ottf_test_config::enable_uart_flow_control

Indicates that this test will utilize the UART to receive commands from a test harness and that the UART should enable software flow control.

Note that requesting flow control will unmask the external interrupt and enable interrupt handling before test_main begins.

Definition at line 74 of file ottf_test_config.h.

◆ file

const char* ottf_test_config::file

Name of the file in which kOttfTestConfig is defined.

Most of the time, this will be the file that defines test_main().

Definition at line 91 of file ottf_test_config.h.

◆ silence_console_prints

bool ottf_test_config::silence_console_prints

Definition at line 85 of file ottf_test_config.h.