tests: convert lib conds test to C++
[babeltrace.git] / tests / lib / conds / conds-triggers.cpp
diff --git a/tests/lib/conds/conds-triggers.cpp b/tests/lib/conds/conds-triggers.cpp
new file mode 100644 (file)
index 0000000..4c10f38
--- /dev/null
@@ -0,0 +1,74 @@
+/*
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (C) 2020 Philippe Proulx <pproulx@efficios.com>
+ */
+
+#include <babeltrace2/babeltrace.h>
+
+#include "common/assert.h"
+#include "utils.hpp"
+
+static
+void trigger_graph_mip_version(void)
+{
+       bt_graph_create(292);
+}
+
+static
+bt_field_class *get_uint_fc(bt_self_component *self_comp)
+{
+       bt_trace_class *tc = bt_trace_class_create(self_comp);
+       bt_field_class *fc;
+
+       BT_ASSERT(tc);
+       fc = bt_field_class_integer_unsigned_create(tc);
+       BT_ASSERT(fc);
+       return fc;
+}
+
+static
+void trigger_fc_int_set_field_value_range_n_0(bt_self_component *self_comp)
+{
+       bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp), 0);
+}
+
+static
+void trigger_fc_int_set_field_value_range_n_gt_64(bt_self_component *self_comp)
+{
+       bt_field_class_integer_set_field_value_range(get_uint_fc(self_comp),
+               65);
+}
+
+static
+void trigger_fc_int_set_field_value_range_null(bt_self_component *self_comp)
+{
+       bt_field_class_integer_set_field_value_range(NULL, 23);
+}
+
+static
+const struct cond_trigger triggers[] = {
+       COND_TRIGGER_PRE_BASIC("pre:graph-create:valid-mip-version", NULL,
+               trigger_graph_mip_version),
+       COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
+               "pre:field-class-integer-set-field-value-range:valid-n",
+               "0",
+               trigger_fc_int_set_field_value_range_n_0
+       ),
+       COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
+               "pre:field-class-integer-set-field-value-range:valid-n",
+               "gt-64",
+               trigger_fc_int_set_field_value_range_n_gt_64
+       ),
+       COND_TRIGGER_PRE_RUN_IN_COMP_CLS_INIT(
+               "pre:field-class-integer-set-field-value-range:not-null:field-class",
+               NULL,
+               trigger_fc_int_set_field_value_range_null
+       ),
+};
+
+int main(int argc, const char *argv[])
+{
+       cond_main(argc, argv, triggers, sizeof(triggers) / sizeof(*triggers));
+       return 0;
+}
This page took 0.02524 seconds and 4 git commands to generate.