Next: conditions assertion ascii, Previous: conditions assertion expected, Up: conditions assertion [Contents][Index]
The expected ASCIIZ assertion exceptional–condition object–type is used by CCTests to signal failure in an asserting that an ASCIIZ 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_asciiz(cce_condition(L))) { CCTESTS_PC(cctests_condition_assertion_expected_asciiz_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 ASCIIZ string. This object is responsible for the memory allocation.
Set the parent of the descriptor referenced by D to the descriptor of the
exceptional–condition object–type cctests_condition_assertion_expected_asciiz_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_asciiz_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_asciiz_t
; otherwise
return false
.
Next: conditions assertion ascii, Previous: conditions assertion expected, Up: conditions assertion [Contents][Index]
This document describes version 0.4.1-devel.1 of CCTests.