tests/lib: create and manipulate graph using C++ bindings in `utils/run-in.cpp`
authorSimon Marchi <simon.marchi@efficios.com>
Wed, 14 Feb 2024 17:15:16 +0000 (12:15 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 19 Feb 2024 18:10:15 +0000 (13:10 -0500)
Change-Id: I63852856cce4d68cb81ae56b8dab67029392dbac
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/11807
Tested-by: jenkins <jenkins@lttng.org>
tests/lib/utils/run-in.cpp

index 89e85256067855d19a2293ecfeb7e7d33034488b..bb7e4d919546f42778cc647c1a5431f2cdb6f01b 100644 (file)
@@ -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<DummySink>();
-        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<DummySink>(), "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)
This page took 0.025535 seconds and 4 git commands to generate.