RTEMS 6.1-rc1
Modules | Files | Data Structures | Macros | Typedefs | Functions | Variables
RTEMS Test Framework Implementation

Implementation details. More...

Modules

 Gcov Support
 This group contains the gocv support.
 

Files

file  t-test-busy-tick.c
 This source file contains the implementation of T_get_one_clock_tick_busy().
 
file  t-test-busy.c
 This source file contains the implementation of T_busy().
 
file  t-test-checks-eno.c
 This source file contains the implementation of T_strerror(), T_check_eno(), and T_check_eno_success().
 
file  t-test-checks-psx.c
 This source file contains the implementation of T_check_psx_error() and T_check_psx_success().
 
file  t-test-checks.c
 This source file contains the implementation of various RTEMS Test Framework check functions.
 
file  t-test-hash-sha256.c
 This source file contains the implementation of T_report_hash_sha256_update() and T_report_hash_sha256().
 
file  t-test-interrupt.c
 This source file contains the implementation of T_interrupt_test().
 
file  t-test-rtems-context.c
 This source file contains the implementation of T_check_task_context().
 
file  t-test-rtems-fds.c
 This source file contains the implementation of T_check_file_descriptors().
 
file  t-test-rtems-heap.c
 This source file contains the implementation of T_check_heap().
 
file  t-test-rtems-measure.c
 This source file contains the implementation of T_measure_runtime().
 
file  t-test-rtems-memory.c
 This source file contains the implementation of T_memory_allocate(), T_memory_deallocate(), and T_memory_action().
 
file  t-test-rtems-objs.c
 This source file contains the implementation of the RTEMS objects test support.
 
file  t-test-rtems-posix-keys.c
 This source file contains the implementation of T_check_posix_keys().
 
file  t-test-rtems.c
 This source file contains the implementation of T_putchar_default(), T_check_rsc(), and T_check_rsc_success().
 
file  t-test-scheduler.c
 This source file contains the implementation of the scheduler test support API.
 
file  t-test-thread-switch.c
 This source file contains the implementation of the thread switch recorder.
 
file  t-test-time.c
 This source file contains the implementation of the time and ticks test support.
 
file  t-test.c
 This source file contains the core implementation of RTEMS Test Framework.
 
file  testbeginend.c
 This source file contains the implementation of rtems_test_begin() and rtems_test_end().
 
file  testgcovbspreset.c
 This source file contains the implementation of a wrapper for bsp_reset() which dumps the gcov information using rtems_test_gcov_dump_info() before the real bsp_reset() is called.
 
file  testgcovcpufatalhalt.c
 This source file contains the implementation of a wrapper for _CPU_Fatal_halt() which dumps the gcov information using rtems_test_gcov_dump_info() before the real _CPU_Fatal_halt() is called.
 
file  testgcovdumpinfo.c
 This source file contains the implementation of rtems_test_gcov_dump_info().
 

Data Structures

struct  T_case_context
 
struct  T_check_context
 
struct  T_check_context_msg
 

Macros

#define T_NO_RETURN   _Noreturn
 
#define T_CHECK_STOP   1U
 
#define T_CHECK_QUIET   2U
 
#define T_CHECK_FMT   4U
 
#define T_CHECK_STEP_FLAG   8U
 
#define T_CHECK_STEP_TO_FLAGS(step)   ((unsigned int)(step) << 8)
 
#define T_CHECK_STEP_FROM_FLAGS(flags)   ((flags) >> 8)
 
#define T_CHECK_STEP(step)   (T_CHECK_STEP_TO_FLAGS(step) | T_CHECK_STEP_FLAG)
 
#define T_VA_ARGS_FIRST(...)   T_VA_ARGS_FIRST_SELECT(__VA_ARGS__, throw_away)
 
#define T_VA_ARGS_FIRST_SELECT(first, ...)   first
 
#define T_VA_ARGS_MORE(...)    T_VA_ARGS_XEXPAND(T_VA_ARGS_KIND(__VA_ARGS__), __VA_ARGS__)
 
#define T_VA_ARGS_XEXPAND(kind, ...)   T_VA_ARGS_EXPAND(kind, __VA_ARGS__)
 
#define T_VA_ARGS_EXPAND(kind, ...)   T_VA_ARGS_EXPAND_##kind(__VA_ARGS__)
 
#define T_VA_ARGS_EXPAND_0U(first)
 
#define T_VA_ARGS_EXPAND_4U(first, ...)   , __VA_ARGS__
 
#define T_VA_ARGS_KIND(...)
 
#define T_VA_ARGS_SELECT(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, ...)   a10
 
#define T_flags_true(flags, ...)
 
#define T_flags_eq(flags, a, ...)
 
#define T_flags_ne(flags, a, ...)
 
#define T_flags_eq_ptr(a, e, flags, sa, se)
 
#define T_flags_ne_ptr(a, e, flags, sa, se)
 
#define T_flags_null(a, flags, sa)
 
#define T_flags_not_null(a, flags, sa)
 
#define T_flags_eq_mem(a, e, n, flags, sa, se, sn)
 
#define T_flags_ne_mem(a, e, n, flags, sa, se, sn)
 
#define T_flags_eq_str(a, e, flags)
 
#define T_flags_ne_str(a, e, flags)
 
#define T_flags_eq_nstr(a, e, n, flags)
 
#define T_flags_ne_nstr(a, e, n, flags)
 
#define T_flags_eq_char(a, e, flags)
 
#define T_flags_ne_char(a, e, flags)
 
#define T_flags_eq_int(a, e, flags)
 
#define T_flags_ne_int(a, e, flags)
 
#define T_flags_ge_int(a, e, flags)
 
#define T_flags_gt_int(a, e, flags)
 
#define T_flags_le_int(a, e, flags)
 
#define T_flags_lt_int(a, e, flags)
 
#define T_flags_eq_uint(a, e, flags)
 
#define T_flags_ne_uint(a, e, flags)
 
#define T_flags_ge_uint(a, e, flags)
 
#define T_flags_gt_uint(a, e, flags)
 
#define T_flags_le_uint(a, e, flags)
 
#define T_flags_lt_uint(a, e, flags)
 
#define T_flags_eq_long(a, e, flags)
 
#define T_flags_ne_long(a, e, flags)
 
#define T_flags_ge_long(a, e, flags)
 
#define T_flags_gt_long(a, e, flags)
 
#define T_flags_le_long(a, e, flags)
 
#define T_flags_lt_long(a, e, flags)
 
#define T_flags_eq_ulong(a, e, flags)
 
#define T_flags_ne_ulong(a, e, flags)
 
#define T_flags_ge_ulong(a, e, flags)
 
#define T_flags_gt_ulong(a, e, flags)
 
#define T_flags_le_ulong(a, e, flags)
 
#define T_flags_lt_ulong(a, e, flags)
 
#define T_flags_eq_ll(a, e, flags)
 
#define T_flags_ne_ll(a, e, flags)
 
#define T_flags_ge_ll(a, e, flags)
 
#define T_flags_gt_ll(a, e, flags)
 
#define T_flags_le_ll(a, e, flags)
 
#define T_flags_lt_ll(a, e, flags)
 
#define T_flags_eq_ull(a, e, flags)
 
#define T_flags_ne_ull(a, e, flags)
 
#define T_flags_ge_ull(a, e, flags)
 
#define T_flags_gt_ull(a, e, flags)
 
#define T_flags_le_ull(a, e, flags)
 
#define T_flags_lt_ull(a, e, flags)
 
#define T_flags_eno(a, e, flags)
 
#define T_flags_eno_success(a, flags)
 
#define T_flags_psx_error(a, eno, flags)
 
#define T_flags_psx_success(a, flags)
 

Typedefs

typedef struct T_case_context T_case_context
 

Functions

void T_case_register (T_case_context *)
 
void T_check (const T_check_context *, bool,...)
 
void T_check_eq_ptr (const T_check_context_msg *, uintptr_t, uintptr_t)
 
void T_check_ne_ptr (const T_check_context_msg *, uintptr_t, uintptr_t)
 
void T_check_null (const T_check_context_msg *, uintptr_t)
 
void T_check_not_null (const T_check_context_msg *, uintptr_t)
 
void T_check_eq_mem (const T_check_context_msg *, const void *, const void *, size_t)
 
void T_check_ne_mem (const T_check_context_msg *, const void *, const void *, size_t)
 
void T_check_eq_str (const T_check_context *, const char *, const char *)
 
void T_check_ne_str (const T_check_context *, const char *, const char *)
 
void T_check_eq_nstr (const T_check_context *, const char *, const char *, size_t)
 
void T_check_ne_nstr (const T_check_context *, const char *, const char *, size_t)
 
void T_check_eq_char (const T_check_context *, char, char)
 
void T_check_ne_char (const T_check_context *, char, char)
 
void T_check_eq_int (const T_check_context *, int, int)
 
void T_check_ne_int (const T_check_context *, int, int)
 
void T_check_ge_int (const T_check_context *, int, int)
 
void T_check_gt_int (const T_check_context *, int, int)
 
void T_check_le_int (const T_check_context *, int, int)
 
void T_check_lt_int (const T_check_context *, int, int)
 
void T_check_eq_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_ne_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_ge_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_gt_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_le_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_lt_uint (const T_check_context *, unsigned int, unsigned int)
 
void T_check_eq_long (const T_check_context *, long, long)
 
void T_check_ne_long (const T_check_context *, long, long)
 
void T_check_ge_long (const T_check_context *, long, long)
 
void T_check_gt_long (const T_check_context *, long, long)
 
void T_check_le_long (const T_check_context *, long, long)
 
void T_check_lt_long (const T_check_context *, long, long)
 
void T_check_eq_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_ne_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_ge_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_gt_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_le_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_lt_ulong (const T_check_context *, unsigned long, unsigned long)
 
void T_check_eq_ll (const T_check_context *, long long, long long)
 
void T_check_ne_ll (const T_check_context *, long long, long long)
 
void T_check_ge_ll (const T_check_context *, long long, long long)
 
void T_check_gt_ll (const T_check_context *, long long, long long)
 
void T_check_le_ll (const T_check_context *, long long, long long)
 
void T_check_lt_ll (const T_check_context *, long long, long long)
 
void T_check_eq_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_ne_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_ge_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_gt_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_le_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_lt_ull (const T_check_context *, unsigned long long, unsigned long long)
 
void T_check_eno (const T_check_context *, int, int)
 
void T_check_eno_success (const T_check_context *, int)
 
void T_check_psx_error (const T_check_context *, int, int)
 
void T_check_psx_success (const T_check_context *, int)
 
Objects_Maximum T_objects_count (Objects_APIs api, uint16_t cls)
 
void T_objects_check (Objects_APIs api, uint16_t cls, Objects_Maximum *expected, const char *name)
 

Variables

const T_check_context T_special
 

Detailed Description

Implementation details.

Macro Definition Documentation

◆ T_flags_eno

#define T_flags_eno (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eno(&T_check_instance, a, e); \
}
Definition: test.h:152
unsigned e
Definition: tlb.h:13

◆ T_flags_eno_success

#define T_flags_eno_success (   a,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eno_success(&T_check_instance, a); \
}

◆ T_flags_eq

#define T_flags_eq (   flags,
  a,
  ... 
)
Value:
T_flags_true(flags, \
(a) == (T_VA_ARGS_FIRST(__VA_ARGS__)) T_VA_ARGS_MORE(__VA_ARGS__))

◆ T_flags_eq_char

#define T_flags_eq_char (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_char(&T_check_instance, a, e); \
}

◆ T_flags_eq_int

#define T_flags_eq_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_int(&T_check_instance, a, e); \
}

◆ T_flags_eq_ll

#define T_flags_eq_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_ll(&T_check_instance, a, e); \
}

◆ T_flags_eq_long

#define T_flags_eq_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_long(&T_check_instance, a, e); \
}

◆ T_flags_eq_mem

#define T_flags_eq_mem (   a,
  e,
  n,
  flags,
  sa,
  se,
  sn 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, \
"memcmp(" sa ", " se ", " sn ") == 0" }; \
T_check_eq_mem(&T_check_instance, a, e, n); \
}
Definition: test.h:158

◆ T_flags_eq_nstr

#define T_flags_eq_nstr (   a,
  e,
  n,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_nstr(&T_check_instance, a, e, n); \
}

◆ T_flags_eq_ptr

#define T_flags_eq_ptr (   a,
  e,
  flags,
  sa,
  se 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, \
sa " == " se }; \
T_check_eq_ptr(&T_check_instance, (uintptr_t)a, (uintptr_t)e); \
}

◆ T_flags_eq_str

#define T_flags_eq_str (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_str(&T_check_instance, a, e); \
}

◆ T_flags_eq_uint

#define T_flags_eq_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_uint(&T_check_instance, a, e); \
}

◆ T_flags_eq_ull

#define T_flags_eq_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_ull(&T_check_instance, a, e); \
}

◆ T_flags_eq_ulong

#define T_flags_eq_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_eq_ulong(&T_check_instance, a, e); \
}

◆ T_flags_ge_int

#define T_flags_ge_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_int(&T_check_instance, a, e); \
}

◆ T_flags_ge_ll

#define T_flags_ge_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_ll(&T_check_instance, a, e); \
}

◆ T_flags_ge_long

#define T_flags_ge_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_long(&T_check_instance, a, e); \
}

◆ T_flags_ge_uint

#define T_flags_ge_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_uint(&T_check_instance, a, e); \
}

◆ T_flags_ge_ull

#define T_flags_ge_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_ull(&T_check_instance, a, e); \
}

◆ T_flags_ge_ulong

#define T_flags_ge_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ge_ulong(&T_check_instance, a, e); \
}

◆ T_flags_gt_int

#define T_flags_gt_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_int(&T_check_instance, a, e); \
}

◆ T_flags_gt_ll

#define T_flags_gt_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_ll(&T_check_instance, a, e); \
}

◆ T_flags_gt_long

#define T_flags_gt_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_long(&T_check_instance, a, e); \
}

◆ T_flags_gt_uint

#define T_flags_gt_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_uint(&T_check_instance, a, e); \
}

◆ T_flags_gt_ull

#define T_flags_gt_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_ull(&T_check_instance, a, e); \
}

◆ T_flags_gt_ulong

#define T_flags_gt_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_gt_ulong(&T_check_instance, a, e); \
}

◆ T_flags_le_int

#define T_flags_le_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_int(&T_check_instance, a, e); \
}

◆ T_flags_le_ll

#define T_flags_le_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_ll(&T_check_instance, a, e); \
}

◆ T_flags_le_long

#define T_flags_le_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_long(&T_check_instance, a, e); \
}

◆ T_flags_le_uint

#define T_flags_le_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_uint(&T_check_instance, a, e); \
}

◆ T_flags_le_ull

#define T_flags_le_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_ull(&T_check_instance, a, e); \
}

◆ T_flags_le_ulong

#define T_flags_le_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_le_ulong(&T_check_instance, a, e); \
}

◆ T_flags_lt_int

#define T_flags_lt_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_int(&T_check_instance, a, e); \
}

◆ T_flags_lt_ll

#define T_flags_lt_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_ll(&T_check_instance, a, e); \
}

◆ T_flags_lt_long

#define T_flags_lt_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_long(&T_check_instance, a, e); \
}

◆ T_flags_lt_uint

#define T_flags_lt_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_uint(&T_check_instance, a, e); \
}

◆ T_flags_lt_ull

#define T_flags_lt_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_ull(&T_check_instance, a, e); \
}

◆ T_flags_lt_ulong

#define T_flags_lt_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_lt_ulong(&T_check_instance, a, e); \
}

◆ T_flags_ne

#define T_flags_ne (   flags,
  a,
  ... 
)
Value:
T_flags_true(flags, \
(a) != (T_VA_ARGS_FIRST(__VA_ARGS__)) T_VA_ARGS_MORE(__VA_ARGS__))

◆ T_flags_ne_char

#define T_flags_ne_char (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_char(&T_check_instance, a, e); \
}

◆ T_flags_ne_int

#define T_flags_ne_int (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_int(&T_check_instance, a, e); \
}

◆ T_flags_ne_ll

#define T_flags_ne_ll (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_ll(&T_check_instance, a, e); \
}

◆ T_flags_ne_long

#define T_flags_ne_long (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_long(&T_check_instance, a, e); \
}

◆ T_flags_ne_mem

#define T_flags_ne_mem (   a,
  e,
  n,
  flags,
  sa,
  se,
  sn 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, \
"memcmp(" sa ", " se ", " sn ") != 0" }; \
T_check_ne_mem(&T_check_instance, a, e, n); \
}

◆ T_flags_ne_nstr

#define T_flags_ne_nstr (   a,
  e,
  n,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_nstr(&T_check_instance, a, e, n); \
}

◆ T_flags_ne_ptr

#define T_flags_ne_ptr (   a,
  e,
  flags,
  sa,
  se 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, \
sa " != " se }; \
T_check_ne_ptr(&T_check_instance, (uintptr_t)a, (uintptr_t)e); \
}

◆ T_flags_ne_str

#define T_flags_ne_str (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_str(&T_check_instance, a, e); \
}

◆ T_flags_ne_uint

#define T_flags_ne_uint (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_uint(&T_check_instance, a, e); \
}

◆ T_flags_ne_ull

#define T_flags_ne_ull (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_ull(&T_check_instance, a, e); \
}

◆ T_flags_ne_ulong

#define T_flags_ne_ulong (   a,
  e,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_ne_ulong(&T_check_instance, a, e); \
}

◆ T_flags_not_null

#define T_flags_not_null (   a,
  flags,
  sa 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, sa }; \
T_check_not_null(&T_check_instance, (uintptr_t)a); \
}

◆ T_flags_null

#define T_flags_null (   a,
  flags,
  sa 
)
Value:
{ \
static const T_check_context_msg T_check_instance = { \
{ T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }, sa }; \
T_check_null(&T_check_instance, (uintptr_t)a); \
}

◆ T_flags_psx_error

#define T_flags_psx_error (   a,
  eno,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_psx_error(&T_check_instance, a, eno); \
}

◆ T_flags_psx_success

#define T_flags_psx_success (   a,
  flags 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, (flags) | T_CHECK_FMT }; \
T_check_psx_success(&T_check_instance, a); \
}

◆ T_flags_true

#define T_flags_true (   flags,
  ... 
)
Value:
{ \
static const T_check_context T_check_instance = { \
T_FILE_NAME, __LINE__, \
(flags) | T_VA_ARGS_KIND(__VA_ARGS__) }; \
T_check(&T_check_instance, \
T_VA_ARGS_FIRST(__VA_ARGS__) T_VA_ARGS_MORE(__VA_ARGS__)); \
}

◆ T_VA_ARGS_KIND

#define T_VA_ARGS_KIND (   ...)
Value:
T_VA_ARGS_SELECT(__VA_ARGS__, \
4U, 4U, 4U, 4U, 4U, 4U, 4U, 4U, 0U, throw_away)