Rename bt_X_from_private_X() -> bt_X_from_private()
[deliverable/babeltrace.git] / tests / plugins / test-utils-muxer.c
index 0ffe3db172ed31952062fcd92406d1b9b5a46dfd..0430b7f7edaf8773b34c5f17490061518046ca10 100644 (file)
 #include <inttypes.h>
 #include <string.h>
 #include <assert.h>
-#include <babeltrace/ctf-ir/event-class.h>
-#include <babeltrace/ctf-ir/event.h>
-#include <babeltrace/ctf-ir/field-types.h>
-#include <babeltrace/ctf-ir/fields.h>
-#include <babeltrace/ctf-ir/packet.h>
-#include <babeltrace/ctf-ir/stream-class.h>
-#include <babeltrace/ctf-ir/stream.h>
-#include <babeltrace/ctf-ir/trace.h>
-#include <babeltrace/graph/clock-class-priority-map.h>
-#include <babeltrace/graph/component-class-filter.h>
-#include <babeltrace/graph/component-class-sink.h>
-#include <babeltrace/graph/component-class-source.h>
-#include <babeltrace/graph/component-class.h>
-#include <babeltrace/graph/component-filter.h>
-#include <babeltrace/graph/component-sink.h>
-#include <babeltrace/graph/component-source.h>
-#include <babeltrace/graph/component.h>
-#include <babeltrace/graph/graph.h>
-#include <babeltrace/graph/notification-event.h>
-#include <babeltrace/graph/notification-inactivity.h>
-#include <babeltrace/graph/notification-iterator.h>
-#include <babeltrace/graph/notification-packet.h>
-#include <babeltrace/graph/port.h>
-#include <babeltrace/graph/private-component-source.h>
-#include <babeltrace/graph/private-component-sink.h>
-#include <babeltrace/graph/private-component.h>
-#include <babeltrace/graph/private-connection.h>
-#include <babeltrace/graph/private-notification-iterator.h>
-#include <babeltrace/graph/private-port.h>
-#include <babeltrace/plugin/plugin.h>
-#include <babeltrace/ref.h>
+#include <babeltrace/babeltrace.h>
 #include <glib.h>
 
 #include "tap/tap.h"
@@ -335,7 +305,7 @@ void init_static_data(void)
        assert(ret == 0);
        ret = bt_ctf_trace_set_packet_header_type(trace, empty_struct_ft);
        assert(ret == 0);
-       src_clock_class = bt_ctf_clock_class_create("my-clock");
+       src_clock_class = bt_ctf_clock_class_create("my-clock", 1000000000);
        assert(src_clock_class);
        ret = bt_ctf_clock_class_set_is_absolute(src_clock_class, 1);
        assert(ret == 0);
@@ -416,10 +386,10 @@ void fini_static_data(void)
 
 static
 void src_iter_finalize(
-               struct bt_private_notification_iterator *private_notification_iterator)
+               struct bt_private_connection_private_notification_iterator *private_notification_iterator)
 {
        struct src_iter_user_data *user_data =
-               bt_private_notification_iterator_get_user_data(
+               bt_private_connection_private_notification_iterator_get_user_data(
                        private_notification_iterator);
 
        if (user_data) {
@@ -429,18 +399,18 @@ void src_iter_finalize(
 
 static
 enum bt_notification_iterator_status src_iter_init(
-               struct bt_private_notification_iterator *priv_notif_iter,
+               struct bt_private_connection_private_notification_iterator *priv_notif_iter,
                struct bt_private_port *private_port)
 {
        struct src_iter_user_data *user_data =
                g_new0(struct src_iter_user_data, 1);
-       struct bt_port *port = bt_port_from_private_port(private_port);
+       struct bt_port *port = bt_port_from_private(private_port);
        const char *port_name;
        int ret;
 
        assert(user_data);
        assert(port);
-       ret = bt_private_notification_iterator_set_user_data(priv_notif_iter,
+       ret = bt_private_connection_private_notification_iterator_set_user_data(priv_notif_iter,
                user_data);
        assert(ret == 0);
        port_name = bt_port_get_name(port);
@@ -528,6 +498,7 @@ struct bt_ctf_event *src_create_event(struct bt_ctf_packet *packet,
                        (uint64_t) ts_ns);
                assert(clock_value);
                ret = bt_ctf_event_set_clock_value(event, clock_value);
+               assert(ret == 0);
                bt_put(clock_value);
        }
 
@@ -535,10 +506,10 @@ struct bt_ctf_event *src_create_event(struct bt_ctf_packet *packet,
 }
 
 static
-struct bt_notification_iterator_next_return src_iter_next_seq(
+struct bt_notification_iterator_next_method_return src_iter_next_seq(
                struct src_iter_user_data *user_data)
 {
-       struct bt_notification_iterator_next_return next_return = {
+       struct bt_notification_iterator_next_method_return next_return = {
                .status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
        };
        int64_t cur_ts_ns;
@@ -587,14 +558,18 @@ struct bt_notification_iterator_next_return src_iter_next_seq(
 }
 
 static
-struct bt_notification_iterator_next_return src_iter_next(
-               struct bt_private_notification_iterator *priv_iterator)
+struct bt_notification_iterator_next_method_return src_iter_next(
+               struct bt_private_connection_private_notification_iterator *priv_iterator)
 {
-       struct bt_notification_iterator_next_return next_return;
+       struct bt_notification_iterator_next_method_return next_return = {
+               .notification = NULL,
+               .status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
+       };
        struct src_iter_user_data *user_data =
-               bt_private_notification_iterator_get_user_data(priv_iterator);
+               bt_private_connection_private_notification_iterator_get_user_data(priv_iterator);
        struct bt_private_component *private_component =
-               bt_private_notification_iterator_get_private_component(priv_iterator);
+               bt_private_connection_private_notification_iterator_get_private_component(priv_iterator);
+       int ret;
 
        assert(user_data);
        assert(private_component);
@@ -633,16 +608,12 @@ struct bt_notification_iterator_next_return src_iter_next(
                break;
        case TEST_SINGLE_END_THEN_MULTIPLE_FULL:
                if (user_data->iter_index == 0) {
-                       struct bt_private_port *priv_port;
-
-                       priv_port = bt_private_component_source_add_output_private_port(
-                               private_component, "out1", NULL);
-                       assert(priv_port);
-                       bt_put(priv_port);
-                       priv_port = bt_private_component_source_add_output_private_port(
-                               private_component, "out2", NULL);
-                       assert(priv_port);
-                       bt_put(priv_port);
+                       ret = bt_private_component_source_add_output_private_port(
+                               private_component, "out1", NULL, NULL);
+                       assert(ret == 0);
+                       ret = bt_private_component_source_add_output_private_port(
+                               private_component, "out2", NULL, NULL);
+                       assert(ret == 0);
                        next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
                } else {
                        next_return = src_iter_next_seq(user_data);
@@ -654,16 +625,12 @@ struct bt_notification_iterator_next_return src_iter_next(
                                next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
                                user_data->at++;
                        } else {
-                               struct bt_private_port *priv_port;
-
-                               priv_port = bt_private_component_source_add_output_private_port(
-                                       private_component, "out1", NULL);
-                               assert(priv_port);
-                               bt_put(priv_port);
-                               priv_port = bt_private_component_source_add_output_private_port(
-                                       private_component, "out2", NULL);
-                               assert(priv_port);
-                               bt_put(priv_port);
+                               ret = bt_private_component_source_add_output_private_port(
+                                       private_component, "out1", NULL, NULL);
+                               assert(ret == 0);
+                               ret = bt_private_component_source_add_output_private_port(
+                                       private_component, "out2", NULL, NULL);
+                               assert(ret == 0);
                                next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
                        }
                } else {
@@ -683,7 +650,7 @@ enum bt_component_status src_init(
                struct bt_private_component *private_component,
                struct bt_value *params, void *init_method_data)
 {
-       struct bt_private_port *priv_port;
+       int ret;
        size_t nb_ports;
 
        switch (current_test) {
@@ -700,31 +667,27 @@ enum bt_component_status src_init(
        }
 
        if (nb_ports >= 1) {
-               priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out0", NULL);
-               assert(priv_port);
-               bt_put(priv_port);
+               ret = bt_private_component_source_add_output_private_port(
+                       private_component, "out0", NULL, NULL);
+               assert(ret == 0);
        }
 
        if (nb_ports >= 2) {
-               priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out1", NULL);
-               assert(priv_port);
-               bt_put(priv_port);
+               ret = bt_private_component_source_add_output_private_port(
+                       private_component, "out1", NULL, NULL);
+               assert(ret == 0);
        }
 
        if (nb_ports >= 3) {
-               priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out2", NULL);
-               assert(priv_port);
-               bt_put(priv_port);
+               ret = bt_private_component_source_add_output_private_port(
+                       private_component, "out2", NULL, NULL);
+               assert(ret == 0);
        }
 
        if (nb_ports >= 4) {
-               priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out3", NULL);
-               assert(priv_port);
-               bt_put(priv_port);
+               ret = bt_private_component_source_add_output_private_port(
+                       private_component, "out3", NULL, NULL);
+               assert(ret == 0);
        }
 
        return BT_COMPONENT_STATUS_OK;
@@ -878,13 +841,13 @@ void sink_port_connected(struct bt_private_component *private_component,
                bt_private_port_get_private_connection(self_private_port);
        struct sink_user_data *user_data = bt_private_component_get_user_data(
                private_component);
+       enum bt_connection_status conn_status;
 
        assert(user_data);
        assert(priv_conn);
-       user_data->notif_iter =
-               bt_private_connection_create_notification_iterator(priv_conn,
-                       NULL);
-       assert(user_data->notif_iter);
+       conn_status = bt_private_connection_create_notification_iterator(
+               priv_conn, NULL, &user_data->notif_iter);
+       assert(conn_status == 0);
        bt_put(priv_conn);
 }
 
@@ -895,16 +858,14 @@ enum bt_component_status sink_init(
 {
        struct sink_user_data *user_data = g_new0(struct sink_user_data, 1);
        int ret;
-       void *priv_port;
 
        assert(user_data);
        ret = bt_private_component_set_user_data(private_component,
                user_data);
        assert(ret == 0);
-       priv_port = bt_private_component_sink_add_input_private_port(
-               private_component, "in", NULL);
-       assert(priv_port);
-       bt_put(priv_port);
+       ret = bt_private_component_sink_add_input_private_port(
+               private_component, "in", NULL, NULL);
+       assert(ret == 0);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -921,7 +882,8 @@ void sink_finalize(struct bt_private_component *private_component)
 }
 
 static
-void create_source_muxer_sink(struct bt_component **source,
+void create_source_muxer_sink(struct bt_graph *graph,
+               struct bt_component **source,
                struct bt_component **muxer,
                struct bt_component **sink)
 {
@@ -944,15 +906,15 @@ void create_source_muxer_sink(struct bt_component **source,
        ret = bt_component_class_source_set_notification_iterator_finalize_method(
                src_comp_class, src_iter_finalize);
        assert(ret == 0);
-       *source = bt_component_create(src_comp_class, "source", NULL);
-       assert(*source);
+       ret = bt_graph_add_component(graph, src_comp_class, "source", NULL, source);
+       assert(ret == 0);
 
        /* Create muxer component */
        muxer_comp_class = bt_plugin_find_component_class("utils", "muxer",
                BT_COMPONENT_CLASS_TYPE_FILTER);
        assert(muxer_comp_class);
-       *muxer = bt_component_create(muxer_comp_class, "muxer", NULL);
-       assert(*muxer);
+       ret = bt_graph_add_component(graph, muxer_comp_class, "muxer", NULL, muxer);
+       assert(ret == 0);
 
        /* Create sink component */
        sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
@@ -964,7 +926,8 @@ void create_source_muxer_sink(struct bt_component **source,
        ret = bt_component_class_set_port_connected_method(sink_comp_class,
                sink_port_connected);
        assert(ret == 0);
-       *sink = bt_component_create(sink_comp_class, "sink", NULL);
+       ret = bt_graph_add_component(graph, sink_comp_class, "sink", NULL, sink);
+       assert(ret == 0);
 
        bt_put(src_comp_class);
        bt_put(muxer_comp_class);
@@ -984,15 +947,14 @@ void do_std_test(enum test test, const char *name,
        struct bt_graph *graph;
        int64_t i;
        int64_t count;
-       void *conn;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
 
        clear_test_events();
        current_test = test;
        diag("test: %s", name);
-       create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
        graph = bt_graph_create();
        assert(graph);
+       create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
 
        /* Connect source output ports to muxer input ports */
        if (with_upstream) {
@@ -1006,10 +968,9 @@ void do_std_test(enum test test, const char *name,
                        downstream_port = bt_component_filter_get_input_port_by_index(
                                muxer_comp, i);
                        assert(downstream_port);
-                       conn = bt_graph_connect_ports(graph,
-                               upstream_port, downstream_port);
-                       assert(conn);
-                       bt_put(conn);
+                       graph_status = bt_graph_connect_ports(graph,
+                               upstream_port, downstream_port, NULL);
+                       assert(graph_status == 0);
                        bt_put(upstream_port);
                        bt_put(downstream_port);
                }
@@ -1021,9 +982,9 @@ void do_std_test(enum test test, const char *name,
        assert(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
-       conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
-       assert(conn);
-       bt_put(conn);
+       graph_status = bt_graph_connect_ports(graph, upstream_port,
+               downstream_port, NULL);
+       assert(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
@@ -1341,9 +1302,9 @@ void connect_port_to_first_avail_muxer_port(struct bt_graph *graph,
                struct bt_component *muxer_comp)
 {
        struct bt_port *avail_muxer_port = NULL;
-       void *conn;
        int64_t i;
        int64_t count;
+       enum bt_graph_status graph_status;
 
        count = bt_component_filter_get_input_port_count(muxer_comp);
        assert(count >= 0);
@@ -1363,9 +1324,9 @@ void connect_port_to_first_avail_muxer_port(struct bt_graph *graph,
                }
        }
 
-       conn = bt_graph_connect_ports(graph, source_port, avail_muxer_port);
-       assert(conn);
-       bt_put(conn);
+       graph_status = bt_graph_connect_ports(graph, source_port,
+               avail_muxer_port, NULL);
+       assert(graph_status == 0);
        bt_put(avail_muxer_port);
 }
 
@@ -1401,7 +1362,6 @@ void test_single_end_then_multiple_full(void)
        struct bt_graph *graph;
        int64_t i;
        int64_t count;
-       void *conn;
        int ret;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
        struct graph_listener_data graph_listener_data;
@@ -1466,17 +1426,17 @@ void test_single_end_then_multiple_full(void)
        clear_test_events();
        current_test = TEST_SINGLE_END_THEN_MULTIPLE_FULL;
        diag("test: single end then multiple full");
-       create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
        graph = bt_graph_create();
        assert(graph);
+       create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
        graph_listener_data.graph = graph;
        graph_listener_data.source = src_comp;
        graph_listener_data.muxer = muxer_comp;
        graph_listener_data.sink = sink_comp;
        ret = bt_graph_add_port_added_listener(graph,
-               graph_port_added_listener_connect_to_avail_muxer_port,
+               graph_port_added_listener_connect_to_avail_muxer_port, NULL,
                &graph_listener_data);
-       assert(ret == 0);
+       assert(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
        count = bt_component_source_get_output_port_count(src_comp);
@@ -1497,9 +1457,9 @@ void test_single_end_then_multiple_full(void)
        assert(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
-       conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
-       assert(conn);
-       bt_put(conn);
+       graph_status = bt_graph_connect_ports(graph, upstream_port,
+               downstream_port, NULL);
+       assert(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
@@ -1529,7 +1489,6 @@ void test_single_again_end_then_multiple_full(void)
        struct bt_graph *graph;
        int64_t i;
        int64_t count;
-       void *conn;
        int ret;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
        struct graph_listener_data graph_listener_data;
@@ -1595,17 +1554,17 @@ void test_single_again_end_then_multiple_full(void)
        clear_test_events();
        current_test = TEST_SINGLE_AGAIN_END_THEN_MULTIPLE_FULL;
        diag("test: single again then end then multiple full");
-       create_source_muxer_sink(&src_comp, &muxer_comp, &sink_comp);
        graph = bt_graph_create();
        assert(graph);
+       create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
        graph_listener_data.graph = graph;
        graph_listener_data.source = src_comp;
        graph_listener_data.muxer = muxer_comp;
        graph_listener_data.sink = sink_comp;
        ret = bt_graph_add_port_added_listener(graph,
-               graph_port_added_listener_connect_to_avail_muxer_port,
+               graph_port_added_listener_connect_to_avail_muxer_port, NULL,
                &graph_listener_data);
-       assert(ret == 0);
+       assert(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
        count = bt_component_source_get_output_port_count(src_comp);
@@ -1626,9 +1585,9 @@ void test_single_again_end_then_multiple_full(void)
        assert(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
        assert(downstream_port);
-       conn = bt_graph_connect_ports(graph, upstream_port, downstream_port);
-       assert(conn);
-       bt_put(conn);
+       graph_status = bt_graph_connect_ports(graph, upstream_port,
+               downstream_port, NULL);
+       assert(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
This page took 0.030089 seconds and 5 git commands to generate.