Next: conditions assertion chars, Previous: conditions assertion asciiz, Up: conditions assertion [Contents][Index]
The expected ASCII assertion exceptional–condition object–type is used by CCTests to signal failure in an asserting that an ASCII string was expected as result of an expression. We can only derive new types from it, not instantiate it. To catch this exceptional condition we can do:
cce_location_t L[1]; if (cce_location(L)) { if (cctests_condition_is_assertion_expected_ascii(cce_condition(L))) { CCTESTS_PC(cctests_condition_assertion_expected_ascii_t, C, cce_condition(L)); do_something_with(C); } cce_run_catch_handlers_final(L); } else { do_something(L); cce_run_body_handlers(L); }
Type of data structure representing the exceptional–condition descriptor. It has the following public fields:
cce_descriptor_t descriptor
The condition descriptor’s base values.
The parent of this type descriptor is the one referenced by
cctests_descriptor_assertion_expected_value_ptr
, Expected
value assertions.
Type of data structure representing the exceptional–condition object. It has the following public fields:
cctests_condition_assertion_expected_value_t assertion_expected_value
The base value.
char * expected
A copy of the expected value, an ASCIIZ string. This object is responsible for the memory allocation.
char * result
A copy of the resulting value, an ASCII string. This object is responsible for the memory allocation.
size_t result_len
The number of characters in the string referenced by result.
Set the parent of the descriptor referenced by D to the descriptor of the
exceptional–condition object–type cctests_condition_assertion_expected_ascii_t
.
Initialisation function for the condition object. This function is meant to be called from the
initialisation function of sub–types of cctests_condition_assertion_expected_ascii_t
.
If an error occurs building the instance: raise an exception by performing a non–local exit to
L.
The strings referenced by expr, filename, funcname are not duplicated. The
strings referenced by expected and result are duplicated. The argument message is
either NULL
or a pointer to an ASCIIZ message string allocated using the standard allocator;
the ownership of this string is transferred to the exceptional–condition object.
Build and return a new exceptional condition object. If an error occurs building the instance: raise an exception by performing a non–local exit to L.
The strings referenced by expr, filename, funcname are not duplicated. The
strings referenced by expected and result are duplicated. The argument message is
either NULL
or a pointer to an ASCIIZ message string allocated using the standard allocator;
the ownership of this string is transferred to the exceptional–condition object.
Return true
if C if of type cctests_condition_assertion_expected_ascii_t
; otherwise
return false
.
Next: conditions assertion chars, Previous: conditions assertion asciiz, Up: conditions assertion [Contents][Index]
This document describes version 0.4.1-devel.1 of CCTests.