Make bt_graph_add_*_listener() function return a listener ID
[babeltrace.git] / tests / plugins / test-utils-muxer.c
index 9c369b3986a209dc26c2668ed99dd46207975a4f..5871e6614dc232d8ca237b98b2de25d534deaf79 100644 (file)
@@ -18,6 +18,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
+#include <stdbool.h>
 #include <inttypes.h>
 #include <string.h>
 #include <assert.h>
@@ -45,6 +46,7 @@
 #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>
@@ -151,21 +153,20 @@ static int64_t seq4[] = {
 };
 
 static int64_t seq1_with_again[] = {
-       24, 53, 97, 105, 119, 210, SEQ_AGAIN, SEQ_AGAIN, 222, 240, 292,
-       317, 353, 407, 433, 473, 487, 504, 572, 615, 708, 766, 850, 852,
-       931, 951, 956, 996, SEQ_END,
+       24, 53, 97, 105, 119, 210, SEQ_AGAIN, 222, 240, 292, 317, 353,
+       407, 433, 473, 487, 504, 572, 615, 708, 766, 850, 852, 931, 951,
+       956, 996, SEQ_END,
 };
 
 static int64_t seq2_with_again[] = {
        51, 59, 68, 77, 91, 121, 139, 170, 179, 266, 352, 454, 478, 631,
-       644, 668, 714, 744, 750, 778, 790, 836, SEQ_AGAIN, SEQ_AGAIN,
-       SEQ_END,
+       644, 668, 714, 744, 750, 778, 790, 836, SEQ_AGAIN, SEQ_END,
 };
 
 static int64_t seq3_with_again[] = {
        8, 71, 209, 254, 298, 320, 350, 393, 419, 624, 651, SEQ_AGAIN,
-       SEQ_AGAIN, 678, 717, 731, 733, 788, 819, 820, 857, 892, 903,
-       944, 998, SEQ_END,
+       678, 717, 731, 733, 788, 819, 820, 857, 892, 903, 944, 998,
+       SEQ_END,
 };
 
 static int64_t seq4_with_again[] = {
@@ -302,6 +303,10 @@ bool compare_test_events(const struct test_event *expected_events)
        }
 
        if (i != test_events->len) {
+               if (debug) {
+                       fprintf(stderr, ":: Length mismatch\n");
+               }
+
                return false;
        }
 
@@ -457,7 +462,7 @@ enum bt_notification_iterator_status src_iter_init(
                user_data->packet = src_packet3;
                break;
        default:
-               assert(false);
+               abort();
        }
 
        switch (current_test) {
@@ -499,7 +504,7 @@ enum bt_notification_iterator_status src_iter_init(
                }
                break;
        default:
-               assert(false);
+               abort();
        }
 
        return BT_NOTIFICATION_ITERATOR_STATUS_OK;
@@ -523,6 +528,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);
        }
 
@@ -585,10 +591,7 @@ static
 struct bt_notification_iterator_next_return src_iter_next(
                struct bt_private_notification_iterator *priv_iterator)
 {
-       struct bt_notification_iterator_next_return next_return = {
-               .status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
-               .notification = NULL,
-       };
+       struct bt_notification_iterator_next_return next_return;
        struct src_iter_user_data *user_data =
                bt_private_notification_iterator_get_user_data(priv_iterator);
        struct bt_private_component *private_component =
@@ -634,11 +637,11 @@ struct bt_notification_iterator_next_return src_iter_next(
                        struct bt_private_port *priv_port;
 
                        priv_port = bt_private_component_source_add_output_private_port(
-                               private_component, "out1");
+                               private_component, "out1", NULL);
                        assert(priv_port);
                        bt_put(priv_port);
                        priv_port = bt_private_component_source_add_output_private_port(
-                               private_component, "out2");
+                               private_component, "out2", NULL);
                        assert(priv_port);
                        bt_put(priv_port);
                        next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
@@ -655,11 +658,11 @@ struct bt_notification_iterator_next_return src_iter_next(
                                struct bt_private_port *priv_port;
 
                                priv_port = bt_private_component_source_add_output_private_port(
-                                       private_component, "out1");
+                                       private_component, "out1", NULL);
                                assert(priv_port);
                                bt_put(priv_port);
                                priv_port = bt_private_component_source_add_output_private_port(
-                                       private_component, "out2");
+                                       private_component, "out2", NULL);
                                assert(priv_port);
                                bt_put(priv_port);
                                next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_END;
@@ -669,7 +672,7 @@ struct bt_notification_iterator_next_return src_iter_next(
                }
                break;
        default:
-               assert(false);
+               abort();
        }
 
        bt_put(private_component);
@@ -682,17 +685,8 @@ enum bt_component_status src_init(
                struct bt_value *params, void *init_method_data)
 {
        struct bt_private_port *priv_port;
-       int ret;
        size_t nb_ports;
 
-       priv_port = bt_private_component_source_get_default_output_private_port(
-               private_component);
-       if (priv_port) {
-               ret = bt_private_port_remove_from_component(priv_port);
-               assert(ret == 0);
-               bt_put(priv_port);
-       }
-
        switch (current_test) {
        case TEST_NO_TS:
                nb_ports = 2;
@@ -708,28 +702,28 @@ enum bt_component_status src_init(
 
        if (nb_ports >= 1) {
                priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out0");
+                       private_component, "out0", NULL);
                assert(priv_port);
                bt_put(priv_port);
        }
 
        if (nb_ports >= 2) {
                priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out1");
+                       private_component, "out1", NULL);
                assert(priv_port);
                bt_put(priv_port);
        }
 
        if (nb_ports >= 3) {
                priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out2");
+                       private_component, "out2", NULL);
                assert(priv_port);
                bt_put(priv_port);
        }
 
        if (nb_ports >= 4) {
                priv_port = bt_private_component_source_add_output_private_port(
-                       private_component, "out3");
+                       private_component, "out3", NULL);
                assert(priv_port);
                bt_put(priv_port);
        }
@@ -889,7 +883,8 @@ void sink_port_connected(struct bt_private_component *private_component,
        assert(user_data);
        assert(priv_conn);
        user_data->notif_iter =
-               bt_private_connection_create_notification_iterator(priv_conn);
+               bt_private_connection_create_notification_iterator(priv_conn,
+                       NULL);
        assert(user_data->notif_iter);
        bt_put(priv_conn);
 }
@@ -901,11 +896,16 @@ 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);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -983,10 +983,9 @@ void do_std_test(enum test test, const char *name,
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
        struct bt_graph *graph;
-       size_t i;
-       uint64_t count;
+       int64_t i;
+       int64_t count;
        void *conn;
-       int ret;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
 
        clear_test_events();
@@ -998,14 +997,14 @@ void do_std_test(enum test test, const char *name,
 
        /* Connect source output ports to muxer input ports */
        if (with_upstream) {
-               ret = bt_component_source_get_output_port_count(src_comp, &count);
-               assert(ret == 0);
+               count = bt_component_source_get_output_port_count(src_comp);
+               assert(count >= 0);
 
                for (i = 0; i < count; i++) {
-                       upstream_port = bt_component_source_get_output_port_at_index(
+                       upstream_port = bt_component_source_get_output_port_by_index(
                                src_comp, i);
                        assert(upstream_port);
-                       downstream_port = bt_component_filter_get_input_port_at_index(
+                       downstream_port = bt_component_filter_get_input_port_by_index(
                                muxer_comp, i);
                        assert(downstream_port);
                        conn = bt_graph_connect_ports(graph,
@@ -1018,10 +1017,10 @@ void do_std_test(enum test test, const char *name,
        }
 
        /* Connect muxer output port to sink input port */
-       upstream_port = bt_component_filter_get_output_port(muxer_comp,
+       upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       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);
@@ -1344,16 +1343,15 @@ void connect_port_to_first_avail_muxer_port(struct bt_graph *graph,
 {
        struct bt_port *avail_muxer_port = NULL;
        void *conn;
-       uint64_t i;
-       uint64_t count;
-       int ret;
+       int64_t i;
+       int64_t count;
 
-       ret = bt_component_filter_get_input_port_count(muxer_comp, &count);
-       assert(ret == 0);
+       count = bt_component_filter_get_input_port_count(muxer_comp);
+       assert(count >= 0);
 
        for (i = 0; i < count; i++) {
                struct bt_port *muxer_port =
-                       bt_component_filter_get_input_port_at_index(
+                       bt_component_filter_get_input_port_by_index(
                                muxer_comp, i);
 
                assert(muxer_port);
@@ -1402,8 +1400,8 @@ void test_single_end_then_multiple_full(void)
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
        struct bt_graph *graph;
-       size_t i;
-       uint64_t count;
+       int64_t i;
+       int64_t count;
        void *conn;
        int ret;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
@@ -1479,14 +1477,14 @@ void test_single_end_then_multiple_full(void)
        ret = bt_graph_add_port_added_listener(graph,
                graph_port_added_listener_connect_to_avail_muxer_port,
                &graph_listener_data);
-       assert(ret == 0);
+       assert(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
-       ret = bt_component_source_get_output_port_count(src_comp, &count);
+       count = bt_component_source_get_output_port_count(src_comp);
        assert(ret == 0);
 
        for (i = 0; i < count; i++) {
-               upstream_port = bt_component_source_get_output_port_at_index(
+               upstream_port = bt_component_source_get_output_port_by_index(
                        src_comp, i);
                assert(upstream_port);
                connect_port_to_first_avail_muxer_port(graph,
@@ -1495,10 +1493,10 @@ void test_single_end_then_multiple_full(void)
        }
 
        /* Connect muxer output port to sink input port */
-       upstream_port = bt_component_filter_get_output_port(muxer_comp,
+       upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       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);
@@ -1530,8 +1528,8 @@ void test_single_again_end_then_multiple_full(void)
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
        struct bt_graph *graph;
-       size_t i;
-       uint64_t count;
+       int64_t i;
+       int64_t count;
        void *conn;
        int ret;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
@@ -1608,14 +1606,14 @@ void test_single_again_end_then_multiple_full(void)
        ret = bt_graph_add_port_added_listener(graph,
                graph_port_added_listener_connect_to_avail_muxer_port,
                &graph_listener_data);
-       assert(ret == 0);
+       assert(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
-       ret = bt_component_source_get_output_port_count(src_comp, &count);
+       count = bt_component_source_get_output_port_count(src_comp);
        assert(ret == 0);
 
        for (i = 0; i < count; i++) {
-               upstream_port = bt_component_source_get_output_port_at_index(
+               upstream_port = bt_component_source_get_output_port_by_index(
                        src_comp, i);
                assert(upstream_port);
                connect_port_to_first_avail_muxer_port(graph,
@@ -1624,10 +1622,10 @@ void test_single_again_end_then_multiple_full(void)
        }
 
        /* Connect muxer output port to sink input port */
-       upstream_port = bt_component_filter_get_output_port(muxer_comp,
+       upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
        assert(upstream_port);
-       downstream_port = bt_component_sink_get_default_input_port(sink_comp);
+       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);
This page took 0.03412 seconds and 4 git commands to generate.