Commit | Line | Data |
---|---|---|
5d7e8359 PP |
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" | |
053db960 | 10 | #include "utils.hpp" |
5d7e8359 | 11 | |
486428e8 | 12 | static void trigger_graph_mip_version(void) |
cc09350f | 13 | { |
486428e8 | 14 | bt_graph_create(292); |
cc09350f SM |
15 | } |
16 | ||
486428e8 | 17 | static bt_field_class *get_uint_fc(bt_self_component *self_comp) |
5d7e8359 | 18 | { |
486428e8 SM |
19 | bt_trace_class *tc = bt_trace_class_create(self_comp); |
20 | bt_field_class *fc; | |
5d7e8359 | 21 | |
486428e8 SM |
22 | BT_ASSERT(tc); |
23 | fc = bt_field_class_integer_unsigned_create(tc); | |
24 | BT_ASSERT(fc); | |
25 | return fc; | |
5d7e8359 PP |
26 | } |
27 | ||
486428e8 | 28 | static void trigger_fc_int_set_field_value_range_n_0(bt_self_component *self_comp) |
5d7e8359 | 29 | { |
486428e8 | 30 | bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp), 0); |
5d7e8359 PP |
31 | } |
32 | ||
486428e8 | 33 | static void trigger_fc_int_set_field_value_range_n_gt_64(bt_self_component *self_comp) |
5d7e8359 | 34 | { |
486428e8 | 35 | bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp), 65); |
5d7e8359 PP |
36 | } |
37 | ||
486428e8 | 38 | static void trigger_fc_int_set_field_value_range_null(bt_self_component *self_comp) |
5d7e8359 | 39 | { |
486428e8 | 40 | bt_field_class_integer_set_field_value_range(NULL, 23); |
5d7e8359 PP |
41 | } |
42 | ||
486428e8 SM |
43 | static const struct cond_trigger triggers[] = { |
44 | COND_TRIGGER_PRE_BASIC("pre:graph-create:valid-mip-version", NULL, trigger_graph_mip_version), | |
45 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT("pre:field-class-integer-set-field-value-range:valid-n", | |
46 | "0", trigger_fc_int_set_field_value_range_n_0), | |
47 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT("pre:field-class-integer-set-field-value-range:valid-n", | |
48 | "gt-64", trigger_fc_int_set_field_value_range_n_gt_64), | |
49 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT( | |
50 | "pre:field-class-integer-set-field-value-range:not-null:field-class", NULL, | |
51 | trigger_fc_int_set_field_value_range_null), | |
5d7e8359 PP |
52 | }; |
53 | ||
54 | int main(int argc, const char *argv[]) | |
55 | { | |
486428e8 SM |
56 | cond_main(argc, argv, triggers, sizeof(triggers) / sizeof(*triggers)); |
57 | return 0; | |
5d7e8359 | 58 | } |