tests/lib: use `sink.utils.dummy` in `utils/run-in.cpp`
[babeltrace.git] / tests / lib / utils / run-in.cpp
index bb7e4d919546f42778cc647c1a5431f2cdb6f01b..a3391a93ea2e6ec5e2ff5396d961814ef7abe1f1 100644 (file)
 #include "cpp-common/bt2/component-class-dev.hpp"
 #include "cpp-common/bt2/component-class.hpp"
 #include "cpp-common/bt2/graph.hpp"
+#include "cpp-common/bt2/plugin-load.hpp"
+#include "cpp-common/bt2/plugin.hpp"
+#include "cpp-common/bt2/query-executor.hpp"
+#include "cpp-common/bt2c/call.hpp"
 
 #include "run-in.hpp"
 
@@ -79,31 +83,6 @@ private:
     const RunInData *_mRunInData;
 };
 
-class DummySink : public bt2::UserSinkComponent<DummySink>
-{
-public:
-    static constexpr auto name = "dummy";
-
-    explicit DummySink(const bt2::SelfSinkComponent self, bt2::ConstMapValue, void *) :
-        bt2::UserSinkComponent<DummySink>(self, "DUMMY-SINK")
-    {
-        this->_addInputPort("in");
-    }
-
-    void _graphIsConfigured()
-    {
-        _mMsgIter = this->_createMessageIterator(this->_inputPorts()["in"]);
-    }
-
-    bool _consume()
-    {
-        return _mMsgIter->next().has_value();
-    }
-
-private:
-    bt2::MessageIterator::Shared _mMsgIter;
-};
-
 } /* namespace */
 
 void runIn(RunInCompClsQueryFunc compClsCtxFunc, RunInCompClsInitFunc compCtxFunc,
@@ -113,20 +92,7 @@ void runIn(RunInCompClsQueryFunc compClsCtxFunc, RunInCompClsInitFunc compCtxFun
     const auto srcCompCls = bt2::SourceComponentClass::create<RunInSource>();
 
     /* Execute a query (executes `compClsCtxFunc`) */
-    {
-        const auto queryExec = bt_query_executor_create_with_method_data(
-            bt_component_class_source_as_component_class(srcCompCls->libObjPtr()), "", nullptr,
-            &data);
-
-        BT_ASSERT(queryExec);
-
-        const bt_value *queryRes;
-        const auto status = bt_query_executor_query(queryExec, &queryRes);
-
-        BT_ASSERT(status == BT_QUERY_EXECUTOR_QUERY_STATUS_OK);
-        bt_value_put_ref(queryRes);
-        bt_query_executor_put_ref(queryExec);
-    }
+    bt2::QueryExecutor::create(*srcCompCls, "object-name", data)->query();
 
     /* Create graph */
     const auto graph = bt2::Graph::create(0);
@@ -135,8 +101,17 @@ void runIn(RunInCompClsQueryFunc compClsCtxFunc, RunInCompClsInitFunc compCtxFun
     const auto srcComp = graph->addComponent(*srcCompCls, "the-source", data);
 
     /* Add dummy sink component */
-    const auto sinkComp =
-        graph->addComponent(*bt2::SinkComponentClass::create<DummySink>(), "the-sink");
+    const auto sinkComp = bt2c::call([&] {
+        const auto utilsPlugin = bt2::findPlugin("utils");
+
+        BT_ASSERT(utilsPlugin);
+
+        const auto dummySinkCompCls = utilsPlugin->sinkComponentClasses()["dummy"];
+
+        BT_ASSERT(dummySinkCompCls);
+
+        return graph->addComponent(*dummySinkCompCls, "the-sink");
+    });
 
     /* Connect ports */
     const auto outPort = srcComp.outputPorts()["out"];
This page took 0.023008 seconds and 4 git commands to generate.