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 | ||
053db960 | 9 | #include "utils.hpp" |
5d7e8359 | 10 | |
7809b6dd SM |
11 | namespace { |
12 | ||
13 | void triggerGraphMipVersion() noexcept | |
cc09350f | 14 | { |
486428e8 | 15 | bt_graph_create(292); |
cc09350f SM |
16 | } |
17 | ||
7809b6dd | 18 | bt2::IntegerFieldClass::Shared getUIntFc(const bt2::SelfComponent self) noexcept |
5d7e8359 | 19 | { |
7809b6dd | 20 | return self.createTraceClass()->createUnsignedIntegerFieldClass(); |
5d7e8359 PP |
21 | } |
22 | ||
7809b6dd | 23 | void triggerFcIntSetFieldValueRangeN0(const bt2::SelfComponent self) noexcept |
5d7e8359 | 24 | { |
7809b6dd | 25 | getUIntFc(self)->fieldValueRange(0); |
5d7e8359 PP |
26 | } |
27 | ||
7809b6dd | 28 | void triggerFcIntSetFieldValueRangeNGt64(const bt2::SelfComponent self) noexcept |
5d7e8359 | 29 | { |
7809b6dd | 30 | getUIntFc(self)->fieldValueRange(65); |
5d7e8359 PP |
31 | } |
32 | ||
7809b6dd | 33 | void triggerFcIntSetFieldValueRangeNull(bt2::SelfComponent) noexcept |
5d7e8359 | 34 | { |
486428e8 | 35 | bt_field_class_integer_set_field_value_range(NULL, 23); |
5d7e8359 PP |
36 | } |
37 | ||
7809b6dd SM |
38 | const cond_trigger triggers[] = { |
39 | COND_TRIGGER_PRE_BASIC("pre:graph-create:valid-mip-version", NULL, triggerGraphMipVersion), | |
486428e8 | 40 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT("pre:field-class-integer-set-field-value-range:valid-n", |
7809b6dd | 41 | "0", triggerFcIntSetFieldValueRangeN0), |
486428e8 | 42 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT("pre:field-class-integer-set-field-value-range:valid-n", |
7809b6dd | 43 | "gt-64", triggerFcIntSetFieldValueRangeNGt64), |
486428e8 SM |
44 | COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT( |
45 | "pre:field-class-integer-set-field-value-range:not-null:field-class", NULL, | |
7809b6dd | 46 | triggerFcIntSetFieldValueRangeNull), |
5d7e8359 PP |
47 | }; |
48 | ||
7809b6dd SM |
49 | } /* namespace */ |
50 | ||
5d7e8359 PP |
51 | int main(int argc, const char *argv[]) |
52 | { | |
6e3150f4 | 53 | condMain(argc, argv, triggers); |
486428e8 | 54 | return 0; |
5d7e8359 | 55 | } |