tests: add a basic pre-condition assertion test
[babeltrace.git] / tests / lib / conds / conds-triggers.c
1 /*
2 * SPDX-License-Identifier: GPL-2.0-only
3 *
4 * Copyright (C) 2020 Philippe Proulx <pproulx@efficios.com>
5 */
6
7 #include <babeltrace2/babeltrace.h>
8
9 #include "common/assert.h"
10 #include "utils.h"
11
12 static
13 void trigger_graph_mip_version(void)
14 {
15 bt_graph_create(292);
16 }
17
18 static
19 bt_field_class *get_uint_fc(bt_self_component *self_comp)
20 {
21 bt_trace_class *tc = bt_trace_class_create(self_comp);
22 bt_field_class *fc;
23
24 BT_ASSERT(tc);
25 fc = bt_field_class_integer_unsigned_create(tc);
26 BT_ASSERT(fc);
27 return fc;
28 }
29
30 static
31 void trigger_fc_int_set_field_value_range_n_0(bt_self_component *self_comp)
32 {
33 bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp), 0);
34 }
35
36 static
37 void trigger_fc_int_set_field_value_range_n_gt_64(bt_self_component *self_comp)
38 {
39 bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp),
40 65);
41 }
42
43 static
44 void trigger_fc_int_set_field_value_range_null(bt_self_component *self_comp)
45 {
46 bt_field_class_integer_set_field_value_range(NULL, 23);
47 }
48
49 static
50 const struct cond_trigger triggers[] = {
51 COND_TRIGGER_PRE_BASIC("pre:graph-create:valid-mip-version", NULL,
52 trigger_graph_mip_version),
53 COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
54 "pre:field-class-integer-set-field-value-range:valid-n",
55 "0",
56 trigger_fc_int_set_field_value_range_n_0
57 ),
58 COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
59 "pre:field-class-integer-set-field-value-range:valid-n",
60 "gt-64",
61 trigger_fc_int_set_field_value_range_n_gt_64
62 ),
63 COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
64 "pre:field-class-integer-set-field-value-range:not-null:field-class",
65 NULL,
66 trigger_fc_int_set_field_value_range_null
67 ),
68 };
69
70 int main(int argc, const char *argv[])
71 {
72 cond_main(argc, argv, triggers, sizeof(triggers) / sizeof(*triggers));
73 return 0;
74 }
This page took 0.030665 seconds and 4 git commands to generate.