147 lines
20 KiB
ReStructuredText
147 lines
20 KiB
ReStructuredText
.. _assertions-ref:
|
|
|
|
Assertion reference
|
|
===================
|
|
|
|
This is an exhaustive list of all assertion macros that Criterion provides.
|
|
|
|
As each ``assert`` macros have an ``expect`` counterpart with the exact same
|
|
number of parameters and name suffix, there is no benefit in adding ``expect``
|
|
macros to this list. Hence only ``assert`` macros are represented here.
|
|
|
|
All ``assert`` macros may take an optional ``printf`` format string and
|
|
parameters.
|
|
|
|
Common Assertions
|
|
-----------------
|
|
|
|
=========================================================================== =========================================================================== ===========================================
|
|
Macro Passes if and only if Notes
|
|
=========================================================================== =========================================================================== ===========================================
|
|
cr_assert(Condition, [FormatString, [Args...]]) ``Condition`` is true.
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_not(Condition, [FormatString, [Args...]]) ``Condition`` is false.
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_null(Value, [FormatString, [Args...]]) ``Value`` is ``NULL``.
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_not_null(Value, [FormatString, [Args...]]) ``Value`` is not ``NULL``.
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_eq(Actual, Expected, [FormatString, [Args...]]) ``Actual`` is equal to ``Expected``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_neq(Actual, Unexpected, [FormatString, [Args...]]) ``Actual`` is not equal to ``Unexpected``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_lt(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is less than ``Reference``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_leq(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is less or equal to ``Reference``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_gt(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is greater than ``Reference``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_geq(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is greater or equal to ``Reference``. Compatible with C++ operator overloading
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_float_eq(Actual, Expected, Epsilon, [FormatString, [Args...]]) ``Actual`` is equal to ``Expected`` with a tolerance of ``Epsilon``. Use this to test equality between floats
|
|
--------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_float_neq(Actual, Unexpected, Epsilon, [FormatString, [Args...]]) ``Actual`` is not equal to ``Unexpected`` with a tolerance of ``Epsilon``. Use this to test inequality between floats
|
|
=========================================================================== =========================================================================== ===========================================
|
|
|
|
String Assertions
|
|
-----------------
|
|
|
|
Note: these macros are meant to deal with *native* strings, i.e. char arrays.
|
|
Most of them won't work on ``std::string`` in C++, with some exceptions -- for
|
|
``std::string``, you should use regular comparison assersions, as listed above.
|
|
|
|
================================================================ =================================================================== ===========================================
|
|
Macro Passes if and only if Notes
|
|
================================================================ =================================================================== ===========================================
|
|
cr_assert_str_empty(Value, [FormatString, [Args...]]) ``Value`` is an empty string. Also works on std::string
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_not_empty(Value, [FormatString, [Args...]]) ``Value`` is not an empty string. Also works on std::string
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_eq(Actual, Expected, [FormatString, [Args...]]) ``Actual`` is lexicographically equal to ``Expected``.
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_neq(Actual, Unexpected, [FormatString, [Args...]]) ``Actual`` is not lexicographically equal to ``Unexpected``.
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_lt(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is lexicographically less than ``Reference``.
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_leq(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is lexicographically less or equal to ``Reference``.
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_gt(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is lexicographically greater than ``Reference``.
|
|
---------------------------------------------------------------- ------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_str_geq(Actual, Reference, [FormatString, [Args...]]) ``Actual`` is lexicographically greater or equal to ``Reference``.
|
|
================================================================ =================================================================== ===========================================
|
|
|
|
Array Assertions
|
|
-----------------
|
|
|
|
=============================================================================== =========================================================================== ===========================================
|
|
Macro Passes if and only if Notes
|
|
=============================================================================== =========================================================================== ===========================================
|
|
cr_assert_arr_eq(Actual, Expected, [FormatString, [Args...]]) ``Actual`` is byte-to-byte equal to ``Expected``. This should not be used on struct arrays,
|
|
consider using ``cr_assert_arr_eq_cmp``
|
|
instead.
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_neq(Actual, Unexpected, [FormatString, [Args...]]) ``Actual`` is not byte-to-byte equal to ``Unexpected``. This should not be used on struct arrays,
|
|
consider using ``cr_assert_arr_neq_cmp``
|
|
instead.
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_eq_cmp(Actual, Expected, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is comparatively equal to ``Expected`` Only available in C++ and GNU C99
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_neq_cmp(Actual, Unexpected, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is not comparatively equal to ``Expected`` Only available in C++ and GNU C99
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_lt_cmp(Actual, Reference, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is comparatively less than ``Reference`` Only available in C++ and GNU C99
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_leq_cmp(Actual, Reference, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is comparatively less or equal to ``Reference`` Only available in C++ and GNU C99
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_gt_cmp(Actual, Reference, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is comparatively greater than ``Reference`` Only available in C++ and GNU C99
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_arr_geq_cmp(Actual, Reference, Size, Cmp, [FormatString, [Args...]]) ``Actual`` is comparatively greater or equal to ``Reference`` Only available in C++ and GNU C99
|
|
=============================================================================== =========================================================================== ===========================================
|
|
|
|
Exception Assertions
|
|
--------------------
|
|
|
|
The following assertion macros are only defined for C++.
|
|
|
|
=============================================================================== =========================================================================== ===========================================
|
|
Macro Passes if and only if Notes
|
|
=============================================================================== =========================================================================== ===========================================
|
|
cr_assert_throw(Statement, Exception, [FormatString, [Args...]]) ``Statement`` throws an instance of ``Exception``.
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_no_throw(Statement, Exception, [FormatString, [Args...]]) ``Statement`` does not throws an instance of ``Exception``.
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_any_throw(Statement, [FormatString, [Args...]]) ``Statement`` throws any kind of exception.
|
|
------------------------------------------------------------------------------- --------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_none_throw(Statement, [FormatString, [Args...]]) ``Statement`` does not throw any exception.
|
|
=============================================================================== =========================================================================== ===========================================
|
|
|
|
File Assertions
|
|
---------------
|
|
|
|
=================================================================================== ============================================================================ ===========================================
|
|
Macro Passes if and only if Notes
|
|
=================================================================================== ============================================================================ ===========================================
|
|
cr_assert_file_contents_eq_str(File, ExpectedContents, [FormatString, [Args...]]) The contents of ``File`` are equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_file_contents_neq_str(File, ExpectedContents, [FormatString, [Args...]]) The contents of ``File`` are not equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stdout_eq_str(ExpectedContents, [FormatString, [Args...]]) The contents of ``stdout`` are equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stdout_neq_str(ExpectedContents, [FormatString, [Args...]]) The contents of ``stdout`` are not equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stderr_eq_str(ExpectedContents, [FormatString, [Args...]]) The contents of ``stderr`` are equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stderr_neq_str(ExpectedContents, [FormatString, [Args...]]) The contents of ``stderr`` are not equal to the string ``ExpectedContents``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_file_contents_eq(File, RefFile, [FormatString, [Args...]]) The contents of ``File`` are equal to the contents of ``RefFile``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_file_contents_neq(File, RefFile, [FormatString, [Args...]]) The contents of ``File`` are not equal to the contents of ``RefFile``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stdout_eq(RefFile, [FormatString, [Args...]]) The contents of ``stdout`` are equal to the contents of ``RefFile``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stdout_neq(RefFile, [FormatString, [Args...]]) The contents of ``stdout`` are not equal to the contents of ``RefFile``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stderr_eq(RefFile, [FormatString, [Args...]]) The contents of ``stderr`` are equal to the contents of ``RefFile``.
|
|
----------------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------------------------------------------
|
|
cr_assert_stderr_neq(RefFile, [FormatString, [Args...]]) The contents of ``stderr`` are not equal to the contents of ``RefFile``.
|
|
=================================================================================== ============================================================================ ===========================================
|
|
|