lib: fully configure graph (add components, connect ports), then run
[babeltrace.git] / tests / lib / test_graph_topo.c
index 7c63ec2cf0c7202f6ad1bfb6cc8c0783d77cf4c0..cf73109a356a74d653cb6a2fcc7fdb4c190fb89b 100644 (file)
 
 #include "tap/tap.h"
 
-#define NR_TESTS       99
+#define NR_TESTS       48
 
 enum event_type {
        SRC_COMP_ACCEPT_OUTPUT_PORT_CONNECTION,
        SINK_COMP_ACCEPT_INPUT_PORT_CONNECTION,
        SRC_COMP_OUTPUT_PORT_CONNECTED,
        SINK_COMP_INPUT_PORT_CONNECTED,
-       SRC_COMP_OUTPUT_PORT_DISCONNECTED,
-       SINK_COMP_INPUT_PORT_DISCONNECTED,
        GRAPH_SRC_OUTPUT_PORT_ADDED,
        GRAPH_SINK_INPUT_PORT_ADDED,
-       GRAPH_SRC_OUTPUT_PORT_REMOVED,
-       GRAPH_SINK_INPUT_PORT_REMOVED,
        GRAPH_SRC_SINK_PORTS_CONNECTED,
-       GRAPH_SRC_SINK_PORTS_DISCONNECTED,
 };
 
 enum test {
@@ -49,8 +44,6 @@ enum test {
        TEST_SRC_PORT_CONNECTED_ERROR,
        TEST_SINK_PORT_CONNECTED_ERROR,
        TEST_SRC_ADDS_PORT_IN_PORT_CONNECTED,
-       TEST_SINK_REMOVES_PORT_IN_CONSUME,
-       TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT,
 };
 
 struct event {
@@ -81,16 +74,6 @@ struct event {
                        const bt_port *other_port;
                } sink_comp_input_port_connected;
 
-               struct {
-                       const bt_component *comp;
-                       const bt_port *self_port;
-               } src_comp_output_port_disconnected;
-
-               struct {
-                       const bt_component *comp;
-                       const bt_port *self_port;
-               } sink_comp_input_port_disconnected;
-
                struct {
                        const bt_component *comp;
                        const bt_port *port;
@@ -101,29 +84,12 @@ struct event {
                        const bt_port *port;
                } graph_sink_input_port_added;
 
-               struct {
-                       const bt_component *comp;
-                       const bt_port *port;
-               } graph_src_output_port_removed;
-
-               struct {
-                       const bt_component *comp;
-                       const bt_port *port;
-               } graph_sink_input_port_removed;
-
                struct {
                        const bt_component *upstream_comp;
                        const bt_component *downstream_comp;
                        const bt_port *upstream_port;
                        const bt_port *downstream_port;
                } graph_src_sink_ports_connected;
-
-               struct {
-                       const bt_component *upstream_comp;
-                       const bt_component *downstream_comp;
-                       const bt_port *upstream_port;
-                       const bt_port *downstream_port;
-               } graph_src_sink_ports_disconnected;
        } data;
 };
 
@@ -216,28 +182,6 @@ bool compare_events(struct event *ev_a, struct event *ev_b)
                                return false;
                        }
                        break;
-               case SRC_COMP_OUTPUT_PORT_DISCONNECTED:
-                       if (ev_a->data.src_comp_output_port_disconnected.comp !=
-                                       ev_b->data.src_comp_output_port_disconnected.comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.src_comp_output_port_disconnected.self_port !=
-                                       ev_b->data.src_comp_output_port_disconnected.self_port) {
-                               return false;
-                       }
-                       break;
-               case SINK_COMP_INPUT_PORT_DISCONNECTED:
-                       if (ev_a->data.sink_comp_input_port_disconnected.comp !=
-                                       ev_b->data.sink_comp_input_port_disconnected.comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.sink_comp_input_port_disconnected.self_port !=
-                                       ev_b->data.sink_comp_input_port_disconnected.self_port) {
-                               return false;
-                       }
-                       break;
                case GRAPH_SRC_OUTPUT_PORT_ADDED:
                        if (ev_a->data.graph_src_output_port_added.comp !=
                                        ev_b->data.graph_src_output_port_added.comp) {
@@ -260,28 +204,6 @@ bool compare_events(struct event *ev_a, struct event *ev_b)
                                return false;
                        }
                        break;
-               case GRAPH_SRC_OUTPUT_PORT_REMOVED:
-                       if (ev_a->data.graph_src_output_port_removed.comp !=
-                                       ev_b->data.graph_src_output_port_removed.comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.graph_src_output_port_removed.port !=
-                                       ev_b->data.graph_src_output_port_removed.port) {
-                               return false;
-                       }
-                       break;
-               case GRAPH_SINK_INPUT_PORT_REMOVED:
-                       if (ev_a->data.graph_sink_input_port_removed.comp !=
-                                       ev_b->data.graph_sink_input_port_removed.comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.graph_sink_input_port_removed.port !=
-                                       ev_b->data.graph_sink_input_port_removed.port) {
-                               return false;
-                       }
-                       break;
                case GRAPH_SRC_SINK_PORTS_CONNECTED:
                        if (ev_a->data.graph_src_sink_ports_connected.upstream_comp !=
                                        ev_b->data.graph_src_sink_ports_connected.upstream_comp) {
@@ -303,27 +225,6 @@ bool compare_events(struct event *ev_a, struct event *ev_b)
                                return false;
                        }
                        break;
-               case GRAPH_SRC_SINK_PORTS_DISCONNECTED:
-                       if (ev_a->data.graph_src_sink_ports_disconnected.upstream_comp !=
-                                       ev_b->data.graph_src_sink_ports_disconnected.upstream_comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.graph_src_sink_ports_disconnected.downstream_comp !=
-                                       ev_b->data.graph_src_sink_ports_disconnected.downstream_comp) {
-                               return false;
-                       }
-
-                       if (ev_a->data.graph_src_sink_ports_disconnected.upstream_port !=
-                                       ev_b->data.graph_src_sink_ports_disconnected.upstream_port) {
-                               return false;
-                       }
-
-                       if (ev_a->data.graph_src_sink_ports_disconnected.downstream_port !=
-                                       ev_b->data.graph_src_sink_ports_disconnected.downstream_port) {
-                               return false;
-                       }
-                       break;
                default:
                        abort();
        }
@@ -483,55 +384,6 @@ bt_self_component_status sink_input_port_connected(
        }
 }
 
-static
-void src_output_port_disconnected(bt_self_component_source *self_comp,
-               bt_self_component_port_output *self_comp_port)
-{
-       int ret;
-       struct event event = {
-               .type = SRC_COMP_OUTPUT_PORT_DISCONNECTED,
-               .data.src_comp_output_port_disconnected = {
-                       .comp = bt_self_component_as_component(
-                               bt_self_component_source_as_self_component(
-                                       self_comp)),
-                       .self_port = bt_self_component_port_as_port(
-                               bt_self_component_port_output_as_self_component_port(
-                                       self_comp_port)),
-               },
-       };
-
-       append_event(&event);
-
-       switch (current_test) {
-       case TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT:
-               ret = bt_self_component_port_remove_from_component(
-                       bt_self_component_port_output_as_self_component_port(
-                                       self_comp_port));
-               BT_ASSERT(ret == 0);
-       default:
-               break;
-       }
-}
-
-static
-void sink_input_port_disconnected(bt_self_component_sink *self_comp,
-               bt_self_component_port_input *self_comp_port)
-{
-       struct event event = {
-               .type = SINK_COMP_INPUT_PORT_DISCONNECTED,
-               .data.sink_comp_input_port_disconnected = {
-                       .comp = bt_self_component_as_component(
-                               bt_self_component_sink_as_self_component(
-                                       self_comp)),
-                       .self_port = bt_self_component_port_as_port(
-                               bt_self_component_port_input_as_self_component_port(
-                                       self_comp_port)),
-               },
-       };
-
-       append_event(&event);
-}
-
 static
 bt_self_component_status src_init(
        bt_self_component_source *self_comp,
@@ -562,24 +414,6 @@ static
 bt_self_component_status sink_consume(
                bt_self_component_sink *self_comp)
 {
-       bt_self_component_port_input *def_port;
-       int ret;
-
-       switch (current_test) {
-       case TEST_SINK_REMOVES_PORT_IN_CONSUME:
-       case TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT:
-               def_port = bt_self_component_sink_borrow_input_port_by_name(
-                       self_comp, "in");
-               BT_ASSERT(def_port);
-               ret = bt_self_component_port_remove_from_component(
-                       bt_self_component_port_input_as_self_component_port(
-                               def_port));
-               BT_ASSERT(ret == 0);
-               break;
-       default:
-               break;
-       }
-
        return BT_SELF_COMPONENT_STATUS_OK;
 }
 
@@ -613,36 +447,6 @@ void graph_sink_input_port_added(const bt_component_sink *comp,
        append_event(&event);
 }
 
-static
-void graph_src_output_port_removed(const bt_component_source *comp,
-               const bt_port_output *port, void *data)
-{
-       struct event event = {
-               .type = GRAPH_SRC_OUTPUT_PORT_REMOVED,
-               .data.graph_src_output_port_removed = {
-                       .comp = bt_component_source_as_component_const(comp),
-                       .port = bt_port_output_as_port_const(port),
-               },
-       };
-
-       append_event(&event);
-}
-
-static
-void graph_sink_input_port_removed(const bt_component_sink *comp,
-               const bt_port_input *port, void *data)
-{
-       struct event event = {
-               .type = GRAPH_SINK_INPUT_PORT_REMOVED,
-               .data.graph_sink_input_port_removed = {
-                       .comp = bt_component_sink_as_component_const(comp),
-                       .port = bt_port_input_as_port_const(port),
-               },
-       };
-
-       append_event(&event);
-}
-
 static
 void graph_src_sink_ports_connected(const bt_component_source *upstream_comp,
                const bt_component_sink *downstream_comp,
@@ -666,29 +470,6 @@ void graph_src_sink_ports_connected(const bt_component_source *upstream_comp,
        append_event(&event);
 }
 
-static
-void graph_src_sink_ports_disconnected(const bt_component_source *upstream_comp,
-               const bt_component_sink *downstream_comp,
-               const bt_port_output *upstream_port,
-               const bt_port_input *downstream_port, void *data)
-{
-       struct event event = {
-               .type = GRAPH_SRC_SINK_PORTS_DISCONNECTED,
-               .data.graph_src_sink_ports_disconnected = {
-                       .upstream_comp =
-                               bt_component_source_as_component_const(upstream_comp),
-                               .downstream_comp =
-                               bt_component_sink_as_component_const(downstream_comp),
-                               .upstream_port =
-                               bt_port_output_as_port_const(upstream_port),
-                               .downstream_port =
-                               bt_port_input_as_port_const(downstream_port),
-               },
-       };
-
-       append_event(&event);
-}
-
 static
 void init_test(void)
 {
@@ -706,9 +487,6 @@ void init_test(void)
        ret = bt_component_class_source_set_output_port_connected_method(
                src_comp_class, src_output_port_connected);
        BT_ASSERT(ret == 0);
-       ret = bt_component_class_source_set_output_port_disconnected_method(
-               src_comp_class, src_output_port_disconnected);
-       BT_ASSERT(ret == 0);
        sink_comp_class = bt_component_class_sink_create("sink",
                sink_consume);
        BT_ASSERT(sink_comp_class);
@@ -721,9 +499,6 @@ void init_test(void)
        ret = bt_component_class_sink_set_input_port_connected_method(
                sink_comp_class, sink_input_port_connected);
        BT_ASSERT(ret == 0);
-       ret = bt_component_class_sink_set_input_port_disconnected_method(
-               sink_comp_class, sink_input_port_disconnected);
-       BT_ASSERT(ret == 0);
        events = g_array_new(FALSE, TRUE, sizeof(struct event));
        BT_ASSERT(events);
 }
@@ -773,18 +548,9 @@ bt_graph *create_graph(void)
        ret = bt_graph_add_sink_component_input_port_added_listener(
                graph, graph_sink_input_port_added, NULL, NULL, NULL);
        BT_ASSERT(ret >= 0);
-       ret = bt_graph_add_source_component_output_port_removed_listener(
-               graph, graph_src_output_port_removed, NULL, NULL, NULL);
-       BT_ASSERT(ret >= 0);
-       ret = bt_graph_add_sink_component_input_port_removed_listener(
-               graph, graph_sink_input_port_removed, NULL, NULL, NULL);
-       BT_ASSERT(ret >= 0);
        ret = bt_graph_add_source_sink_component_ports_connected_listener(
                graph, graph_src_sink_ports_connected, NULL, NULL, NULL);
        BT_ASSERT(ret >= 0);
-       ret = bt_graph_add_source_sink_component_ports_disconnected_listener(
-               graph, graph_src_sink_ports_disconnected, NULL, NULL, NULL);
-       BT_ASSERT(ret >= 0);
        return graph;
 }
 
@@ -796,354 +562,6 @@ void prepare_test(enum test test, const char *name)
        diag("test: %s", name);
 }
 
-static
-void test_sink_removes_port_in_consume_then_src_removes_disconnected_port(void)
-{
-       int ret;
-       const bt_component_source *src;
-       const bt_component_sink *sink;
-       const bt_component *gsrc;
-       const bt_component *gsink;
-       bt_graph *graph;
-       const bt_port_output *src_def_port;
-       const bt_port_input *sink_def_port;
-       const bt_port *gsrc_def_port;
-       const bt_port *gsink_def_port;
-       struct event event;
-       bt_graph_status status;
-       size_t src_accept_port_connection_pos;
-       size_t sink_accept_port_connection_pos;
-       size_t src_port_connected_pos;
-       size_t sink_port_connected_pos;
-       size_t graph_ports_connected_pos;
-       size_t src_port_disconnected_pos;
-       size_t sink_port_disconnected_pos;
-       size_t graph_ports_disconnected_pos;
-       size_t graph_port_removed_src_pos;
-       size_t graph_port_removed_sink_pos;
-
-       prepare_test(TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT,
-               "sink removes port in consume, then source removes disconnected port");
-       graph = create_graph();
-       BT_ASSERT(graph);
-       src = create_src(graph);
-       sink = create_sink(graph);
-       src_def_port = bt_component_source_borrow_output_port_by_name_const(src,
-                                                                           "out");
-       BT_ASSERT(src_def_port);
-       sink_def_port = bt_component_sink_borrow_input_port_by_name_const(sink,
-                                                                         "in");
-       BT_ASSERT(sink_def_port);
-       status = bt_graph_connect_ports(graph, src_def_port,
-               sink_def_port, NULL);
-       BT_ASSERT(status == 0);
-       gsrc = bt_component_source_as_component_const(src);
-       gsink = bt_component_sink_as_component_const(sink);
-       gsrc_def_port = bt_port_output_as_port_const(src_def_port);
-       gsink_def_port = bt_port_input_as_port_const(sink_def_port);
-
-       /* We're supposed to have 7 events so far */
-       ok(events->len == 7, "we have the expected number of events (before consume)");
-
-       /* Source's port added */
-       event.type = GRAPH_SRC_OUTPUT_PORT_ADDED;
-       event.data.graph_src_output_port_added.comp = gsrc;
-       event.data.graph_src_output_port_added.port = gsrc_def_port;
-       ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
-
-       /* Sink's port added */
-       event.type = GRAPH_SINK_INPUT_PORT_ADDED;
-       event.data.graph_sink_input_port_added.comp = gsink;
-       event.data.graph_sink_input_port_added.port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
-
-       /* Source's accept port connection */
-       event.type = SRC_COMP_ACCEPT_OUTPUT_PORT_CONNECTION;
-       event.data.src_comp_accept_output_port_connection.comp = gsrc;
-       event.data.src_comp_accept_output_port_connection.self_port = gsrc_def_port;
-       event.data.src_comp_accept_output_port_connection.other_port = gsink_def_port;
-       ok(has_event(&event), "got the expected source's accept port connection event");
-       src_accept_port_connection_pos = event_pos(&event);
-
-       /* Sink's accept port connection */
-       event.type = SINK_COMP_ACCEPT_INPUT_PORT_CONNECTION;
-       event.data.sink_comp_accept_input_port_connection.comp = gsink;
-       event.data.sink_comp_accept_input_port_connection.self_port = gsink_def_port;
-       event.data.sink_comp_accept_input_port_connection.other_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected sink's accept port connection event");
-       sink_accept_port_connection_pos = event_pos(&event);
-
-       /* Source's port connected */
-       event.type = SRC_COMP_OUTPUT_PORT_CONNECTED;
-       event.data.src_comp_output_port_connected.comp = gsrc;
-       event.data.src_comp_output_port_connected.self_port = gsrc_def_port;
-       event.data.src_comp_output_port_connected.other_port = gsink_def_port;
-       ok(has_event(&event), "got the expected source's port connected event");
-       src_port_connected_pos = event_pos(&event);
-
-       /* Sink's port connected */
-       event.type = SINK_COMP_INPUT_PORT_CONNECTED;
-       event.data.sink_comp_input_port_connected.comp = gsink;
-       event.data.sink_comp_input_port_connected.self_port = gsink_def_port;
-       event.data.sink_comp_input_port_connected.other_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected sink's port connected event");
-       sink_port_connected_pos = event_pos(&event);
-
-       /* Graph's ports connected */
-       event.type = GRAPH_SRC_SINK_PORTS_CONNECTED;
-       event.data.graph_src_sink_ports_connected.upstream_comp = gsrc;
-       event.data.graph_src_sink_ports_connected.downstream_comp = gsink;
-       event.data.graph_src_sink_ports_connected.upstream_port = gsrc_def_port;
-       event.data.graph_src_sink_ports_connected.downstream_port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's ports connected event");
-       graph_ports_connected_pos = event_pos(&event);
-
-       /* Order of events */
-       ok(src_port_connected_pos < graph_ports_connected_pos,
-               "event order is good (1)");
-       ok(sink_port_connected_pos < graph_ports_connected_pos,
-               "event order is good (2)");
-       ok(src_accept_port_connection_pos < src_port_connected_pos,
-               "event order is good (3)");
-       ok(sink_accept_port_connection_pos < sink_port_connected_pos,
-               "event order is good (4)");
-
-       /* Consume sink once */
-       clear_events();
-       ret = bt_graph_consume(graph);
-       BT_ASSERT(ret == 0);
-
-       /* We're supposed to have 5 new events */
-       ok(events->len == 5, "we have the expected number of events (after consume)");
-
-       /* Source's port disconnected */
-       event.type = SRC_COMP_OUTPUT_PORT_DISCONNECTED;
-       event.data.src_comp_output_port_disconnected.comp = gsrc;
-       event.data.src_comp_output_port_disconnected.self_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected source's port disconnected event");
-       src_port_disconnected_pos = event_pos(&event);
-
-       /* Sink's port disconnected */
-       event.type = SINK_COMP_INPUT_PORT_DISCONNECTED;
-       event.data.sink_comp_input_port_disconnected.comp = gsink;
-       event.data.sink_comp_input_port_disconnected.self_port = gsink_def_port;
-       ok(has_event(&event), "got the expected sink's port disconnected event");
-       sink_port_disconnected_pos = event_pos(&event);
-
-       /* Graph's ports disconnected */
-       event.type = GRAPH_SRC_SINK_PORTS_DISCONNECTED;
-       event.data.graph_src_sink_ports_disconnected.upstream_comp = gsrc;
-       event.data.graph_src_sink_ports_disconnected.downstream_comp = gsink;
-       event.data.graph_src_sink_ports_disconnected.upstream_port = gsrc_def_port;
-       event.data.graph_src_sink_ports_disconnected.downstream_port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's ports disconnected event");
-       graph_ports_disconnected_pos = event_pos(&event);
-
-       /* Graph's port removed (sink) */
-       event.type = GRAPH_SINK_INPUT_PORT_REMOVED;
-       event.data.graph_sink_input_port_removed.comp = gsink;
-       event.data.graph_sink_input_port_removed.port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's port removed event (for sink)");
-       graph_port_removed_sink_pos = event_pos(&event);
-
-       /* Graph's port removed (source) */
-       event.type = GRAPH_SRC_OUTPUT_PORT_REMOVED;
-       event.data.graph_src_output_port_removed.comp = gsrc;
-       event.data.graph_src_output_port_removed.port = gsrc_def_port;
-       ok(has_event(&event), "got the expected graph's port removed event (for source)");
-       graph_port_removed_src_pos = event_pos(&event);
-
-       /* Order of events */
-       ok(src_port_disconnected_pos < graph_ports_disconnected_pos,
-               "event order is good (5)");
-       ok(src_port_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (6)");
-       ok(src_port_disconnected_pos < graph_port_removed_src_pos,
-               "event order is good (7)");
-       ok(sink_port_disconnected_pos < graph_ports_disconnected_pos,
-               "event order is good (8)");
-       ok(sink_port_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (9)");
-       ok(sink_port_disconnected_pos < graph_port_removed_src_pos,
-               "event order is good (10)");
-       ok(graph_ports_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (11)");
-       ok(graph_port_removed_src_pos < graph_ports_disconnected_pos,
-               "event order is good (12)");
-       ok(graph_port_removed_src_pos < graph_port_removed_sink_pos,
-               "event order is good (13)");
-
-       bt_graph_put_ref(graph);
-       bt_component_sink_put_ref(sink);
-       bt_component_source_put_ref(src);
-}
-
-static
-void test_sink_removes_port_in_consume(void)
-{
-       int ret;
-       const bt_component_source *src;
-       const bt_component_sink *sink;
-       const bt_component *gsrc;
-       const bt_component *gsink;
-       bt_graph *graph;
-       const bt_port_output *src_def_port;
-       const bt_port_input *sink_def_port;
-       const bt_port *gsrc_def_port;
-       const bt_port *gsink_def_port;
-       struct event event;
-       bt_graph_status status;
-       size_t src_accept_port_connection_pos;
-       size_t sink_accept_port_connection_pos;
-       size_t src_port_connected_pos;
-       size_t sink_port_connected_pos;
-       size_t graph_ports_connected_pos;
-       size_t src_port_disconnected_pos;
-       size_t sink_port_disconnected_pos;
-       size_t graph_ports_disconnected_pos;
-       size_t graph_port_removed_sink_pos;
-
-       prepare_test(TEST_SINK_REMOVES_PORT_IN_CONSUME,
-               "sink removes port in consume");
-       graph = create_graph();
-       BT_ASSERT(graph);
-       src = create_src(graph);
-       sink = create_sink(graph);
-       src_def_port = bt_component_source_borrow_output_port_by_name_const(src,
-                                                                           "out");
-       BT_ASSERT(src_def_port);
-       sink_def_port = bt_component_sink_borrow_input_port_by_name_const(sink,
-                                                                         "in");
-       BT_ASSERT(sink_def_port);
-       status = bt_graph_connect_ports(graph, src_def_port,
-               sink_def_port, NULL);
-       BT_ASSERT(status == 0);
-       gsrc = bt_component_source_as_component_const(src);
-       gsink = bt_component_sink_as_component_const(sink);
-       gsrc_def_port = bt_port_output_as_port_const(src_def_port);
-       gsink_def_port = bt_port_input_as_port_const(sink_def_port);
-
-       /* We're supposed to have 7 events so far */
-       ok(events->len == 7, "we have the expected number of events (before consume)");
-
-       /* Source's port added */
-       event.type = GRAPH_SRC_OUTPUT_PORT_ADDED;
-       event.data.graph_src_output_port_added.comp = gsrc;
-       event.data.graph_src_output_port_added.port = gsrc_def_port;
-       ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
-
-       /* Sink's port added */
-       event.type = GRAPH_SINK_INPUT_PORT_ADDED;
-       event.data.graph_sink_input_port_added.comp = gsink;
-       event.data.graph_sink_input_port_added.port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
-
-       /* Source's accept port connection */
-       event.type = SRC_COMP_ACCEPT_OUTPUT_PORT_CONNECTION;
-       event.data.src_comp_accept_output_port_connection.comp = gsrc;
-       event.data.src_comp_accept_output_port_connection.self_port = gsrc_def_port;
-       event.data.src_comp_accept_output_port_connection.other_port = gsink_def_port;
-       ok(has_event(&event), "got the expected source's accept port connection event");
-       src_accept_port_connection_pos = event_pos(&event);
-
-       /* Sink's accept port connection */
-       event.type = SINK_COMP_ACCEPT_INPUT_PORT_CONNECTION;
-       event.data.sink_comp_accept_input_port_connection.comp = gsink;
-       event.data.sink_comp_accept_input_port_connection.self_port = gsink_def_port;
-       event.data.sink_comp_accept_input_port_connection.other_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected sink's accept port connection event");
-       sink_accept_port_connection_pos = event_pos(&event);
-
-       /* Source's port connected */
-       event.type = SRC_COMP_OUTPUT_PORT_CONNECTED;
-       event.data.src_comp_output_port_connected.comp = gsrc;
-       event.data.src_comp_output_port_connected.self_port = gsrc_def_port;
-       event.data.src_comp_output_port_connected.other_port = gsink_def_port;
-       ok(has_event(&event), "got the expected source's port connected event");
-       src_port_connected_pos = event_pos(&event);
-
-       /* Sink's port connected */
-       event.type = SINK_COMP_INPUT_PORT_CONNECTED;
-       event.data.sink_comp_input_port_connected.comp = gsink;
-       event.data.sink_comp_input_port_connected.self_port = gsink_def_port;
-       event.data.sink_comp_input_port_connected.other_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected sink's port connected event");
-       sink_port_connected_pos = event_pos(&event);
-
-       /* Graph's ports connected */
-       event.type = GRAPH_SRC_SINK_PORTS_CONNECTED;
-       event.data.graph_src_sink_ports_connected.upstream_comp = gsrc;
-       event.data.graph_src_sink_ports_connected.downstream_comp = gsink;
-       event.data.graph_src_sink_ports_connected.upstream_port = gsrc_def_port;
-       event.data.graph_src_sink_ports_connected.downstream_port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's ports connected event");
-       graph_ports_connected_pos = event_pos(&event);
-
-       /* Order of events */
-       ok(src_port_connected_pos < graph_ports_connected_pos,
-               "event order is good (1)");
-       ok(sink_port_connected_pos < graph_ports_connected_pos,
-               "event order is good (2)");
-       ok(src_accept_port_connection_pos < src_port_connected_pos,
-               "event order is good (3)");
-       ok(sink_accept_port_connection_pos < sink_port_connected_pos,
-               "event order is good (4)");
-
-       /* Consume sink once */
-       clear_events();
-       ret = bt_graph_consume(graph);
-       BT_ASSERT(ret == 0);
-
-       /* We're supposed to have 4 new events */
-       ok(events->len == 4, "we have the expected number of events (after consume)");
-
-       /* Source's port disconnected */
-       event.type = SRC_COMP_OUTPUT_PORT_DISCONNECTED;
-       event.data.src_comp_output_port_disconnected.comp = gsrc;
-       event.data.src_comp_output_port_disconnected.self_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected source's port disconnected event");
-       src_port_disconnected_pos = event_pos(&event);
-
-       /* Sink's port disconnected */
-       event.type = SINK_COMP_INPUT_PORT_DISCONNECTED;
-       event.data.sink_comp_input_port_disconnected.comp = gsink;
-       event.data.sink_comp_input_port_disconnected.self_port = gsink_def_port;
-       ok(has_event(&event), "got the expected sink's port disconnected event");
-       sink_port_disconnected_pos = event_pos(&event);
-
-       /* Graph's ports disconnected */
-       event.type = GRAPH_SRC_SINK_PORTS_DISCONNECTED;
-       event.data.graph_src_sink_ports_disconnected.upstream_comp = gsrc;
-       event.data.graph_src_sink_ports_disconnected.downstream_comp = gsink;
-       event.data.graph_src_sink_ports_disconnected.upstream_port = gsrc_def_port;
-       event.data.graph_src_sink_ports_disconnected.downstream_port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's ports disconnected event");
-       graph_ports_disconnected_pos = event_pos(&event);
-
-       /* Graph's port removed (sink) */
-       event.type = GRAPH_SINK_INPUT_PORT_REMOVED;
-       event.data.graph_sink_input_port_removed.comp = gsink;
-       event.data.graph_sink_input_port_removed.port = gsink_def_port;
-       ok(has_event(&event), "got the expected graph's port removed event (for sink)");
-       graph_port_removed_sink_pos = event_pos(&event);
-
-       /* Order of events */
-       ok(src_port_disconnected_pos < graph_ports_disconnected_pos,
-               "event order is good (5)");
-       ok(src_port_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (7)");
-       ok(sink_port_disconnected_pos < graph_ports_disconnected_pos,
-               "event order is good (8)");
-       ok(sink_port_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (10)");
-       ok(graph_ports_disconnected_pos < graph_port_removed_sink_pos,
-               "event order is good (11)");
-
-       bt_component_sink_put_ref(sink);
-       bt_component_source_put_ref(src);
-       bt_graph_put_ref(graph);
-}
-
 static
 void test_src_adds_port_in_port_connected(void)
 {
@@ -1488,7 +906,6 @@ void test_sink_port_connected_error(void)
        size_t src_accept_port_connection_pos;
        size_t sink_accept_port_connection_pos;
        size_t src_port_connected_pos;
-       size_t src_port_disconnected_pos;
        size_t sink_port_connected_pos;
 
        prepare_test(TEST_SINK_PORT_CONNECTED_ERROR, "port connected error: sink");
@@ -1512,8 +929,8 @@ void test_sink_port_connected_error(void)
        gsrc_def_port = bt_port_output_as_port_const(src_def_port);
        gsink_def_port = bt_port_input_as_port_const(sink_def_port);
 
-       /* We're supposed to have 5 events */
-       ok(events->len == 7, "we have the expected number of events");
+       /* We're supposed to have 6 events */
+       ok(events->len == 6, "we have the expected number of events");
 
        /* Source's port added */
        event.type = GRAPH_SRC_OUTPUT_PORT_ADDED;
@@ -1559,20 +976,11 @@ void test_sink_port_connected_error(void)
        ok(has_event(&event), "got the expected sink's port connected event");
        sink_port_connected_pos = event_pos(&event);
 
-       /* Source's port disconnected */
-       event.type = SRC_COMP_OUTPUT_PORT_DISCONNECTED;
-       event.data.src_comp_output_port_disconnected.comp = gsrc;
-       event.data.src_comp_output_port_disconnected.self_port = gsrc_def_port;
-       ok(has_event(&event), "got the expected source's port disconnected event");
-       src_port_disconnected_pos = event_pos(&event);
-
        /* Order of events */
        ok(src_accept_port_connection_pos < src_port_connected_pos,
                "event order is good (1)");
        ok(sink_accept_port_connection_pos < sink_port_connected_pos,
                "event order is good (2)");
-       ok(sink_port_connected_pos < src_port_disconnected_pos,
-               "event order is good (3)");
 
        bt_connection_put_ref(conn);
        bt_graph_put_ref(graph);
@@ -1600,8 +1008,6 @@ int main(int argc, char **argv)
        test_src_port_connected_error();
        test_sink_port_connected_error();
        test_src_adds_port_in_port_connected();
-       test_sink_removes_port_in_consume();
-       test_sink_removes_port_in_consume_then_src_removes_disconnected_port();
        fini_test();
        return exit_status();
 }
This page took 0.031326 seconds and 4 git commands to generate.