Next: conditions signal one, Previous: conditions child, Up: conditions [Contents][Index]
We can use the signal exceptional–condition object–type to signal some special test condition. We can instantiate this type and also derive new types from it. To catch this exceptional condition we can do:
cce_location_t L[1]; if (cce_location(L)) { if (cctests_condition_is_signal(cce_condition(L))) { CCTESTS_PC(cctests_condition_signal_t, C, cce_condition(L)); do_something_with(C); } cce_run_catch_handlers_final(L); } else { do_something(L); cce_run_body_handlers(L); }
If we raise an exception of this type, or one of its sub–types, then we must also catch it before it reaches CCTests’s functions; otherwise the currently executed test will be considered failed in an abnormal way.
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_base_ptr
,
Base condition object.
Type of data structure representing the exceptional–condition object. It has the following public fields:
cctests_condition_base_t base
The condition object’s base values.
Set the parent of the descriptor referenced by D to the descriptor of the
exceptional–condition object–type cctests_condition_signal_t
.
Initialisation function for the condition object. This function is meant to be called from the
initialisation function of sub–types of cctests_condition_signal_t
.
Return a pointer to exceptional–condition object of type
cctests_condition_signal_t
made opaque in the type cce_condition_t
.
Return true
if C if of type cctests_condition_signal_t
; otherwise
return false
.
To define a sub–type of cctests_condition_signal_t
we can copy the code in the files:
condition-signal-subtype.c condition-signal-subtype-headear.h condition-signal-subtype-body.c
under the tests directory of the source distribution; the code defines a new
condition–object type my_condition_signal_subtype_t
.
Next: conditions signal one, Previous: conditions child, Up: conditions [Contents][Index]
This document describes version 0.4.1-devel.1 of CCTests.