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


8.3 Signalling test skipped

The skipped exceptional–condition object–type can be used to signal a skipped test execution; a skipped test is not a failed test. 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_skipped(cce_condition(L))) {
    CCTESTS_PC(cctests_condition_skipped_t, C, cce_condition(L));
    do_something_with(C);
    cce_run_body_handlers_final(L);
  } else {
    cce_run_catch_handlers_final(L);
  }
} else {
  do_something(L);
  cce_run_body_handlers(L);
}
Struct Typedef: cctests_descriptor_skipped_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_base_ptr, Base condition object.

Struct Typedef: cctests_condition_skipped_t

Type of data structure representing the condition object. It has the following public fields:

cctests_condition_base_t base

The condition object’s base values.

Function: void cce_descriptor_set_parent_to(cctests_condition_skipped_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_skipped_t.

Function: void cctests_condition_init_skipped (cctests_condition_skipped_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_skipped_t.

Function: cce_condition_t const * cctests_condition_new_skipped (void)

Return a pointer to exceptional–condition object of type cctests_condition_skipped_t made opaque in the type cce_condition_t.

Function: bool cctests_condition_is_skipped (cce_condition_t const * C)

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

Sub–typing example

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

condition-skipped-subtype.c
condition-skipped-subtype-headear.h
condition-skipped-subtype-body.c

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


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

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