Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
assert.h File Reference
#include "common.h"
#include "preprocess.h"
#include "asprintf-compat.h"
#include "designated-initializer-compat.h"
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <wchar.h>
#include "../types.h"
#include "../stats.h"
#include "../hooks.h"
#include "../event.h"
#include "../abort.h"
#include "../options.h"

Go to the source code of this file.

Data Structures

struct  criterion_assert_args
 

Macros

#define CR_GET_CONDITION(Condition, ...)   Condition
 
#define CR_GET_CONDITION_STR(Condition, ...)   #Condition
 
#define CR_VA_SKIP(_, ...)   __VA_ARGS__
 
#define CR_TRANSLATE_DEF_MSG__(Arg)    CR_IDENTITY Arg
 
#define CR_TRANSLATE_DEF_MSG_(...)
 
#define CR_INIT_STATS_(MsgVar, Shifted, ...)
 
#define CR_FAIL_ABORT_   criterion_abort_test
 
#define CR_FAIL_CONTINUES_   criterion_continue_test
 
#define cr_assert_impl(Fail, Condition, ...)
 
#define cr_fail(Fail, ...)
 
#define cr_skip(...)    criterion_skip_test("" __VA_ARGS__)
 
#define cr_assert_(...)
 
#define cr_expect_(...)
 
#define cr_assert_not_(...)
 
#define cr_expect_not_(...)
 
#define cr_assert_op_(Fail, Op, Actual, Expected, ...)
 
#define cr_assert_op_va_(Fail, Op, ...)
 
#define cr_assert_null_op_(Fail, Op, Msg, Value, ...)
 
#define cr_assert_null_op_va_(Fail, Op, Msg, ...)
 
#define cr_assert_float_eq_op_(Actual, Expected, Epsilon)    (Expected) - (Actual) <= (Epsilon) && (Actual) - (Expected) <= (Epsilon)
 
#define cr_assert_float_neq_op_(Actual, Expected, Epsilon)    (Expected) - (Actual) > (Epsilon) || (Actual) - (Expected) > (Epsilon)
 
#define cr_assert_float_op_(Fail, Op, Actual, Expected, Epsilon, ...)
 
#define cr_assert_float_op_va_(Fail, Op, ...)
 
#define cr_assert_str_op_empty_(Fail, Op, Msg, Value, ...)
 
#define cr_assert_str_op_empty_va_(Fail, Op, Msg, ...)
 
#define cr_assert_str_op_(Fail, Op, Actual, Expected, ...)
 
#define cr_assert_str_op_va_(Fail, Op, ...)
 
#define cr_assert_wcs_op_empty_(Fail, Op, Msg, Value, ...)
 
#define cr_assert_wcs_op_empty_va_(Fail, Op, Msg, ...)
 
#define cr_assert_wcs_op_(Fail, Op, Actual, Expected, ...)
 
#define cr_assert_wcs_op_va_(Fail, Op, ...)
 
#define cr_assert_mem_op_(Fail, Op, Actual, Expected, Size, ...)
 
#define cr_assert_mem_op_va_(Fail, Op, ...)
 
#define CR_ARR_COMPARE_(A, B, Size, Cmp, Result)
 
#define cr_assert_arr_op_cmp_(Fail, Op, Actual, Expected, Size, Cmp, ...)
 
#define cr_assert_arr_op_cmp_va_(Fail, Op, ...)
 
#define cr_assert_throw_abort_(Fail, Msg, MsgArgs, ...)
 
#define cr_assert_throw_(Fail, Statement, Exception, ...)
 
#define cr_assert_throw_va_(...)
 
#define cr_assert_no_throw_(Fail, Statement, Exception, ...)
 
#define cr_assert_no_throw_va_(...)
 
#define cr_assert_any_throw_(Fail, Statement, ...)
 
#define cr_assert_any_throw_va_(...)
 
#define cr_assert_none_throw_(Fail, Statement, ...)
 
#define cr_assert_none_throw_va_(...)
 
#define CRITERION_GNUC_WARN__(Msg)    _Pragma(#Msg)
 
#define CRITERION_GNUC_WARN_(Name)
 
#define cr_skip_test(...)   CR_EXPAND(cr_skip(__VA_ARGS__))
 
#define cr_assert_fail(...)   CR_EXPAND(cr_fail(CR_FAIL_ABORT_, __VA_ARGS__))
 
#define cr_expect_fail(...)   CR_EXPAND(cr_fail(CR_FAIL_CONTINUES_, __VA_ARGS__))
 
#define cr_assert(...)   CR_EXPAND(cr_assert_(__VA_ARGS__))
 
#define cr_expect(...)   CR_EXPAND(cr_expect_(__VA_ARGS__))
 
#define cr_assert_not(...)   CR_EXPAND(cr_assert_not_(__VA_ARGS__))
 
#define cr_expect_not(...)   CR_EXPAND(cr_expect_not_(__VA_ARGS__))
 
#define cr_assert_eq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))
 
#define cr_expect_eq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))
 
#define cr_assert_neq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))
 
#define cr_expect_neq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))
 
#define cr_assert_lt(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))
 
#define cr_expect_lt(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))
 
#define cr_assert_leq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))
 
#define cr_expect_leq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))
 
#define cr_assert_gt(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))
 
#define cr_expect_gt(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))
 
#define cr_assert_geq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))
 
#define cr_expect_geq(...)   CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))
 
#define cr_assert_null(...)   CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_NULL, __VA_ARGS__))
 
#define cr_expect_null(...)   CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_NULL, __VA_ARGS__))
 
#define cr_assert_not_null(...)   CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_NULL, __VA_ARGS__))
 
#define cr_expect_not_null(...)   CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_NULL, __VA_ARGS__))
 
#define cr_assert_float_eq(...)   CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_ABORT_, cr_assert_float_eq_op_, __VA_ARGS__))
 
#define cr_expect_float_eq(...)   CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_CONTINUES_, cr_assert_float_eq_op_, __VA_ARGS__))
 
#define cr_assert_float_neq(...)   CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_ABORT_, cr_assert_float_neq_op_, __VA_ARGS__))
 
#define cr_expect_float_neq(...)   CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_CONTINUES_, cr_assert_float_neq_op_, __VA_ARGS__))
 
#define cr_assert_str_empty(...)   CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))
 
#define cr_expect_str_empty(...)   CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))
 
#define cr_assert_str_not_empty(...)   CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))
 
#define cr_expect_str_not_empty(...)   CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))
 
#define cr_assert_str_eq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))
 
#define cr_expect_str_eq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))
 
#define cr_assert_str_neq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))
 
#define cr_expect_str_neq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))
 
#define cr_assert_str_lt(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))
 
#define cr_expect_str_lt(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))
 
#define cr_assert_str_leq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))
 
#define cr_expect_str_leq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))
 
#define cr_assert_str_gt(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))
 
#define cr_expect_str_gt(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))
 
#define cr_assert_str_geq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))
 
#define cr_expect_str_geq(...)   CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))
 
#define cr_assert_wcs_empty(...)   CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))
 
#define cr_expect_wcs_empty(...)   CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))
 
#define cr_assert_wcs_not_empty(...)   CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))
 
#define cr_expect_wcs_not_empty(...)   CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))
 
#define cr_assert_wcs_eq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))
 
#define cr_expect_wcs_eq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))
 
#define cr_assert_wcs_neq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))
 
#define cr_expect_wcs_neq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))
 
#define cr_assert_wcs_lt(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))
 
#define cr_expect_wcs_lt(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))
 
#define cr_assert_wcs_leq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))
 
#define cr_expect_wcs_leq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))
 
#define cr_assert_wcs_gt(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))
 
#define cr_expect_wcs_gt(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))
 
#define cr_assert_wcs_geq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))
 
#define cr_expect_wcs_geq(...)   CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))
 
#define cr_assert_arr_eq(...)   CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))
 
#define cr_expect_arr_eq(...)   CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))
 
#define cr_assert_arr_neq(...)   CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))
 
#define cr_expect_arr_neq(...)   CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))
 
#define cr_assert_arr_eq_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_eq_cmp) CR_NOOP
 
#define cr_expect_arr_eq_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_eq_cmp) CR_NOOP
 
#define cr_assert_arr_neq_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_neq_cmp) CR_NOOP
 
#define cr_expect_arr_neq_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_neq_cmp) CR_NOOP
 
#define cr_assert_arr_lt_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_lt_cmp) CR_NOOP
 
#define cr_expect_arr_lt_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_lt_cmp) CR_NOOP
 
#define cr_assert_arr_leq_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_leq_cmp) CR_NOOP
 
#define cr_expect_arr_leq_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_leq_cmp) CR_NOOP
 
#define cr_assert_arr_gt_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_gt_cmp) CR_NOOP
 
#define cr_expect_arr_gt_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_gt_cmp) CR_NOOP
 
#define cr_assert_arr_geq_cmp(...)   CRITERION_GNUC_WARN_(cr_assert_arr_geq_cmp) CR_NOOP
 
#define cr_expect_arr_geq_cmp(...)   CRITERION_GNUC_WARN_(cr_expect_arr_geq_cmp) CR_NOOP
 
#define cr_assert_throw(...)   CR_EXPAND(cr_assert_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))
 
#define cr_expect_throw(...)   CR_EXPAND(cr_assert_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))
 
#define cr_assert_no_throw(...)   CR_EXPAND(cr_assert_no_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))
 
#define cr_expect_no_throw(...)   CR_EXPAND(cr_assert_no_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))
 
#define cr_assert_any_throw(...)   CR_EXPAND(cr_assert_any_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))
 
#define cr_expect_any_throw(...)   CR_EXPAND(cr_assert_any_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))
 
#define cr_assert_none_throw(...)   CR_EXPAND(cr_assert_none_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))
 
#define cr_expect_none_throw(...)   CR_EXPAND(cr_assert_none_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))
 

Enumerations

enum  criterion_assert_messages {
  CRITERION_ASSERT_MSG_FAIL , CRITERION_ASSERT_MSG_EXPR_FALSE , CRITERION_ASSERT_MSG_EXPR_AS_STRINGS_FALSE , CRITERION_ASSERT_MSG_IS_NULL ,
  CRITERION_ASSERT_MSG_IS_NOT_NULL , CRITERION_ASSERT_MSG_IS_EMPTY , CRITERION_ASSERT_MSG_IS_NOT_EMPTY , CRITERION_ASSERT_MSG_FILE_STR_MATCH ,
  CRITERION_ASSERT_MSG_FILE_MATCH , CRITERION_ASSERT_MSG_THROW , CRITERION_ASSERT_MSG_NO_THROW , CRITERION_ASSERT_MSG_ANY_THROW ,
  CRITERION_ASSERT_MSG_NONE_THROW
}
 

Functions

CR_BEGIN_C_API CR_API char * cr_translate_assert_msg (int msg_index,...)
 
CR_API void cri_asserts_passed_incr (void)
 

Macro Definition Documentation

◆ CR_ARR_COMPARE_

#define CR_ARR_COMPARE_ ( A,
B,
Size,
Cmp,
Result )
Value:
__typeof__ (&(A)[0])first = (A); \
__typeof__ (&(B)[0])second = (B); \
int Result = 0; \
size_t i, size; \
for (i = 0, size = (Size); !Result && i < size; ++i) \
Result = Cmp(first + i, second + i)

Definition at line 386 of file internal/assert.h.

386# define CR_ARR_COMPARE_(A, B, Size, Cmp, Result) \
387 __typeof__ (&(A)[0])first = (A); \
388 __typeof__ (&(B)[0])second = (B); \
389 int Result = 0; \
390 size_t i, size; \
391 for (i = 0, size = (Size); !Result && i < size; ++i) \
392 Result = Cmp(first + i, second + i)

◆ cr_assert

#define cr_assert ( ...)    CR_EXPAND(cr_assert_(__VA_ARGS__))

Definition at line 535 of file internal/assert.h.

◆ cr_assert_

#define cr_assert_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
dummy, \
(CR_STR(CR_VA_HEAD(__VA_ARGS__))), \
CR_VA_TAIL(__VA_ARGS__) \
))
#define cr_assert_impl(Fail, Condition,...)
#define CR_FAIL_ABORT_
@ CRITERION_ASSERT_MSG_EXPR_FALSE
#define CR_EXPAND(x)
Definition preprocess.h:35
#define CR_VA_TAIL(...)
Definition preprocess.h:61
#define CR_VA_HEAD(...)
Definition preprocess.h:68
#define CR_STR(...)
Definition preprocess.h:58

Definition at line 152 of file internal/assert.h.

152#define cr_assert_(...) \
153 CR_EXPAND(cr_assert_impl( \
154 CR_FAIL_ABORT_, \
155 CR_VA_HEAD(__VA_ARGS__), \
156 dummy, \
157 CRITERION_ASSERT_MSG_EXPR_FALSE, \
158 (CR_STR(CR_VA_HEAD(__VA_ARGS__))), \
159 CR_VA_TAIL(__VA_ARGS__) \
160 ))

◆ cr_assert_any_throw

#define cr_assert_any_throw ( ...)    CR_EXPAND(cr_assert_any_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))

Definition at line 720 of file internal/assert.h.

◆ cr_assert_any_throw_

#define cr_assert_any_throw_ ( Fail,
Statement,
... )
Value:
try { \
Statement; \
Fail, \
(CR_STR(Statement)), \
__VA_ARGS__)); \
} catch (...) {}
#define cr_assert_throw_abort_(Fail, Msg, MsgArgs,...)
@ CRITERION_ASSERT_MSG_ANY_THROW

Definition at line 478 of file internal/assert.h.

478#define cr_assert_any_throw_(Fail, Statement, ...) \
479 try { \
480 Statement; \
481 CR_EXPAND(cr_assert_throw_abort_( \
482 Fail, \
483 CRITERION_ASSERT_MSG_ANY_THROW, \
484 (CR_STR(Statement)), \
485 __VA_ARGS__)); \
486 } catch (...) {}

◆ cr_assert_any_throw_va_

#define cr_assert_any_throw_va_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
dummy, \
CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
))
#define cr_assert_any_throw_(Fail, Statement,...)

Definition at line 488 of file internal/assert.h.

488#define cr_assert_any_throw_va_(...) \
489 CR_EXPAND(cr_assert_any_throw_( \
490 CR_VA_HEAD(__VA_ARGS__), \
491 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
492 dummy, \
493 CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
494 ))

◆ cr_assert_arr_eq

#define cr_assert_arr_eq ( ...)    CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))

Definition at line 647 of file internal/assert.h.

◆ cr_assert_arr_eq_cmp

#define cr_assert_arr_eq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_eq_cmp) CR_NOOP

Definition at line 685 of file internal/assert.h.

◆ cr_assert_arr_geq_cmp

#define cr_assert_arr_geq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_geq_cmp) CR_NOOP

Definition at line 705 of file internal/assert.h.

◆ cr_assert_arr_gt_cmp

#define cr_assert_arr_gt_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_gt_cmp) CR_NOOP

Definition at line 701 of file internal/assert.h.

◆ cr_assert_arr_leq_cmp

#define cr_assert_arr_leq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_leq_cmp) CR_NOOP

Definition at line 697 of file internal/assert.h.

◆ cr_assert_arr_lt_cmp

#define cr_assert_arr_lt_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_lt_cmp) CR_NOOP

Definition at line 693 of file internal/assert.h.

◆ cr_assert_arr_neq

#define cr_assert_arr_neq ( ...)    CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))

Definition at line 651 of file internal/assert.h.

◆ cr_assert_arr_neq_cmp

#define cr_assert_arr_neq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_assert_arr_neq_cmp) CR_NOOP

Definition at line 689 of file internal/assert.h.

◆ cr_assert_arr_op_cmp_

#define cr_assert_arr_op_cmp_ ( Fail,
Op,
Actual,
Expected,
Size,
Cmp,
... )
Value:
do { \
CR_ARR_COMPARE_(Actual, Expected, Size, Cmp, order); \
CR_EXPAND(cr_assert_impl( \
Fail, \
order Op 0, \
dummy, \
(CR_STR((Actual)[0..Size] Op (Expected)[0..Size])), \
__VA_ARGS__ \
)); \
} while (0)

Definition at line 395 of file internal/assert.h.

395#define cr_assert_arr_op_cmp_(Fail, Op, Actual, Expected, Size, Cmp, ...) \
396 do { \
397 CR_ARR_COMPARE_(Actual, Expected, Size, Cmp, order); \
398 CR_EXPAND(cr_assert_impl( \
399 Fail, \
400 order Op 0, \
401 dummy, \
402 CRITERION_ASSERT_MSG_EXPR_FALSE, \
403 (CR_STR((Actual)[0..Size] Op (Expected)[0..Size])), \
404 __VA_ARGS__ \
405 )); \
406 } while (0)

◆ cr_assert_arr_op_cmp_va_

#define cr_assert_arr_op_cmp_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
))
#define cr_assert_arr_op_cmp_(Fail, Op, Actual, Expected, Size, Cmp,...)

Definition at line 408 of file internal/assert.h.

408#define cr_assert_arr_op_cmp_va_(Fail, Op, ...) \
409 CR_EXPAND(cr_assert_arr_op_cmp_( \
410 Fail, \
411 Op, \
412 CR_VA_HEAD(__VA_ARGS__), \
413 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
414 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
415 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)))), \
416 CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)))) \
417 ))

◆ cr_assert_eq

#define cr_assert_eq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))

Definition at line 543 of file internal/assert.h.

◆ cr_assert_fail

#define cr_assert_fail ( ...)    CR_EXPAND(cr_fail(CR_FAIL_ABORT_, __VA_ARGS__))

Definition at line 531 of file internal/assert.h.

◆ cr_assert_float_eq

#define cr_assert_float_eq ( ...)    CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_ABORT_, cr_assert_float_eq_op_, __VA_ARGS__))

Definition at line 575 of file internal/assert.h.

◆ cr_assert_float_eq_op_

#define cr_assert_float_eq_op_ ( Actual,
Expected,
Epsilon )    (Expected) - (Actual) <= (Epsilon) && (Actual) - (Expected) <= (Epsilon)

Definition at line 236 of file internal/assert.h.

236#define cr_assert_float_eq_op_(Actual, Expected, Epsilon) \
237 (Expected) - (Actual) <= (Epsilon) && (Actual) - (Expected) <= (Epsilon)

◆ cr_assert_float_neq

#define cr_assert_float_neq ( ...)    CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_ABORT_, cr_assert_float_neq_op_, __VA_ARGS__))

Definition at line 579 of file internal/assert.h.

◆ cr_assert_float_neq_op_

#define cr_assert_float_neq_op_ ( Actual,
Expected,
Epsilon )    (Expected) - (Actual) > (Epsilon) || (Actual) - (Expected) > (Epsilon)

Definition at line 239 of file internal/assert.h.

239#define cr_assert_float_neq_op_(Actual, Expected, Epsilon) \
240 (Expected) - (Actual) > (Epsilon) || (Actual) - (Expected) > (Epsilon)

◆ cr_assert_float_op_

#define cr_assert_float_op_ ( Fail,
Op,
Actual,
Expected,
Epsilon,
... )
Value:
Fail, \
Op (Actual, Expected, Epsilon), \
dummy, \
(CR_STR(Op (Actual, Expected, Epsilon))), \
__VA_ARGS__ \
))

Definition at line 242 of file internal/assert.h.

242#define cr_assert_float_op_(Fail, Op, Actual, Expected, Epsilon, ...) \
243 CR_EXPAND(cr_assert_impl( \
244 Fail, \
245 Op (Actual, Expected, Epsilon), \
246 dummy, \
247 CRITERION_ASSERT_MSG_EXPR_FALSE, \
248 (CR_STR(Op (Actual, Expected, Epsilon))), \
249 __VA_ARGS__ \
250 ))

◆ cr_assert_float_op_va_

#define cr_assert_float_op_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
))
#define cr_assert_float_op_(Fail, Op, Actual, Expected, Epsilon,...)

Definition at line 252 of file internal/assert.h.

252#define cr_assert_float_op_va_(Fail, Op, ...) \
253 CR_EXPAND(cr_assert_float_op_( \
254 Fail, \
255 Op, \
256 CR_VA_HEAD(__VA_ARGS__), \
257 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
258 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
259 CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
260 ))

◆ cr_assert_geq

#define cr_assert_geq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))

Definition at line 563 of file internal/assert.h.

◆ cr_assert_gt

#define cr_assert_gt ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))

Definition at line 559 of file internal/assert.h.

◆ cr_assert_impl

#define cr_assert_impl ( Fail,
Condition,
... )
Value:
do { \
bool cr_passed__ = !!(Condition); \
char *cr_msg__ = NULL; \
int cr_shifted__ = 0; \
\
if (!cr_passed__ || criterion_options.full_stats) { \
CR_EXPAND(CR_INIT_STATS_(cr_msg__, cr_shifted__, \
CR_VA_TAIL(__VA_ARGS__))); \
struct criterion_assert_stats cr_stat__; \
cr_stat__.passed = cr_passed__; \
cr_stat__.file = __FILE__; \
cr_stat__.line = __LINE__; \
cr_stat__.message = cr_msg__; \
criterion_send_assert(&cr_stat__); \
\
cr_asprintf_free(cr_msg__ - cr_shifted__); \
} \
if (!cr_passed__) \
Fail(); \
else \
cri_asserts_passed_incr(); \
} while (0)
#define NULL
Definition gmacros.h:924
#define CR_INIT_STATS_(MsgVar, Shifted,...)

Definition at line 115 of file internal/assert.h.

115#define cr_assert_impl(Fail, Condition, ...) \
116 do { \
117 bool cr_passed__ = !!(Condition); \
118 char *cr_msg__ = NULL; \
119 int cr_shifted__ = 0; \
120 \
121 if (!cr_passed__ || criterion_options.full_stats) { \
122 CR_EXPAND(CR_INIT_STATS_(cr_msg__, cr_shifted__, \
123 CR_VA_TAIL(__VA_ARGS__))); \
124 struct criterion_assert_stats cr_stat__; \
125 cr_stat__.passed = cr_passed__; \
126 cr_stat__.file = __FILE__; \
127 cr_stat__.line = __LINE__; \
128 cr_stat__.message = cr_msg__; \
129 criterion_send_assert(&cr_stat__); \
130 \
131 cr_asprintf_free(cr_msg__ - cr_shifted__); \
132 } \
133 if (!cr_passed__) \
134 Fail(); \
135 else \
136 cri_asserts_passed_incr(); \
137 } while (0)

◆ cr_assert_leq

#define cr_assert_leq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))

Definition at line 555 of file internal/assert.h.

◆ cr_assert_lt

#define cr_assert_lt ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))

Definition at line 551 of file internal/assert.h.

◆ cr_assert_mem_op_

#define cr_assert_mem_op_ ( Fail,
Op,
Actual,
Expected,
Size,
... )
Value:
Fail, \
CR_STDN memcmp((Actual), (Expected), (Size)) Op 0, \
dummy, \
(CR_STR((Actual)[0..Size] Op (Expected)[0..Size])), \
__VA_ARGS__ \
))
#define CR_STDN
Definition common.h:136

Definition at line 360 of file internal/assert.h.

360#define cr_assert_mem_op_(Fail, Op, Actual, Expected, Size, ...) \
361 CR_EXPAND(cr_assert_impl( \
362 Fail, \
363 CR_STDN memcmp((Actual), (Expected), (Size)) Op 0, \
364 dummy, \
365 CRITERION_ASSERT_MSG_EXPR_FALSE, \
366 (CR_STR((Actual)[0..Size] Op (Expected)[0..Size])), \
367 __VA_ARGS__ \
368 ))

◆ cr_assert_mem_op_va_

#define cr_assert_mem_op_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
))
#define cr_assert_mem_op_(Fail, Op, Actual, Expected, Size,...)

Definition at line 370 of file internal/assert.h.

370#define cr_assert_mem_op_va_(Fail, Op, ...) \
371 CR_EXPAND(cr_assert_mem_op_( \
372 Fail, \
373 Op, \
374 CR_VA_HEAD(__VA_ARGS__), \
375 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
376 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
377 CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
378 ))

◆ cr_assert_neq

#define cr_assert_neq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))

Definition at line 547 of file internal/assert.h.

◆ cr_assert_no_throw

#define cr_assert_no_throw ( ...)    CR_EXPAND(cr_assert_no_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))

Definition at line 716 of file internal/assert.h.

◆ cr_assert_no_throw_

#define cr_assert_no_throw_ ( Fail,
Statement,
Exception,
... )
Value:
try { \
Statement; \
} catch (Exception const &) { \
Fail, \
(CR_STR(Statement), CR_STR(Exception)), \
__VA_ARGS__)); \
}
@ CRITERION_ASSERT_MSG_THROW

Definition at line 458 of file internal/assert.h.

458#define cr_assert_no_throw_(Fail, Statement, Exception, ...) \
459 try { \
460 Statement; \
461 } catch (Exception const &) { \
462 CR_EXPAND(cr_assert_throw_abort_( \
463 Fail, \
464 CRITERION_ASSERT_MSG_THROW, \
465 (CR_STR(Statement), CR_STR(Exception)), \
466 __VA_ARGS__)); \
467 }

◆ cr_assert_no_throw_va_

#define cr_assert_no_throw_va_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
dummy, \
CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
))
#define cr_assert_no_throw_(Fail, Statement, Exception,...)

Definition at line 469 of file internal/assert.h.

469#define cr_assert_no_throw_va_(...) \
470 CR_EXPAND(cr_assert_no_throw_( \
471 CR_VA_HEAD(__VA_ARGS__), \
472 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
473 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
474 dummy, \
475 CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
476 ))

◆ cr_assert_none_throw

#define cr_assert_none_throw ( ...)    CR_EXPAND(cr_assert_none_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))

Definition at line 724 of file internal/assert.h.

◆ cr_assert_none_throw_

#define cr_assert_none_throw_ ( Fail,
Statement,
... )
Value:
try { \
Statement; \
} catch (...) { \
Fail, \
(CR_STR(Statement)), \
__VA_ARGS__)); \
}
@ CRITERION_ASSERT_MSG_NONE_THROW

Definition at line 496 of file internal/assert.h.

496#define cr_assert_none_throw_(Fail, Statement, ...) \
497 try { \
498 Statement; \
499 } catch (...) { \
500 CR_EXPAND(cr_assert_throw_abort_( \
501 Fail, \
502 CRITERION_ASSERT_MSG_NONE_THROW, \
503 (CR_STR(Statement)), \
504 __VA_ARGS__)); \
505 }

◆ cr_assert_none_throw_va_

#define cr_assert_none_throw_va_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
dummy, \
CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
))
#define cr_assert_none_throw_(Fail, Statement,...)

Definition at line 507 of file internal/assert.h.

507#define cr_assert_none_throw_va_(...) \
508 CR_EXPAND(cr_assert_none_throw_( \
509 CR_VA_HEAD(__VA_ARGS__), \
510 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
511 dummy, \
512 CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
513 ))

◆ cr_assert_not

#define cr_assert_not ( ...)    CR_EXPAND(cr_assert_not_(__VA_ARGS__))

Definition at line 539 of file internal/assert.h.

◆ cr_assert_not_

#define cr_assert_not_ ( ...)
Value:
!(CR_VA_HEAD(__VA_ARGS__)), \
dummy, \
(CR_STR(!(CR_VA_HEAD(__VA_ARGS__)))), \
CR_VA_TAIL(__VA_ARGS__) \
))

Definition at line 172 of file internal/assert.h.

172#define cr_assert_not_(...) \
173 CR_EXPAND(cr_assert_impl( \
174 CR_FAIL_ABORT_, \
175 !(CR_VA_HEAD(__VA_ARGS__)), \
176 dummy, \
177 CRITERION_ASSERT_MSG_EXPR_FALSE, \
178 (CR_STR(!(CR_VA_HEAD(__VA_ARGS__)))), \
179 CR_VA_TAIL(__VA_ARGS__) \
180 ))

◆ cr_assert_not_null

#define cr_assert_not_null ( ...)    CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_NULL, __VA_ARGS__))

Definition at line 571 of file internal/assert.h.

◆ cr_assert_null

#define cr_assert_null ( ...)    CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_NULL, __VA_ARGS__))

Definition at line 567 of file internal/assert.h.

◆ cr_assert_null_op_

#define cr_assert_null_op_ ( Fail,
Op,
Msg,
Value,
... )
Value:
Fail, \
(Value) Op NULL, \
dummy, \
Msg, \
(CR_STR(Value)), \
__VA_ARGS__ \
))

Definition at line 215 of file internal/assert.h.

215#define cr_assert_null_op_(Fail, Op, Msg, Value, ...) \
216 CR_EXPAND(cr_assert_impl( \
217 Fail, \
218 (Value) Op NULL, \
219 dummy, \
220 Msg, \
221 (CR_STR(Value)), \
222 __VA_ARGS__ \
223 ))

◆ cr_assert_null_op_va_

#define cr_assert_null_op_va_ ( Fail,
Op,
Msg,
... )
Value:
Fail, \
Op, \
Msg, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_TAIL(__VA_ARGS__) \
))
#define cr_assert_null_op_(Fail, Op, Msg, Value,...)

Definition at line 225 of file internal/assert.h.

225#define cr_assert_null_op_va_(Fail, Op, Msg, ...) \
226 CR_EXPAND(cr_assert_null_op_( \
227 Fail, \
228 Op, \
229 Msg, \
230 CR_VA_HEAD(__VA_ARGS__), \
231 CR_VA_TAIL(__VA_ARGS__) \
232 ))

◆ cr_assert_op_

#define cr_assert_op_ ( Fail,
Op,
Actual,
Expected,
... )
Value:
Fail, \
(Actual) Op (Expected), \
dummy, \
(CR_STR((Actual) Op (Expected))), \
__VA_ARGS__ \
))

Definition at line 194 of file internal/assert.h.

194#define cr_assert_op_(Fail, Op, Actual, Expected, ...) \
195 CR_EXPAND(cr_assert_impl( \
196 Fail, \
197 (Actual) Op (Expected), \
198 dummy, \
199 CRITERION_ASSERT_MSG_EXPR_FALSE, \
200 (CR_STR((Actual) Op (Expected))), \
201 __VA_ARGS__ \
202 ))

◆ cr_assert_op_va_

#define cr_assert_op_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
))
#define cr_assert_op_(Fail, Op, Actual, Expected,...)

Definition at line 204 of file internal/assert.h.

204#define cr_assert_op_va_(Fail, Op, ...) \
205 CR_EXPAND(cr_assert_op_( \
206 Fail, \
207 Op, \
208 CR_VA_HEAD(__VA_ARGS__), \
209 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
210 CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
211 ))

◆ cr_assert_str_empty

#define cr_assert_str_empty ( ...)    CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))

Definition at line 583 of file internal/assert.h.

◆ cr_assert_str_eq

#define cr_assert_str_eq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))

Definition at line 591 of file internal/assert.h.

◆ cr_assert_str_geq

#define cr_assert_str_geq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))

Definition at line 611 of file internal/assert.h.

◆ cr_assert_str_gt

#define cr_assert_str_gt ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))

Definition at line 607 of file internal/assert.h.

◆ cr_assert_str_leq

#define cr_assert_str_leq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))

Definition at line 603 of file internal/assert.h.

◆ cr_assert_str_lt

#define cr_assert_str_lt ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))

Definition at line 599 of file internal/assert.h.

◆ cr_assert_str_neq

#define cr_assert_str_neq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))

Definition at line 595 of file internal/assert.h.

◆ cr_assert_str_not_empty

#define cr_assert_str_not_empty ( ...)    CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))

Definition at line 587 of file internal/assert.h.

◆ cr_assert_str_op_

#define cr_assert_str_op_ ( Fail,
Op,
Actual,
Expected,
... )
Value:
do { \
const char *cr_str_actual__ = (Actual); \
const char *cr_str_expected__ = (Expected); \
CR_EXPAND(cr_assert_impl( \
Fail, \
((cr_str_actual__) != NULL) && ((cr_str_expected__) != NULL) \
&& CR_STDN strcmp((cr_str_actual__), (cr_str_expected__)) Op 0, \
dummy, \
(CR_STR((Actual) Op (Expected)), cr_str_actual__, cr_str_expected__), \
__VA_ARGS__ \
)); \
} while (0)
@ CRITERION_ASSERT_MSG_EXPR_AS_STRINGS_FALSE

Definition at line 286 of file internal/assert.h.

286#define cr_assert_str_op_(Fail, Op, Actual, Expected, ...) \
287 do { \
288 const char *cr_str_actual__ = (Actual); \
289 const char *cr_str_expected__ = (Expected); \
290 CR_EXPAND(cr_assert_impl( \
291 Fail, \
292 ((cr_str_actual__) != NULL) && ((cr_str_expected__) != NULL) \
293 && CR_STDN strcmp((cr_str_actual__), (cr_str_expected__)) Op 0, \
294 dummy, \
295 CRITERION_ASSERT_MSG_EXPR_AS_STRINGS_FALSE, \
296 (CR_STR((Actual) Op (Expected)), cr_str_actual__, cr_str_expected__), \
297 __VA_ARGS__ \
298 )); \
299 } while (0)

◆ cr_assert_str_op_empty_

#define cr_assert_str_op_empty_ ( Fail,
Op,
Msg,
Value,
... )
Value:
do { \
const char *cr_str_value__ = (Value); \
CR_EXPAND(cr_assert_impl( \
Fail, \
((cr_str_value__) != NULL) && (cr_str_value__)[0] Op '\0', \
dummy, \
((cr_str_value__) != NULL) ? Msg : CRITERION_ASSERT_MSG_IS_NULL, \
(CR_STR(Value), cr_str_value__), \
__VA_ARGS__ \
)); \
} while (0)
@ CRITERION_ASSERT_MSG_IS_NULL
union Value Value

Definition at line 264 of file internal/assert.h.

264#define cr_assert_str_op_empty_(Fail, Op, Msg, Value, ...) \
265 do { \
266 const char *cr_str_value__ = (Value); \
267 CR_EXPAND(cr_assert_impl( \
268 Fail, \
269 ((cr_str_value__) != NULL) && (cr_str_value__)[0] Op '\0', \
270 dummy, \
271 ((cr_str_value__) != NULL) ? Msg : CRITERION_ASSERT_MSG_IS_NULL, \
272 (CR_STR(Value), cr_str_value__), \
273 __VA_ARGS__ \
274 )); \
275 } while (0)

◆ cr_assert_str_op_empty_va_

#define cr_assert_str_op_empty_va_ ( Fail,
Op,
Msg,
... )
Value:
Fail, \
Op, \
Msg, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_TAIL(__VA_ARGS__) \
))
#define cr_assert_str_op_empty_(Fail, Op, Msg, Value,...)

Definition at line 277 of file internal/assert.h.

277#define cr_assert_str_op_empty_va_(Fail, Op, Msg, ...) \
278 CR_EXPAND(cr_assert_str_op_empty_( \
279 Fail, \
280 Op, \
281 Msg, \
282 CR_VA_HEAD(__VA_ARGS__), \
283 CR_VA_TAIL(__VA_ARGS__) \
284 ))

◆ cr_assert_str_op_va_

#define cr_assert_str_op_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
))
#define cr_assert_str_op_(Fail, Op, Actual, Expected,...)

Definition at line 301 of file internal/assert.h.

301#define cr_assert_str_op_va_(Fail, Op, ...) \
302 CR_EXPAND(cr_assert_str_op_( \
303 Fail, \
304 Op, \
305 CR_VA_HEAD(__VA_ARGS__), \
306 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
307 CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
308 ))

◆ cr_assert_throw

#define cr_assert_throw ( ...)    CR_EXPAND(cr_assert_throw_va_(CR_FAIL_ABORT_, __VA_ARGS__))

Definition at line 712 of file internal/assert.h.

◆ cr_assert_throw_

#define cr_assert_throw_ ( Fail,
Statement,
Exception,
... )
Value:
try { \
Statement; \
Fail, \
(CR_STR(Statement), CR_STR(Exception)), \
__VA_ARGS__)); \
} catch (Exception const &) { \
/* pass -- the exception was thrown */ \
} catch (...) { \
Fail, \
(CR_STR(Statement), CR_STR(Exception)), \
__VA_ARGS__)); \
}
@ CRITERION_ASSERT_MSG_NO_THROW

Definition at line 431 of file internal/assert.h.

431#define cr_assert_throw_(Fail, Statement, Exception, ...) \
432 try { \
433 Statement; \
434 CR_EXPAND(cr_assert_throw_abort_( \
435 Fail, \
436 CRITERION_ASSERT_MSG_NO_THROW, \
437 (CR_STR(Statement), CR_STR(Exception)), \
438 __VA_ARGS__)); \
439 } catch (Exception const &) { \
440 /* pass -- the exception was thrown */ \
441 } catch (...) { \
442 CR_EXPAND(cr_assert_throw_abort_( \
443 Fail, \
444 CRITERION_ASSERT_MSG_NO_THROW, \
445 (CR_STR(Statement), CR_STR(Exception)), \
446 __VA_ARGS__)); \
447 }

◆ cr_assert_throw_abort_

#define cr_assert_throw_abort_ ( Fail,
Msg,
MsgArgs,
... )
Value:
Fail, \
0, \
dummy, \
Msg, \
MsgArgs, \
CR_VA_TAIL(__VA_ARGS__) \
))

Definition at line 421 of file internal/assert.h.

421#define cr_assert_throw_abort_(Fail, Msg, MsgArgs, ...) \
422 CR_EXPAND(cr_assert_impl( \
423 Fail, \
424 0, \
425 dummy, \
426 Msg, \
427 MsgArgs, \
428 CR_VA_TAIL(__VA_ARGS__) \
429 ))

◆ cr_assert_throw_va_

#define cr_assert_throw_va_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
dummy, \
CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
))
#define cr_assert_throw_(Fail, Statement, Exception,...)

Definition at line 449 of file internal/assert.h.

449#define cr_assert_throw_va_(...) \
450 CR_EXPAND(cr_assert_throw_( \
451 CR_VA_HEAD(__VA_ARGS__), \
452 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
453 CR_VA_HEAD(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))), \
454 dummy, \
455 CR_VA_TAIL(CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))) \
456 ))

◆ cr_assert_wcs_empty

#define cr_assert_wcs_empty ( ...)    CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_ABORT_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))

Definition at line 615 of file internal/assert.h.

◆ cr_assert_wcs_eq

#define cr_assert_wcs_eq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, ==, __VA_ARGS__))

Definition at line 623 of file internal/assert.h.

◆ cr_assert_wcs_geq

#define cr_assert_wcs_geq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, >=, __VA_ARGS__))

Definition at line 643 of file internal/assert.h.

◆ cr_assert_wcs_gt

#define cr_assert_wcs_gt ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, >, __VA_ARGS__))

Definition at line 639 of file internal/assert.h.

◆ cr_assert_wcs_leq

#define cr_assert_wcs_leq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, <=, __VA_ARGS__))

Definition at line 635 of file internal/assert.h.

◆ cr_assert_wcs_lt

#define cr_assert_wcs_lt ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, <, __VA_ARGS__))

Definition at line 631 of file internal/assert.h.

◆ cr_assert_wcs_neq

#define cr_assert_wcs_neq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_ABORT_, !=, __VA_ARGS__))

Definition at line 627 of file internal/assert.h.

◆ cr_assert_wcs_not_empty

#define cr_assert_wcs_not_empty ( ...)    CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_ABORT_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))

Definition at line 619 of file internal/assert.h.

◆ cr_assert_wcs_op_

#define cr_assert_wcs_op_ ( Fail,
Op,
Actual,
Expected,
... )
Value:
do { \
const wchar_t *cr_wcs_actual__ = (Actual); \
const wchar_t *cr_wcs_expected__ = (Expected); \
CR_EXPAND(cr_assert_impl( \
Fail, \
((cr_wcs_actual__) != NULL) && ((cr_wcs_expected__) != NULL) \
&& CR_STDN wcscmp((cr_wcs_actual__), (cr_wcs_expected__)) Op 0, \
dummy, \
(CR_STR((Actual) Op (Expected))), \
__VA_ARGS__ \
)); \
} while (0)

Definition at line 334 of file internal/assert.h.

334#define cr_assert_wcs_op_(Fail, Op, Actual, Expected, ...) \
335 do { \
336 const wchar_t *cr_wcs_actual__ = (Actual); \
337 const wchar_t *cr_wcs_expected__ = (Expected); \
338 CR_EXPAND(cr_assert_impl( \
339 Fail, \
340 ((cr_wcs_actual__) != NULL) && ((cr_wcs_expected__) != NULL) \
341 && CR_STDN wcscmp((cr_wcs_actual__), (cr_wcs_expected__)) Op 0, \
342 dummy, \
343 CRITERION_ASSERT_MSG_EXPR_FALSE, \
344 (CR_STR((Actual) Op (Expected))), \
345 __VA_ARGS__ \
346 )); \
347 } while (0)

◆ cr_assert_wcs_op_empty_

#define cr_assert_wcs_op_empty_ ( Fail,
Op,
Msg,
Value,
... )
Value:
do { \
const wchar_t *cr_wcs_value__ = (Value); \
CR_EXPAND(cr_assert_impl( \
Fail, \
((cr_wcs_value__) != NULL) && (cr_wcs_value__)[0] Op L'\0', \
dummy, \
((cr_wcs_value__) != NULL) ? Msg : CRITERION_ASSERT_MSG_IS_NULL, \
(CR_STR(Value), cr_wcs_value__), \
__VA_ARGS__ \
)); \
} while (0)

Definition at line 312 of file internal/assert.h.

312#define cr_assert_wcs_op_empty_(Fail, Op, Msg, Value, ...) \
313 do { \
314 const wchar_t *cr_wcs_value__ = (Value); \
315 CR_EXPAND(cr_assert_impl( \
316 Fail, \
317 ((cr_wcs_value__) != NULL) && (cr_wcs_value__)[0] Op L'\0', \
318 dummy, \
319 ((cr_wcs_value__) != NULL) ? Msg : CRITERION_ASSERT_MSG_IS_NULL, \
320 (CR_STR(Value), cr_wcs_value__), \
321 __VA_ARGS__ \
322 )); \
323 } while (0)

◆ cr_assert_wcs_op_empty_va_

#define cr_assert_wcs_op_empty_va_ ( Fail,
Op,
Msg,
... )
Value:
Fail, \
Op, \
Msg, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_TAIL(__VA_ARGS__) \
))
#define cr_assert_wcs_op_empty_(Fail, Op, Msg, Value,...)

Definition at line 325 of file internal/assert.h.

325#define cr_assert_wcs_op_empty_va_(Fail, Op, Msg, ...) \
326 CR_EXPAND(cr_assert_wcs_op_empty_( \
327 Fail, \
328 Op, \
329 Msg, \
330 CR_VA_HEAD(__VA_ARGS__), \
331 CR_VA_TAIL(__VA_ARGS__) \
332 ))

◆ cr_assert_wcs_op_va_

#define cr_assert_wcs_op_va_ ( Fail,
Op,
... )
Value:
Fail, \
Op, \
CR_VA_HEAD(__VA_ARGS__), \
CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
))
#define cr_assert_wcs_op_(Fail, Op, Actual, Expected,...)

Definition at line 349 of file internal/assert.h.

349#define cr_assert_wcs_op_va_(Fail, Op, ...) \
350 CR_EXPAND(cr_assert_wcs_op_( \
351 Fail, \
352 Op, \
353 CR_VA_HEAD(__VA_ARGS__), \
354 CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__)), \
355 CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__)) \
356 ))

◆ cr_expect

#define cr_expect ( ...)    CR_EXPAND(cr_expect_(__VA_ARGS__))

Definition at line 537 of file internal/assert.h.

◆ cr_expect_

#define cr_expect_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
dummy, \
(CR_STR(CR_VA_HEAD(__VA_ARGS__))), \
CR_VA_TAIL(__VA_ARGS__) \
))
#define CR_FAIL_CONTINUES_

Definition at line 162 of file internal/assert.h.

162#define cr_expect_(...) \
163 CR_EXPAND(cr_assert_impl( \
164 CR_FAIL_CONTINUES_, \
165 CR_VA_HEAD(__VA_ARGS__), \
166 dummy, \
167 CRITERION_ASSERT_MSG_EXPR_FALSE, \
168 (CR_STR(CR_VA_HEAD(__VA_ARGS__))), \
169 CR_VA_TAIL(__VA_ARGS__) \
170 ))

◆ cr_expect_any_throw

#define cr_expect_any_throw ( ...)    CR_EXPAND(cr_assert_any_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))

Definition at line 722 of file internal/assert.h.

◆ cr_expect_arr_eq

#define cr_expect_arr_eq ( ...)    CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))

Definition at line 649 of file internal/assert.h.

◆ cr_expect_arr_eq_cmp

#define cr_expect_arr_eq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_eq_cmp) CR_NOOP

Definition at line 687 of file internal/assert.h.

◆ cr_expect_arr_geq_cmp

#define cr_expect_arr_geq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_geq_cmp) CR_NOOP

Definition at line 707 of file internal/assert.h.

◆ cr_expect_arr_gt_cmp

#define cr_expect_arr_gt_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_gt_cmp) CR_NOOP

Definition at line 703 of file internal/assert.h.

◆ cr_expect_arr_leq_cmp

#define cr_expect_arr_leq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_leq_cmp) CR_NOOP

Definition at line 699 of file internal/assert.h.

◆ cr_expect_arr_lt_cmp

#define cr_expect_arr_lt_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_lt_cmp) CR_NOOP

Definition at line 695 of file internal/assert.h.

◆ cr_expect_arr_neq

#define cr_expect_arr_neq ( ...)    CR_EXPAND(cr_assert_mem_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))

Definition at line 653 of file internal/assert.h.

◆ cr_expect_arr_neq_cmp

#define cr_expect_arr_neq_cmp ( ...)    CRITERION_GNUC_WARN_(cr_expect_arr_neq_cmp) CR_NOOP

Definition at line 691 of file internal/assert.h.

◆ cr_expect_eq

#define cr_expect_eq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))

Definition at line 545 of file internal/assert.h.

◆ cr_expect_fail

#define cr_expect_fail ( ...)    CR_EXPAND(cr_fail(CR_FAIL_CONTINUES_, __VA_ARGS__))

Definition at line 533 of file internal/assert.h.

◆ cr_expect_float_eq

#define cr_expect_float_eq ( ...)    CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_CONTINUES_, cr_assert_float_eq_op_, __VA_ARGS__))

Definition at line 577 of file internal/assert.h.

◆ cr_expect_float_neq

#define cr_expect_float_neq ( ...)    CR_EXPAND(cr_assert_float_op_va_(CR_FAIL_CONTINUES_, cr_assert_float_neq_op_, __VA_ARGS__))

Definition at line 581 of file internal/assert.h.

◆ cr_expect_geq

#define cr_expect_geq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))

Definition at line 565 of file internal/assert.h.

◆ cr_expect_gt

#define cr_expect_gt ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))

Definition at line 561 of file internal/assert.h.

◆ cr_expect_leq

#define cr_expect_leq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))

Definition at line 557 of file internal/assert.h.

◆ cr_expect_lt

#define cr_expect_lt ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))

Definition at line 553 of file internal/assert.h.

◆ cr_expect_neq

#define cr_expect_neq ( ...)    CR_EXPAND(cr_assert_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))

Definition at line 549 of file internal/assert.h.

◆ cr_expect_no_throw

#define cr_expect_no_throw ( ...)    CR_EXPAND(cr_assert_no_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))

Definition at line 718 of file internal/assert.h.

◆ cr_expect_none_throw

#define cr_expect_none_throw ( ...)    CR_EXPAND(cr_assert_none_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))

Definition at line 726 of file internal/assert.h.

◆ cr_expect_not

#define cr_expect_not ( ...)    CR_EXPAND(cr_expect_not_(__VA_ARGS__))

Definition at line 541 of file internal/assert.h.

◆ cr_expect_not_

#define cr_expect_not_ ( ...)
Value:
!(CR_VA_HEAD(__VA_ARGS__)), \
dummy, \
(CR_STR(!(CR_VA_HEAD(__VA_ARGS__)))), \
CR_VA_TAIL(__VA_ARGS__) \
))

Definition at line 182 of file internal/assert.h.

182#define cr_expect_not_(...) \
183 CR_EXPAND(cr_assert_impl( \
184 CR_FAIL_CONTINUES_, \
185 !(CR_VA_HEAD(__VA_ARGS__)), \
186 dummy, \
187 CRITERION_ASSERT_MSG_EXPR_FALSE, \
188 (CR_STR(!(CR_VA_HEAD(__VA_ARGS__)))), \
189 CR_VA_TAIL(__VA_ARGS__) \
190 ))

◆ cr_expect_not_null

#define cr_expect_not_null ( ...)    CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_NULL, __VA_ARGS__))

Definition at line 573 of file internal/assert.h.

◆ cr_expect_null

#define cr_expect_null ( ...)    CR_EXPAND(cr_assert_null_op_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_NULL, __VA_ARGS__))

Definition at line 569 of file internal/assert.h.

◆ cr_expect_str_empty

#define cr_expect_str_empty ( ...)    CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))

Definition at line 585 of file internal/assert.h.

◆ cr_expect_str_eq

#define cr_expect_str_eq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))

Definition at line 593 of file internal/assert.h.

◆ cr_expect_str_geq

#define cr_expect_str_geq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))

Definition at line 613 of file internal/assert.h.

◆ cr_expect_str_gt

#define cr_expect_str_gt ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))

Definition at line 609 of file internal/assert.h.

◆ cr_expect_str_leq

#define cr_expect_str_leq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))

Definition at line 605 of file internal/assert.h.

◆ cr_expect_str_lt

#define cr_expect_str_lt ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))

Definition at line 601 of file internal/assert.h.

◆ cr_expect_str_neq

#define cr_expect_str_neq ( ...)    CR_EXPAND(cr_assert_str_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))

Definition at line 597 of file internal/assert.h.

◆ cr_expect_str_not_empty

#define cr_expect_str_not_empty ( ...)    CR_EXPAND(cr_assert_str_op_empty_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))

Definition at line 589 of file internal/assert.h.

◆ cr_expect_throw

#define cr_expect_throw ( ...)    CR_EXPAND(cr_assert_throw_va_(CR_FAIL_CONTINUES_, __VA_ARGS__))

Definition at line 714 of file internal/assert.h.

◆ cr_expect_wcs_empty

#define cr_expect_wcs_empty ( ...)    CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_CONTINUES_, ==, CRITERION_ASSERT_MSG_IS_NOT_EMPTY, __VA_ARGS__))

Definition at line 617 of file internal/assert.h.

◆ cr_expect_wcs_eq

#define cr_expect_wcs_eq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, ==, __VA_ARGS__))

Definition at line 625 of file internal/assert.h.

◆ cr_expect_wcs_geq

#define cr_expect_wcs_geq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, >=, __VA_ARGS__))

Definition at line 645 of file internal/assert.h.

◆ cr_expect_wcs_gt

#define cr_expect_wcs_gt ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, >, __VA_ARGS__))

Definition at line 641 of file internal/assert.h.

◆ cr_expect_wcs_leq

#define cr_expect_wcs_leq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, <=, __VA_ARGS__))

Definition at line 637 of file internal/assert.h.

◆ cr_expect_wcs_lt

#define cr_expect_wcs_lt ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, <, __VA_ARGS__))

Definition at line 633 of file internal/assert.h.

◆ cr_expect_wcs_neq

#define cr_expect_wcs_neq ( ...)    CR_EXPAND(cr_assert_wcs_op_va_(CR_FAIL_CONTINUES_, !=, __VA_ARGS__))

Definition at line 629 of file internal/assert.h.

◆ cr_expect_wcs_not_empty

#define cr_expect_wcs_not_empty ( ...)    CR_EXPAND(cr_assert_wcs_op_empty_va_(CR_FAIL_CONTINUES_, !=, CRITERION_ASSERT_MSG_IS_EMPTY, __VA_ARGS__))

Definition at line 621 of file internal/assert.h.

◆ cr_fail

#define cr_fail ( Fail,
... )
Value:
Fail, \
0, \
dummy, \
(), \
__VA_ARGS__ \
))
@ CRITERION_ASSERT_MSG_FAIL

Definition at line 139 of file internal/assert.h.

139#define cr_fail(Fail, ...) \
140 CR_EXPAND(cr_assert_impl( \
141 Fail, \
142 0, \
143 dummy, \
144 CRITERION_ASSERT_MSG_FAIL, \
145 (), \
146 __VA_ARGS__ \
147 ))

◆ CR_FAIL_ABORT_

#define CR_FAIL_ABORT_   criterion_abort_test

Definition at line 112 of file internal/assert.h.

◆ CR_FAIL_CONTINUES_

#define CR_FAIL_CONTINUES_   criterion_continue_test

Definition at line 113 of file internal/assert.h.

◆ CR_GET_CONDITION

#define CR_GET_CONDITION ( Condition,
... )   Condition

Definition at line 83 of file internal/assert.h.

◆ CR_GET_CONDITION_STR

#define CR_GET_CONDITION_STR ( Condition,
... )   #Condition

Definition at line 84 of file internal/assert.h.

◆ CR_INIT_STATS_

#define CR_INIT_STATS_ ( MsgVar,
Shifted,
... )
Value:
do { \
char *cr_def_msg__ = CR_EXPAND(CR_TRANSLATE_DEF_MSG_(__VA_ARGS__)); \
char *cr_fmt_msg__ = NULL; \
cr_asprintf(&cr_fmt_msg__, "x" CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))); \
if (cr_fmt_msg__ && cr_fmt_msg__[1]) { \
MsgVar = cr_fmt_msg__ + 1; \
Shifted = 1; \
cr_asprintf_free(cr_def_msg__); \
} else { \
MsgVar = cr_def_msg__; \
cr_asprintf_free(cr_fmt_msg__); \
} \
} while (0))
#define CR_TRANSLATE_DEF_MSG_(...)

Definition at line 96 of file internal/assert.h.

96#define CR_INIT_STATS_(MsgVar, Shifted, ...) \
97 CR_EXPAND( \
98 do { \
99 char *cr_def_msg__ = CR_EXPAND(CR_TRANSLATE_DEF_MSG_(__VA_ARGS__)); \
100 char *cr_fmt_msg__ = NULL; \
101 cr_asprintf(&cr_fmt_msg__, "x" CR_VA_TAIL(CR_VA_TAIL(__VA_ARGS__))); \
102 if (cr_fmt_msg__ && cr_fmt_msg__[1]) { \
103 MsgVar = cr_fmt_msg__ + 1; \
104 Shifted = 1; \
105 cr_asprintf_free(cr_def_msg__); \
106 } else { \
107 MsgVar = cr_def_msg__; \
108 cr_asprintf_free(cr_fmt_msg__); \
109 } \
110 } while (0))

◆ cr_skip

#define cr_skip ( ...)     criterion_skip_test("" __VA_ARGS__)

Definition at line 149 of file internal/assert.h.

149#define cr_skip(...) \
150 criterion_skip_test("" __VA_ARGS__)

◆ cr_skip_test

#define cr_skip_test ( ...)    CR_EXPAND(cr_skip(__VA_ARGS__))

Definition at line 529 of file internal/assert.h.

◆ CR_TRANSLATE_DEF_MSG_

#define CR_TRANSLATE_DEF_MSG_ ( ...)
Value:
CR_VA_HEAD(__VA_ARGS__), \
))
CR_BEGIN_C_API CR_API char * cr_translate_assert_msg(int msg_index,...)
#define CR_TRANSLATE_DEF_MSG__(Arg)

Definition at line 90 of file internal/assert.h.

90#define CR_TRANSLATE_DEF_MSG_(...) \
91 CR_EXPAND(cr_translate_assert_msg( \
92 CR_VA_HEAD(__VA_ARGS__), \
93 "" CR_TRANSLATE_DEF_MSG__(CR_VA_HEAD(CR_VA_TAIL(__VA_ARGS__))) \
94 ))

◆ CR_TRANSLATE_DEF_MSG__

#define CR_TRANSLATE_DEF_MSG__ ( Arg)     CR_IDENTITY Arg

Definition at line 87 of file internal/assert.h.

87#define CR_TRANSLATE_DEF_MSG__(Arg) \
88 CR_IDENTITY Arg

◆ CR_VA_SKIP

#define CR_VA_SKIP ( _,
... )   __VA_ARGS__

Definition at line 85 of file internal/assert.h.

◆ CRITERION_GNUC_WARN_

#define CRITERION_GNUC_WARN_ ( Name)
Value:
message \
"The `" #Name "` macro is only available on GNU C compilers." \
)
#define CRITERION_GNUC_WARN__(Msg)

Definition at line 520 of file internal/assert.h.

520#define CRITERION_GNUC_WARN_(Name) \
521 CRITERION_GNUC_WARN__( \
522 message \
523 "The `" #Name "` macro is only available on GNU C compilers." \
524 )

◆ CRITERION_GNUC_WARN__

#define CRITERION_GNUC_WARN__ ( Msg)     _Pragma(#Msg)

Definition at line 517 of file internal/assert.h.

517#define CRITERION_GNUC_WARN__(Msg) \
518 _Pragma(#Msg)

Enumeration Type Documentation

◆ criterion_assert_messages

Enumerator
CRITERION_ASSERT_MSG_FAIL 
CRITERION_ASSERT_MSG_EXPR_FALSE 
CRITERION_ASSERT_MSG_EXPR_AS_STRINGS_FALSE 
CRITERION_ASSERT_MSG_IS_NULL 
CRITERION_ASSERT_MSG_IS_NOT_NULL 
CRITERION_ASSERT_MSG_IS_EMPTY 
CRITERION_ASSERT_MSG_IS_NOT_EMPTY 
CRITERION_ASSERT_MSG_FILE_STR_MATCH 
CRITERION_ASSERT_MSG_FILE_MATCH 
CRITERION_ASSERT_MSG_THROW 
CRITERION_ASSERT_MSG_NO_THROW 
CRITERION_ASSERT_MSG_ANY_THROW 
CRITERION_ASSERT_MSG_NONE_THROW 

Definition at line 60 of file internal/assert.h.

Function Documentation

◆ cr_translate_assert_msg()

CR_BEGIN_C_API CR_API char * cr_translate_assert_msg ( int msg_index,
... )

◆ cri_asserts_passed_incr()

CR_API void cri_asserts_passed_incr ( void )