assert-pre-internal.h: add BT_ASSERT_PRE_VALID_INDEX()
[babeltrace.git] / tests / plugins / test-utils-muxer.c
index 85ed44a92cfef868612e7b4e91e73184a647b603..d7c582bba38318275251b5a2be52152b20fa3de6 100644 (file)
 #include <stdbool.h>
 #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/assert-internal.h>
+#include <babeltrace/babeltrace.h>
 #include <glib.h>
 
 #include "tap/tap.h"
@@ -102,28 +72,30 @@ struct graph_listener_data {
 static bool debug = false;
 static enum test current_test;
 static GArray *test_events;
-static struct bt_clock_class_priority_map *src_cc_prio_map;
-static struct bt_clock_class_priority_map *src_empty_cc_prio_map;
-static struct bt_ctf_clock_class *src_clock_class;
-static struct bt_ctf_stream_class *src_stream_class;
-static struct bt_ctf_event_class *src_event_class;
-static struct bt_ctf_packet *src_packet0;
-static struct bt_ctf_packet *src_packet1;
-static struct bt_ctf_packet *src_packet2;
-static struct bt_ctf_packet *src_packet3;
+static struct bt_graph *graph;
+static struct bt_private_connection_private_notification_iterator *cur_notif_iter;
+static struct bt_clock_class *src_clock_class;
+static struct bt_stream_class *src_stream_class;
+static struct bt_event_class *src_event_class;
+static struct bt_packet *src_packet0;
+static struct bt_packet *src_packet1;
+static struct bt_packet *src_packet2;
+static struct bt_packet *src_packet3;
 
 enum {
        SEQ_END = -1,
        SEQ_AGAIN = -2,
        SEQ_PACKET_BEGIN = -3,
        SEQ_PACKET_END = -4,
+       SEQ_STREAM_BEGIN = -5,
+       SEQ_STREAM_END = -6,
 };
 
 struct src_iter_user_data {
        size_t iter_index;
        int64_t *seq;
        size_t at;
-       struct bt_ctf_packet *packet;
+       struct bt_packet *packet;
 };
 
 struct sink_user_data {
@@ -131,52 +103,62 @@ struct sink_user_data {
 };
 
 static int64_t seq1[] = {
-       24, 53, 97, 105, 119, 210, 222, 240, 292, 317, 353, 407, 433,
-       473, 487, 504, 572, 615, 708, 766, 850, 852, 931, 951, 956, 996,
-       SEQ_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 24, 53, 97, 105, 119, 210,
+       222, 240, 292, 317, 353, 407, 433, 473, 487, 504, 572, 615, 708,
+       766, 850, 852, 931, 951, 956, 996, SEQ_PACKET_END,
+       SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq2[] = {
-       51, 59, 68, 77, 91, 121, 139, 170, 179, 266, 352, 454, 478, 631,
-       644, 668, 714, 744, 750, 778, 790, 836, SEQ_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 51, 59, 68, 77, 91, 121,
+       139, 170, 179, 266, 352, 454, 478, 631, 644, 668, 714, 744, 750,
+       778, 790, 836, SEQ_PACKET_END, SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq3[] = {
-       8, 71, 209, 254, 298, 320, 350, 393, 419, 624, 651, 678, 717,
-       731, 733, 788, 819, 820, 857, 892, 903, 944, 998, SEQ_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 8, 71, 209, 254, 298, 320,
+       350, 393, 419, 624, 651, 678, 717, 731, 733, 788, 819, 820, 857,
+       892, 903, 944, 998, SEQ_PACKET_END, SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq4[] = {
-       41, 56, 120, 138, 154, 228, 471, 479, 481, 525, 591, 605, 612,
-       618, 632, 670, 696, 825, 863, 867, 871, 884, 953, 985, 999,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 41, 56, 120, 138, 154, 228,
+       471, 479, 481, 525, 591, 605, 612, 618, 632, 670, 696, 825, 863,
+       867, 871, 884, 953, 985, 999, SEQ_PACKET_END, SEQ_STREAM_END,
        SEQ_END,
 };
 
 static int64_t seq1_with_again[] = {
-       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,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 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_PACKET_END, SEQ_STREAM_END, 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_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 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_PACKET_END,
+       SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq3_with_again[] = {
-       8, 71, 209, 254, 298, 320, 350, 393, 419, 624, 651, SEQ_AGAIN,
-       678, 717, 731, 733, 788, 819, 820, 857, 892, 903, 944, 998,
-       SEQ_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 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_PACKET_END,
+       SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq4_with_again[] = {
-       SEQ_AGAIN, 41, 56, 120, 138, 154, 228, 471, 479, 481, 525, 591,
-       605, 612, 618, 632, 670, 696, 825, 863, 867, 871, 884, 953, 985,
-       999, SEQ_END,
+       SEQ_AGAIN, SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 41, 56, 120, 138,
+       154, 228, 471, 479, 481, 525, 591, 605, 612, 618, 632, 670, 696,
+       825, 863, 867, 871, 884, 953, 985, 999, SEQ_PACKET_END,
+       SEQ_STREAM_END, SEQ_END,
 };
 
 static int64_t seq5[] = {
-       1, 4, 189, 1001, SEQ_END,
+       SEQ_STREAM_BEGIN, SEQ_PACKET_BEGIN, 1, 4, 189, 1001,
+       SEQ_PACKET_END, SEQ_STREAM_END, SEQ_END,
 };
 
 static
@@ -279,7 +261,7 @@ bool compare_test_events(const struct test_event *expected_events)
        const struct test_event *expected_event = expected_events;
        size_t i = 0;
 
-       assert(expected_events);
+       BT_ASSERT(expected_events);
 
        while (true) {
                const struct test_event *event;
@@ -317,83 +299,93 @@ static
 void init_static_data(void)
 {
        int ret;
-       struct bt_ctf_trace *trace;
-       struct bt_ctf_stream *stream;
-       struct bt_ctf_field_type *empty_struct_ft;
+       struct bt_trace *trace;
+       struct bt_stream *stream;
+       struct bt_field_type *empty_struct_ft;
+       struct bt_field_type *eh_ft;
+       struct bt_field_type *eh_ts_ft;
 
        /* Test events */
        test_events = g_array_new(FALSE, TRUE, sizeof(struct test_event));
-       assert(test_events);
+       BT_ASSERT(test_events);
 
        /* Metadata */
-       empty_struct_ft = bt_ctf_field_type_structure_create();
-       assert(empty_struct_ft);
-       trace = bt_ctf_trace_create();
-       assert(trace);
-       ret = bt_ctf_trace_set_native_byte_order(trace,
-               BT_CTF_BYTE_ORDER_LITTLE_ENDIAN);
-       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", 1000000000);
-       assert(src_clock_class);
-       ret = bt_ctf_clock_class_set_is_absolute(src_clock_class, 1);
-       assert(ret == 0);
-       ret = bt_ctf_trace_add_clock_class(trace, src_clock_class);
-       assert(ret == 0);
-       src_empty_cc_prio_map = bt_clock_class_priority_map_create();
-       assert(src_empty_cc_prio_map);
-       src_cc_prio_map = bt_clock_class_priority_map_create();
-       assert(src_cc_prio_map);
-       ret = bt_clock_class_priority_map_add_clock_class(src_cc_prio_map,
-               src_clock_class, 0);
-       assert(ret == 0);
-       src_stream_class = bt_ctf_stream_class_create("my-stream-class");
-       assert(src_stream_class);
-       ret = bt_ctf_stream_class_set_packet_context_type(src_stream_class,
-               empty_struct_ft);
-       assert(ret == 0);
-       ret = bt_ctf_stream_class_set_event_header_type(src_stream_class,
+       empty_struct_ft = bt_field_type_structure_create();
+       BT_ASSERT(empty_struct_ft);
+       src_clock_class = bt_clock_class_create("my-clock", 1000000000);
+       BT_ASSERT(src_clock_class);
+       trace = bt_trace_create();
+       BT_ASSERT(trace);
+       ret = bt_trace_set_native_byte_order(trace,
+               BT_BYTE_ORDER_LITTLE_ENDIAN);
+       BT_ASSERT(ret == 0);
+       ret = bt_trace_set_packet_header_field_type(trace, empty_struct_ft);
+       BT_ASSERT(ret == 0);
+       ret = bt_clock_class_set_is_absolute(src_clock_class, 1);
+       BT_ASSERT(ret == 0);
+       ret = bt_trace_add_clock_class(trace, src_clock_class);
+       BT_ASSERT(ret == 0);
+       src_stream_class = bt_stream_class_create("my-stream-class");
+       BT_ASSERT(src_stream_class);
+       ret = bt_stream_class_set_packet_context_field_type(src_stream_class,
                empty_struct_ft);
-       assert(ret == 0);
-       ret = bt_ctf_stream_class_set_event_context_type(src_stream_class,
+       BT_ASSERT(ret == 0);
+       eh_ft = bt_field_type_structure_create();
+       BT_ASSERT(eh_ft);
+       eh_ts_ft = bt_field_type_integer_create(64);
+       BT_ASSERT(eh_ts_ft);
+       ret = bt_field_type_structure_add_field(eh_ft, eh_ts_ft, "ts");
+       BT_ASSERT(ret == 0);
+       ret = bt_field_type_integer_set_mapped_clock_class(eh_ts_ft,
+               src_clock_class);
+       BT_ASSERT(ret == 0);
+       ret = bt_stream_class_set_event_header_field_type(src_stream_class,
+               eh_ft);
+       BT_ASSERT(ret == 0);
+       ret = bt_stream_class_set_event_context_field_type(src_stream_class,
                empty_struct_ft);
-       assert(ret == 0);
-       src_event_class = bt_ctf_event_class_create("my-event-class");
-       ret = bt_ctf_event_class_set_context_type(src_event_class,
+       BT_ASSERT(ret == 0);
+       src_event_class = bt_event_class_create("my-event-class");
+       ret = bt_event_class_set_context_field_type(src_event_class,
                empty_struct_ft);
-       assert(ret == 0);
-       ret = bt_ctf_event_class_set_context_type(src_event_class,
+       BT_ASSERT(ret == 0);
+       ret = bt_event_class_set_context_field_type(src_event_class,
                empty_struct_ft);
-       assert(ret == 0);
-       ret = bt_ctf_stream_class_add_event_class(src_stream_class,
+       BT_ASSERT(ret == 0);
+       ret = bt_stream_class_add_event_class(src_stream_class,
                src_event_class);
-       assert(ret == 0);
-       ret = bt_ctf_trace_add_stream_class(trace, src_stream_class);
-       assert(ret == 0);
-       stream = bt_ctf_stream_create(src_stream_class, "stream0");
-       assert(stream);
-       src_packet0 = bt_ctf_packet_create(stream);
-       assert(src_packet0);
+       BT_ASSERT(ret == 0);
+       ret = bt_trace_add_stream_class(trace, src_stream_class);
+       BT_ASSERT(ret == 0);
+       stream = bt_stream_create(src_stream_class, "stream0", 0);
+       BT_ASSERT(stream);
+       src_packet0 = bt_packet_create(stream,
+               BT_PACKET_PREVIOUS_PACKET_AVAILABILITY_NONE, NULL);
+       BT_ASSERT(src_packet0);
        bt_put(stream);
-       stream = bt_ctf_stream_create(src_stream_class, "stream1");
-       assert(stream);
-       src_packet1 = bt_ctf_packet_create(stream);
-       assert(src_packet0);
+       stream = bt_stream_create(src_stream_class, "stream1", 1);
+       BT_ASSERT(stream);
+       src_packet1 = bt_packet_create(stream,
+               BT_PACKET_PREVIOUS_PACKET_AVAILABILITY_NONE, NULL);
+       BT_ASSERT(src_packet0);
        bt_put(stream);
-       stream = bt_ctf_stream_create(src_stream_class, "stream2");
-       assert(stream);
-       src_packet2 = bt_ctf_packet_create(stream);
-       assert(src_packet0);
+       stream = bt_stream_create(src_stream_class, "stream2", 2);
+       BT_ASSERT(stream);
+       src_packet2 = bt_packet_create(stream,
+               BT_PACKET_PREVIOUS_PACKET_AVAILABILITY_NONE, NULL);
+       BT_ASSERT(src_packet0);
        bt_put(stream);
-       stream = bt_ctf_stream_create(src_stream_class, "stream3");
-       assert(stream);
-       src_packet3 = bt_ctf_packet_create(stream);
-       assert(src_packet0);
+       stream = bt_stream_create(src_stream_class, "stream3", 3);
+       BT_ASSERT(stream);
+       src_packet3 = bt_packet_create(stream,
+               BT_PACKET_PREVIOUS_PACKET_AVAILABILITY_NONE, NULL);
+       BT_ASSERT(src_packet0);
        bt_put(stream);
 
        bt_put(trace);
        bt_put(empty_struct_ft);
+       bt_put(eh_ft);
+       bt_put(eh_ts_ft);
 }
 
 static
@@ -403,8 +395,6 @@ void fini_static_data(void)
        g_array_free(test_events, TRUE);
 
        /* Metadata */
-       bt_put(src_empty_cc_prio_map);
-       bt_put(src_cc_prio_map);
        bt_put(src_clock_class);
        bt_put(src_stream_class);
        bt_put(src_event_class);
@@ -416,10 +406,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,24 +419,23 @@ 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_borrow_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,
+       BT_ASSERT(user_data);
+       BT_ASSERT(port);
+       ret = bt_private_connection_private_notification_iterator_set_user_data(priv_notif_iter,
                user_data);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        port_name = bt_port_get_name(port);
-       assert(port_name);
+       BT_ASSERT(port_name);
        user_data->iter_index = port_name[3] - '0';
-       bt_put(port);
 
        switch (user_data->iter_index) {
        case 0:
@@ -511,160 +500,198 @@ enum bt_notification_iterator_status src_iter_init(
 }
 
 static
-struct bt_ctf_event *src_create_event(struct bt_ctf_packet *packet,
+struct bt_notification *src_create_event_notif(struct bt_packet *packet,
                int64_t ts_ns)
 {
-       struct bt_ctf_event *event = bt_ctf_event_create(src_event_class);
        int ret;
-
-       assert(event);
-       ret = bt_ctf_event_set_packet(event, packet);
-       assert(ret == 0);
-
-       if (ts_ns != -1) {
-               struct bt_ctf_clock_value *clock_value;
-
-               clock_value = bt_ctf_clock_value_create(src_clock_class,
-                       (uint64_t) ts_ns);
-               assert(clock_value);
-               ret = bt_ctf_event_set_clock_value(event, clock_value);
-               assert(ret == 0);
-               bt_put(clock_value);
+       struct bt_event *event;
+       struct bt_notification *notif;
+       struct bt_field *field;
+
+       notif = bt_notification_event_create(cur_notif_iter,
+               src_event_class, packet);
+       BT_ASSERT(notif);
+       event = bt_notification_event_borrow_event(notif);
+       BT_ASSERT(event);
+       field = bt_event_borrow_header(event);
+       BT_ASSERT(field);
+       field = bt_field_structure_borrow_field_by_name(field, "ts");
+       BT_ASSERT(field);
+       ret = bt_field_integer_unsigned_set_value(field, (uint64_t) ts_ns);
+       BT_ASSERT(ret == 0);
+
+       if (ts_ns != UINT64_C(-1)) {
+               ret = bt_event_set_clock_value(event, src_clock_class, (uint64_t) ts_ns,
+                       BT_TRUE);
+               BT_ASSERT(ret == 0);
        }
 
-       return event;
+       return notif;
 }
 
 static
-struct bt_notification_iterator_next_return src_iter_next_seq(
-               struct src_iter_user_data *user_data)
+enum bt_notification_iterator_status src_iter_next_seq(
+               struct src_iter_user_data *user_data,
+               bt_notification_array notifs)
 {
-       struct bt_notification_iterator_next_return next_return = {
-               .status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
-       };
+       enum bt_notification_iterator_status status =
+               BT_NOTIFICATION_ITERATOR_STATUS_OK;
        int64_t cur_ts_ns;
+       struct bt_stream *stream;
 
-       assert(user_data->seq);
+       BT_ASSERT(user_data->seq);
        cur_ts_ns = user_data->seq[user_data->at];
 
        switch (cur_ts_ns) {
        case SEQ_END:
-               next_return.status =
-                       BT_NOTIFICATION_ITERATOR_STATUS_END;
+               status = BT_NOTIFICATION_ITERATOR_STATUS_END;
                break;
        case SEQ_AGAIN:
-               next_return.status =
-                       BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
+               status = BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
                break;
        case SEQ_PACKET_BEGIN:
-               next_return.notification =
-                       bt_notification_packet_begin_create(user_data->packet);
-               assert(next_return.notification);
+               notifs[0] = bt_notification_packet_begin_create(cur_notif_iter,
+                               user_data->packet);
+               BT_ASSERT(notifs[0]);
                break;
        case SEQ_PACKET_END:
-               next_return.notification =
-                       bt_notification_packet_end_create(user_data->packet);
-               assert(next_return.notification);
+               notifs[0] = bt_notification_packet_end_create(cur_notif_iter,
+                               user_data->packet);
+               BT_ASSERT(notifs[0]);
+               break;
+       case SEQ_STREAM_BEGIN:
+               stream = bt_packet_get_stream(user_data->packet);
+               notifs[0] = bt_notification_stream_begin_create(cur_notif_iter,
+                       stream);
+               BT_ASSERT(notifs[0]);
+               bt_put(stream);
+               break;
+       case SEQ_STREAM_END:
+               stream = bt_packet_get_stream(user_data->packet);
+               notifs[0] = bt_notification_stream_end_create(cur_notif_iter,
+                       stream);
+               BT_ASSERT(notifs[0]);
+               bt_put(stream);
                break;
        default:
        {
-               struct bt_ctf_event *event = src_create_event(
-                       user_data->packet, cur_ts_ns);
-
-               assert(event);
-               next_return.notification = bt_notification_event_create(event,
-                       src_cc_prio_map);
-               bt_put(event);
-               assert(next_return.notification);
+               notifs[0] = src_create_event_notif(user_data->packet,
+                       cur_ts_ns);
+               BT_ASSERT(notifs[0]);
                break;
        }
        }
 
-       if (next_return.status != BT_NOTIFICATION_ITERATOR_STATUS_END) {
+       if (status != BT_NOTIFICATION_ITERATOR_STATUS_END) {
                user_data->at++;
        }
 
-       return next_return;
+       return status;
 }
 
 static
-struct bt_notification_iterator_next_return src_iter_next(
-               struct bt_private_notification_iterator *priv_iterator)
+enum bt_notification_iterator_status src_iter_next(
+               struct bt_private_connection_private_notification_iterator *priv_iterator,
+               bt_notification_array notifs, uint64_t capacity,
+               uint64_t *count)
 {
-       struct bt_notification_iterator_next_return next_return = {
-               .notification = NULL,
-               .status = BT_NOTIFICATION_ITERATOR_STATUS_OK,
-       };
+       enum bt_notification_iterator_status 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);
+       struct bt_stream *stream;
        int ret;
 
-       assert(user_data);
-       assert(private_component);
+       BT_ASSERT(user_data);
+       BT_ASSERT(private_component);
+       cur_notif_iter = priv_iterator;
+
+       /*
+        * We can always set it to 1: it's not going to be considered
+        * anyway if the status is not
+        * BT_NOTIFICATION_ITERATOR_STATUS_OK.
+        */
+       *count = 1;
 
        switch (current_test) {
        case TEST_NO_TS:
                if (user_data->iter_index == 0) {
                        if (user_data->at == 0) {
-                               next_return.notification =
+                               stream = bt_packet_get_stream(user_data->packet);
+                               notifs[0] =
+                                       bt_notification_stream_begin_create(
+                                               cur_notif_iter, stream);
+                               bt_put(stream);
+                               BT_ASSERT(notifs[0]);
+                       } else if (user_data->at == 1) {
+                               notifs[0] =
                                        bt_notification_packet_begin_create(
+                                               cur_notif_iter,
                                                user_data->packet);
-                               assert(next_return.notification);
-                       } else if (user_data->at < 6) {
-                               struct bt_ctf_event *event = src_create_event(
-                                       user_data->packet, -1);
-
-                               assert(event);
-                               next_return.notification =
-                                       bt_notification_event_create(event,
-                                               src_empty_cc_prio_map);
-                               assert(next_return.notification);
-                               bt_put(event);
+                               BT_ASSERT(notifs[0]);
+                       } else if (user_data->at < 7) {
+                               notifs[0] =
+                                       src_create_event_notif(
+                                               user_data->packet, UINT64_C(-1));
+                               BT_ASSERT(notifs[0]);
+                       } else if (user_data->at == 7) {
+                               notifs[0] =
+                                       bt_notification_packet_end_create(
+                                               cur_notif_iter,
+                                               user_data->packet);
+                               BT_ASSERT(notifs[0]);
+                       } else if (user_data->at == 8) {
+                               stream = bt_packet_get_stream(user_data->packet);
+                               notifs[0] =
+                                       bt_notification_stream_end_create(
+                                               cur_notif_iter, stream);
+                               bt_put(stream);
+                               BT_ASSERT(notifs[0]);
                        } else {
-                               next_return.status =
+                               status =
                                        BT_NOTIFICATION_ITERATOR_STATUS_END;
                        }
 
                        user_data->at++;
                } else {
-                       next_return = src_iter_next_seq(user_data);
+                       status = src_iter_next_seq(user_data, notifs);
                }
                break;
        case TEST_SIMPLE_4_PORTS:
        case TEST_4_PORTS_WITH_RETRIES:
-               next_return = src_iter_next_seq(user_data);
+               status = src_iter_next_seq(user_data, notifs);
                break;
        case TEST_SINGLE_END_THEN_MULTIPLE_FULL:
                if (user_data->iter_index == 0) {
                        ret = bt_private_component_source_add_output_private_port(
                                private_component, "out1", NULL, NULL);
-                       assert(ret == 0);
+                       BT_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;
+                       BT_ASSERT(ret == 0);
+                       status = BT_NOTIFICATION_ITERATOR_STATUS_END;
                } else {
-                       next_return = src_iter_next_seq(user_data);
+                       status = src_iter_next_seq(user_data, notifs);
                }
                break;
        case TEST_SINGLE_AGAIN_END_THEN_MULTIPLE_FULL:
                if (user_data->iter_index == 0) {
                        if (user_data->at == 0) {
-                               next_return.status = BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
+                               status = BT_NOTIFICATION_ITERATOR_STATUS_AGAIN;
                                user_data->at++;
                        } else {
                                ret = bt_private_component_source_add_output_private_port(
                                        private_component, "out1", NULL, NULL);
-                               assert(ret == 0);
+                               BT_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;
+                               BT_ASSERT(ret == 0);
+                               status = BT_NOTIFICATION_ITERATOR_STATUS_END;
                        }
                } else {
-                       next_return = src_iter_next_seq(user_data);
+                       status = src_iter_next_seq(user_data, notifs);
                }
                break;
        default:
@@ -672,7 +699,7 @@ struct bt_notification_iterator_next_return src_iter_next(
        }
 
        bt_put(private_component);
-       return next_return;
+       return status;
 }
 
 static
@@ -699,25 +726,25 @@ enum bt_component_status src_init(
        if (nb_ports >= 1) {
                ret = bt_private_component_source_add_output_private_port(
                        private_component, "out0", NULL, NULL);
-               assert(ret == 0);
+               BT_ASSERT(ret == 0);
        }
 
        if (nb_ports >= 2) {
                ret = bt_private_component_source_add_output_private_port(
                        private_component, "out1", NULL, NULL);
-               assert(ret == 0);
+               BT_ASSERT(ret == 0);
        }
 
        if (nb_ports >= 3) {
                ret = bt_private_component_source_add_output_private_port(
                        private_component, "out2", NULL, NULL);
-               assert(ret == 0);
+               BT_ASSERT(ret == 0);
        }
 
        if (nb_ports >= 4) {
                ret = bt_private_component_source_add_output_private_port(
                        private_component, "out3", NULL, NULL);
-               assert(ret == 0);
+               BT_ASSERT(ret == 0);
        }
 
        return BT_COMPONENT_STATUS_OK;
@@ -729,111 +756,46 @@ void src_finalize(struct bt_private_component *private_component)
 }
 
 static
-enum bt_component_status sink_consume(
-               struct bt_private_component *priv_component)
+void append_test_event_from_notification(struct bt_notification *notification)
 {
-       enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
-       struct bt_notification *notification = NULL;
-       struct sink_user_data *user_data =
-               bt_private_component_get_user_data(priv_component);
-       enum bt_notification_iterator_status it_ret;
+       int ret;
        struct test_event test_event;
-       bool do_append_test_event = true;
-
-       assert(user_data && user_data->notif_iter);
-       it_ret = bt_notification_iterator_next(user_data->notif_iter);
-
-       if (it_ret < 0) {
-               ret = BT_COMPONENT_STATUS_ERROR;
-               do_append_test_event = false;
-               goto end;
-       }
-
-       switch (it_ret) {
-       case BT_NOTIFICATION_ITERATOR_STATUS_END:
-               test_event.type = TEST_EV_TYPE_END;
-               ret = BT_COMPONENT_STATUS_END;
-               BT_PUT(user_data->notif_iter);
-               goto end;
-       case BT_NOTIFICATION_ITERATOR_STATUS_AGAIN:
-               test_event.type = TEST_EV_TYPE_AGAIN;
-               ret = BT_COMPONENT_STATUS_AGAIN;
-               goto end;
-       default:
-               break;
-       }
-
-       notification = bt_notification_iterator_get_notification(
-               user_data->notif_iter);
-       assert(notification);
+       struct bt_clock_value *cv;
 
        switch (bt_notification_get_type(notification)) {
        case BT_NOTIFICATION_TYPE_EVENT:
        {
-               struct bt_ctf_event *event;
-               struct bt_clock_class_priority_map *cc_prio_map;
+               struct bt_event *event;
 
                test_event.type = TEST_EV_TYPE_NOTIF_EVENT;
-               cc_prio_map =
-                       bt_notification_event_get_clock_class_priority_map(
-                               notification);
-               assert(cc_prio_map);
-               event = bt_notification_event_get_event(notification);
-               assert(event);
-
-               if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
-                       struct bt_ctf_clock_value *clock_value;
-                       struct bt_ctf_clock_class *clock_class =
-                               bt_clock_class_priority_map_get_highest_priority_clock_class(
-                                       cc_prio_map);
-
-                       assert(clock_class);
-                       clock_value = bt_ctf_event_get_clock_value(event,
-                               clock_class);
-                       assert(clock_value);
-                       ret = bt_ctf_clock_value_get_value_ns_from_epoch(
-                                       clock_value, &test_event.ts_ns);
-                       assert(ret == 0);
-                       bt_put(clock_value);
-                       bt_put(clock_class);
+               event = bt_notification_event_borrow_event(notification);
+               BT_ASSERT(event);
+               cv = bt_event_borrow_default_clock_value(event);
+
+               if (cv) {
+                       ret = bt_clock_value_get_value_ns_from_epoch(
+                               cv, &test_event.ts_ns);
+                       BT_ASSERT(ret == 0);
                } else {
                        test_event.ts_ns = -1;
                }
 
-               bt_put(cc_prio_map);
-               bt_put(event);
                break;
        }
        case BT_NOTIFICATION_TYPE_INACTIVITY:
        {
-               struct bt_clock_class_priority_map *cc_prio_map;
-
                test_event.type = TEST_EV_TYPE_NOTIF_INACTIVITY;
-               cc_prio_map = bt_notification_event_get_clock_class_priority_map(
+               cv = bt_notification_inactivity_borrow_default_clock_value(
                        notification);
-               assert(cc_prio_map);
-
-               if (bt_clock_class_priority_map_get_clock_class_count(cc_prio_map) > 0) {
-                       struct bt_ctf_clock_value *clock_value;
-                       struct bt_ctf_clock_class *clock_class =
-                               bt_clock_class_priority_map_get_highest_priority_clock_class(
-                                       cc_prio_map);
-
-                       assert(clock_class);
-                       clock_value =
-                               bt_notification_inactivity_get_clock_value(
-                                       notification, clock_class);
-                       assert(clock_value);
-                       ret = bt_ctf_clock_value_get_value_ns_from_epoch(
-                                       clock_value, &test_event.ts_ns);
-                       assert(ret == 0);
-                       bt_put(clock_value);
-                       bt_put(clock_class);
+
+               if (cv) {
+                       ret = bt_clock_value_get_value_ns_from_epoch(
+                                       cv, &test_event.ts_ns);
+                       BT_ASSERT(ret == 0);
                } else {
                        test_event.ts_ns = -1;
                }
 
-               bt_put(cc_prio_map);
                break;
        }
        case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
@@ -853,17 +815,66 @@ enum bt_component_status sink_consume(
                break;
        }
 
+       append_test_event(&test_event);
+}
+
+static
+enum bt_component_status sink_consume(
+               struct bt_private_component *priv_component)
+{
+       enum bt_component_status ret = BT_COMPONENT_STATUS_OK;
+       bt_notification_array notifications = NULL;
+       uint64_t count;
+       struct sink_user_data *user_data =
+               bt_private_component_get_user_data(priv_component);
+       enum bt_notification_iterator_status it_ret;
+       struct test_event test_event;
+       bool do_append_test_event = true;
+       uint64_t i;
+
+       BT_ASSERT(user_data && user_data->notif_iter);
+       it_ret = bt_private_connection_notification_iterator_next(
+               user_data->notif_iter, &notifications, &count);
+       if (it_ret < 0) {
+               ret = BT_COMPONENT_STATUS_ERROR;
+               do_append_test_event = false;
+               goto end;
+       }
+
+       switch (it_ret) {
+       case BT_NOTIFICATION_ITERATOR_STATUS_END:
+               test_event.type = TEST_EV_TYPE_END;
+               ret = BT_COMPONENT_STATUS_END;
+               BT_PUT(user_data->notif_iter);
+               goto end;
+       case BT_NOTIFICATION_ITERATOR_STATUS_AGAIN:
+               test_event.type = TEST_EV_TYPE_AGAIN;
+               ret = BT_COMPONENT_STATUS_AGAIN;
+               goto end;
+       default:
+               break;
+       }
+
+       BT_ASSERT(notifications);
+
+       for (i = 0; i < count; i++) {
+               append_test_event_from_notification(notifications[i]);
+               bt_put(notifications[i]);
+       }
+
+       do_append_test_event = false;
+
 end:
        if (do_append_test_event) {
                append_test_event(&test_event);
        }
 
-       bt_put(notification);
        return ret;
 }
 
 static
-void sink_port_connected(struct bt_private_component *private_component,
+enum bt_component_status sink_port_connected(
+               struct bt_private_component *private_component,
                struct bt_private_port *self_private_port,
                struct bt_port *other_port)
 {
@@ -873,12 +884,13 @@ void sink_port_connected(struct bt_private_component *private_component,
                private_component);
        enum bt_connection_status conn_status;
 
-       assert(user_data);
-       assert(priv_conn);
+       BT_ASSERT(user_data);
+       BT_ASSERT(priv_conn);
        conn_status = bt_private_connection_create_notification_iterator(
-               priv_conn, NULL, &user_data->notif_iter);
-       assert(conn_status == 0);
+               priv_conn, &user_data->notif_iter);
+       BT_ASSERT(conn_status == 0);
        bt_put(priv_conn);
+       return BT_COMPONENT_STATUS_OK;
 }
 
 static
@@ -889,13 +901,13 @@ enum bt_component_status sink_init(
        struct sink_user_data *user_data = g_new0(struct sink_user_data, 1);
        int ret;
 
-       assert(user_data);
+       BT_ASSERT(user_data);
        ret = bt_private_component_set_user_data(private_component,
                user_data);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_private_component_sink_add_input_private_port(
                private_component, "in", NULL, NULL);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        return BT_COMPONENT_STATUS_OK;
 }
 
@@ -924,40 +936,40 @@ void create_source_muxer_sink(struct bt_graph *graph,
 
        /* Create source component */
        src_comp_class = bt_component_class_source_create("src", src_iter_next);
-       assert(src_comp_class);
+       BT_ASSERT(src_comp_class);
        ret = bt_component_class_set_init_method(src_comp_class, src_init);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_component_class_set_finalize_method(src_comp_class,
                src_finalize);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_component_class_source_set_notification_iterator_init_method(
                src_comp_class, src_iter_init);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_component_class_source_set_notification_iterator_finalize_method(
                src_comp_class, src_iter_finalize);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_graph_add_component(graph, src_comp_class, "source", NULL, source);
-       assert(ret == 0);
+       BT_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);
+       BT_ASSERT(muxer_comp_class);
        ret = bt_graph_add_component(graph, muxer_comp_class, "muxer", NULL, muxer);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
 
        /* Create sink component */
        sink_comp_class = bt_component_class_sink_create("sink", sink_consume);
-       assert(sink_comp_class);
+       BT_ASSERT(sink_comp_class);
        ret = bt_component_class_set_init_method(sink_comp_class, sink_init);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_component_class_set_finalize_method(sink_comp_class,
                sink_finalize);
        ret = bt_component_class_set_port_connected_method(sink_comp_class,
                sink_port_connected);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
        ret = bt_graph_add_component(graph, sink_comp_class, "sink", NULL, sink);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
 
        bt_put(src_comp_class);
        bt_put(muxer_comp_class);
@@ -974,7 +986,6 @@ void do_std_test(enum test test, const char *name,
        struct bt_component *sink_comp;
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
-       struct bt_graph *graph;
        int64_t i;
        int64_t count;
        enum bt_graph_status graph_status = BT_GRAPH_STATUS_OK;
@@ -982,25 +993,26 @@ void do_std_test(enum test test, const char *name,
        clear_test_events();
        current_test = test;
        diag("test: %s", name);
+       BT_ASSERT(!graph);
        graph = bt_graph_create();
-       assert(graph);
+       BT_ASSERT(graph);
        create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
 
        /* Connect source output ports to muxer input ports */
        if (with_upstream) {
                count = bt_component_source_get_output_port_count(src_comp);
-               assert(count >= 0);
+               BT_ASSERT(count >= 0);
 
                for (i = 0; i < count; i++) {
                        upstream_port = bt_component_source_get_output_port_by_index(
                                src_comp, i);
-                       assert(upstream_port);
+                       BT_ASSERT(upstream_port);
                        downstream_port = bt_component_filter_get_input_port_by_index(
                                muxer_comp, i);
-                       assert(downstream_port);
+                       BT_ASSERT(downstream_port);
                        graph_status = bt_graph_connect_ports(graph,
                                upstream_port, downstream_port, NULL);
-                       assert(graph_status == 0);
+                       BT_ASSERT(graph_status == 0);
                        bt_put(upstream_port);
                        bt_put(downstream_port);
                }
@@ -1009,12 +1021,12 @@ 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_by_name(muxer_comp,
                "out");
-       assert(upstream_port);
+       BT_ASSERT(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
-       assert(downstream_port);
+       BT_ASSERT(downstream_port);
        graph_status = bt_graph_connect_ports(graph, upstream_port,
                downstream_port, NULL);
-       assert(graph_status == 0);
+       BT_ASSERT(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
@@ -1030,7 +1042,7 @@ void do_std_test(enum test test, const char *name,
        bt_put(src_comp);
        bt_put(muxer_comp);
        bt_put(sink_comp);
-       bt_put(graph);
+       BT_PUT(graph);
 }
 
 static
@@ -1337,14 +1349,14 @@ void connect_port_to_first_avail_muxer_port(struct bt_graph *graph,
        enum bt_graph_status graph_status;
 
        count = bt_component_filter_get_input_port_count(muxer_comp);
-       assert(count >= 0);
+       BT_ASSERT(count >= 0);
 
        for (i = 0; i < count; i++) {
                struct bt_port *muxer_port =
                        bt_component_filter_get_input_port_by_index(
                                muxer_comp, i);
 
-               assert(muxer_port);
+               BT_ASSERT(muxer_port);
 
                if (!bt_port_is_connected(muxer_port)) {
                        BT_MOVE(avail_muxer_port, muxer_port);
@@ -1356,7 +1368,7 @@ void connect_port_to_first_avail_muxer_port(struct bt_graph *graph,
 
        graph_status = bt_graph_connect_ports(graph, source_port,
                avail_muxer_port, NULL);
-       assert(graph_status == 0);
+       BT_ASSERT(graph_status == 0);
        bt_put(avail_muxer_port);
 }
 
@@ -1368,7 +1380,7 @@ void graph_port_added_listener_connect_to_avail_muxer_port(struct bt_port *port,
        struct bt_component *comp;
 
        comp = bt_port_get_component(port);
-       assert(comp);
+       BT_ASSERT(comp);
 
        if (comp != graph_listener_data->source) {
                goto end;
@@ -1389,7 +1401,6 @@ void test_single_end_then_multiple_full(void)
        struct bt_component *sink_comp;
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
-       struct bt_graph *graph;
        int64_t i;
        int64_t count;
        int ret;
@@ -1456,8 +1467,9 @@ 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");
+       BT_ASSERT(!graph);
        graph = bt_graph_create();
-       assert(graph);
+       BT_ASSERT(graph);
        create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
        graph_listener_data.graph = graph;
        graph_listener_data.source = src_comp;
@@ -1466,16 +1478,16 @@ 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, NULL,
                &graph_listener_data);
-       assert(ret >= 0);
+       BT_ASSERT(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
        count = bt_component_source_get_output_port_count(src_comp);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
 
        for (i = 0; i < count; i++) {
                upstream_port = bt_component_source_get_output_port_by_index(
                        src_comp, i);
-               assert(upstream_port);
+               BT_ASSERT(upstream_port);
                connect_port_to_first_avail_muxer_port(graph,
                        upstream_port, muxer_comp);
                bt_put(upstream_port);
@@ -1484,12 +1496,12 @@ void test_single_end_then_multiple_full(void)
        /* Connect muxer output port to sink input port */
        upstream_port = bt_component_filter_get_output_port_by_name(muxer_comp,
                "out");
-       assert(upstream_port);
+       BT_ASSERT(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
-       assert(downstream_port);
+       BT_ASSERT(downstream_port);
        graph_status = bt_graph_connect_ports(graph, upstream_port,
                downstream_port, NULL);
-       assert(graph_status == 0);
+       BT_ASSERT(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
@@ -1505,7 +1517,7 @@ void test_single_end_then_multiple_full(void)
        bt_put(src_comp);
        bt_put(muxer_comp);
        bt_put(sink_comp);
-       bt_put(graph);
+       BT_PUT(graph);
 }
 
 static
@@ -1516,7 +1528,6 @@ void test_single_again_end_then_multiple_full(void)
        struct bt_component *sink_comp;
        struct bt_port *upstream_port;
        struct bt_port *downstream_port;
-       struct bt_graph *graph;
        int64_t i;
        int64_t count;
        int ret;
@@ -1584,8 +1595,9 @@ 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");
+       BT_ASSERT(!graph);
        graph = bt_graph_create();
-       assert(graph);
+       BT_ASSERT(graph);
        create_source_muxer_sink(graph, &src_comp, &muxer_comp, &sink_comp);
        graph_listener_data.graph = graph;
        graph_listener_data.source = src_comp;
@@ -1594,16 +1606,16 @@ 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, NULL,
                &graph_listener_data);
-       assert(ret >= 0);
+       BT_ASSERT(ret >= 0);
 
        /* Connect source output ports to muxer input ports */
        count = bt_component_source_get_output_port_count(src_comp);
-       assert(ret == 0);
+       BT_ASSERT(ret == 0);
 
        for (i = 0; i < count; i++) {
                upstream_port = bt_component_source_get_output_port_by_index(
                        src_comp, i);
-               assert(upstream_port);
+               BT_ASSERT(upstream_port);
                connect_port_to_first_avail_muxer_port(graph,
                        upstream_port, muxer_comp);
                bt_put(upstream_port);
@@ -1612,12 +1624,12 @@ 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_by_name(muxer_comp,
                "out");
-       assert(upstream_port);
+       BT_ASSERT(upstream_port);
        downstream_port = bt_component_sink_get_input_port_by_name(sink_comp, "in");
-       assert(downstream_port);
+       BT_ASSERT(downstream_port);
        graph_status = bt_graph_connect_ports(graph, upstream_port,
                downstream_port, NULL);
-       assert(graph_status == 0);
+       BT_ASSERT(graph_status == 0);
        bt_put(upstream_port);
        bt_put(downstream_port);
 
@@ -1633,7 +1645,7 @@ void test_single_again_end_then_multiple_full(void)
        bt_put(src_comp);
        bt_put(muxer_comp);
        bt_put(sink_comp);
-       bt_put(graph);
+       BT_PUT(graph);
 }
 
 #define DEBUG_ENV_VAR  "TEST_UTILS_MUXER_DEBUG"
This page took 0.041207 seconds and 4 git commands to generate.