Next: , Previous: , Up: conditions   [Contents][Index]


8.5 Signalling expected test failure

The expected failure exceptional–condition object–type is used by CCTests to signal an expected failure in a test function. 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_expected_failure(cce_condition(L))) {
    CCTESTS_PC(cctests_condition_expected_failure_t, C, cce_condition(L));
    do_something_with(C);
  }
  cce_run_catch_handlers_final(L);
} else {
  do_something(L);
  cce_run_body_handlers(L);
}
Struct Typedef: cctests_descriptor_expected_failure_t

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_failure_ptr, Signalling test failure.

Struct Typedef: cctests_condition_expected_failure_t

Type of data structure representing the exceptional–condition object.

Function: void cce_descriptor_set_parent_to(cctests_condition_expected_failure_t) (cce_descriptor_t * const D)

Set the parent of the descriptor referenced by D to the descriptor of the exceptional–condition object–type cctests_condition_expected_failure_t.

Function: void cctests_condition_init_expected_failure (cctests_condition_expected_failure_t * C)

Initialisation function for the condition object. This function is meant to be called from the initialisation function of sub–types of cctests_condition_expected_failure_t.

Function: bool cctests_condition_is_expected_failure (cce_condition_t const * C)

Return true if C if of type cctests_condition_expected_failure_t; otherwise return false.

Sub–typing example

To define a sub–type of cctests_condition_expected_failure_t we can copy the code in the files:

condition-expected-failure-subtype.c
condition-expected-failure-subtype-headear.h
condition-expected-failure-subtype-body.c

under the tests directory of the source distribution; the code defines a new condition–object type my_condition_expected_failure_subtype_t.


Next: , Previous: , Up: conditions   [Contents][Index]

This document describes version 0.4.1-devel.1 of CCTests.