QP/C  7.0.0
Real-Time Embedded Framework
qutest.c File Reference

QF/C stub for QUTEST unit testing. More...

#include "qf_port.h"
#include "qf_pkg.h"
#include "qassert.h"
#include "qs_port.h"
#include "qs_pkg.h"

Go to the source code of this file.

Functions

static void QHsmDummy_init_ (QHsm *const me, void const *const par, uint_fast8_t const qs_id)
 
static void QHsmDummy_dispatch_ (QHsm *const me, QEvt const *const e, uint_fast8_t const qs_id)
 
static void QActiveDummy_init_ (QHsm *const me, void const *const par, uint_fast8_t const qs_id)
 
static void QActiveDummy_dispatch_ (QHsm *const me, QEvt const *const e, uint_fast8_t const qs_id)
 
static bool QActiveDummy_post_ (QActive *const me, QEvt const *const e, uint_fast16_t const margin, void const *const sender)
 
static void QActiveDummy_postLIFO_ (QActive *const me, QEvt const *const e)
 
static void QActiveDummy_start_ (QActive *const me, uint_fast8_t prio, QEvt const **const qSto, uint_fast16_t qLen, void *stkSto, uint_fast16_t stkSize, void const *const par)
 
Q_NORETURN Q_onAssert (char const *const module, int_t const location)
 

Variables

uint8_t volatile QF_intNest
 

Detailed Description

Date
Last updated on: 2021-12-23
Version
Last updated for: Version 7.0.0, 2022-04-30

Definition in file qutest.c.

Function Documentation

◆ QHsmDummy_init_()

static void QHsmDummy_init_ ( QHsm *const  me,
void const *const  par,
uint_fast8_t const  qs_id 
)
static

◆ QHsmDummy_dispatch_()

static void QHsmDummy_dispatch_ ( QHsm *const  me,
QEvt const *const  e,
uint_fast8_t const  qs_id 
)
static

◆ QActiveDummy_init_()

static void QActiveDummy_init_ ( QHsm *const  me,
void const *const  par,
uint_fast8_t const  qs_id 
)
static

◆ QActiveDummy_dispatch_()

static void QActiveDummy_dispatch_ ( QHsm *const  me,
QEvt const *const  e,
uint_fast8_t const  qs_id 
)
static

◆ QActiveDummy_post_()

static bool QActiveDummy_post_ ( QActive *const  me,
QEvt const *const  e,
uint_fast16_t const  margin,
void const *const  sender 
)
static

◆ QActiveDummy_postLIFO_()

static void QActiveDummy_postLIFO_ ( QActive *const  me,
QEvt const *const  e 
)
static

◆ QActiveDummy_start_()

static void QActiveDummy_start_ ( QActive *const  me,
uint_fast8_t  prio,
QEvt const **const  qSto,
uint_fast16_t  qLen,
void *  stkSto,
uint_fast16_t  stkSize,
void const *const  par 
)
static

◆ Q_onAssert()

Q_NORETURN Q_onAssert ( char const *const  module,
int_t const  location 
)

Callback function invoked in case of any assertion failure.

This is an application-specific callback function needs to be defined in the application to perform the clean system shutdown and perhaps a reset.

Parameters
[in]modulename of the file/module in which the assertion failed (constant, zero-terminated C string)
[in]locationlocation of the assertion within the module. This could be a line number or a user-specified ID-number.
Note
This callback function should not return, as continuation after an assertion failure does not make sense.
The Q_onAssert() function is the last line of defense after the system failure and its implementation shouild be very carefully designed and tested under various fault conditions, including but not limited to: stack overflow, stack corruption, or calling Q_onAssert() from an interrupt.
It is typically a bad idea to implement Q_onAssert() as an endless loop that ties up the CPU. During debuggin, Q_onAssert() is an ideal place to put a breakpoint.

Called by the following macros: Q_ASSERT, Q_REQUIRE, Q_ENSURE, Q_ERROR, Q_ALLEGE as well as Q_ASSERT_ID, Q_REQUIRE_ID, Q_ENSURE_ID, Q_ERROR_ID, and Q_ALLEGE_ID.

Definition at line 480 of file qutest.c.

Variable Documentation

◆ QF_intNest

uint8_t volatile QF_intNest

Definition at line 45 of file qutest.c.