From 50761a490c57a6d5730868eaff73f3ca97d7793b Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Wed, 14 Feb 2024 12:15:16 -0500 Subject: [PATCH] tests/lib: create and manipulate graph using C++ bindings in `utils/run-in.cpp` Change-Id: I63852856cce4d68cb81ae56b8dab67029392dbac Signed-off-by: Simon Marchi Signed-off-by: Philippe Proulx Reviewed-on: https://review.lttng.org/c/babeltrace/+/11807 Tested-by: jenkins --- tests/lib/utils/run-in.cpp | 52 ++++++++------------------------------ 1 file changed, 11 insertions(+), 41 deletions(-) diff --git a/tests/lib/utils/run-in.cpp b/tests/lib/utils/run-in.cpp index 89e85256..bb7e4d91 100644 --- a/tests/lib/utils/run-in.cpp +++ b/tests/lib/utils/run-in.cpp @@ -9,6 +9,7 @@ #include "common/assert.h" #include "cpp-common/bt2/component-class-dev.hpp" #include "cpp-common/bt2/component-class.hpp" +#include "cpp-common/bt2/graph.hpp" #include "run-in.hpp" @@ -128,57 +129,26 @@ void runIn(RunInCompClsQueryFunc compClsCtxFunc, RunInCompClsInitFunc compCtxFun } /* Create graph */ - const auto graph = bt_graph_create(0); - - BT_ASSERT(graph); + const auto graph = bt2::Graph::create(0); /* Add custom source component (executes `compCtxFunc`) */ - const bt_component_source *srcComp; - - { - const auto status = bt_graph_add_source_component_with_initialize_method_data( - graph, srcCompCls->libObjPtr(), "the-source", NULL, &data, BT_LOGGING_LEVEL_NONE, - &srcComp); - - BT_ASSERT(status == BT_GRAPH_ADD_COMPONENT_STATUS_OK); - } + const auto srcComp = graph->addComponent(*srcCompCls, "the-source", data); /* Add dummy sink component */ - const bt_component_sink *sinkComp; - - { - const auto sinkCompCls = bt2::SinkComponentClass::create(); - const auto status = bt_graph_add_sink_component_with_initialize_method_data( - graph, sinkCompCls->libObjPtr(), "the-sink", nullptr, nullptr, BT_LOGGING_LEVEL_NONE, - &sinkComp); - - BT_ASSERT(status == BT_GRAPH_ADD_COMPONENT_STATUS_OK); - } + const auto sinkComp = + graph->addComponent(*bt2::SinkComponentClass::create(), "the-sink"); /* Connect ports */ - { - const auto outPort = bt_component_source_borrow_output_port_by_name_const(srcComp, "out"); - - BT_ASSERT(outPort); - - const auto inPort = bt_component_sink_borrow_input_port_by_name_const(sinkComp, "in"); + const auto outPort = srcComp.outputPorts()["out"]; + BT_ASSERT(outPort); - BT_ASSERT(inPort); + const auto inPort = sinkComp.inputPorts()["in"]; + BT_ASSERT(inPort); - const auto status = bt_graph_connect_ports(graph, outPort, inPort, nullptr); - - BT_ASSERT(status == BT_GRAPH_CONNECT_PORTS_STATUS_OK); - } + graph->connectPorts(*outPort, *inPort); /* Run graph (executes `msgIterCtxFunc`) */ - { - const auto status = bt_graph_run(graph); - - BT_ASSERT(status == BT_GRAPH_RUN_STATUS_OK); - } - - /* Discard owned objects */ - bt_graph_put_ref(graph); + graph->run(); } void runInCompClsQuery(RunInCompClsQueryFunc func) -- 2.34.1