- size_t src_accept_port_conn_pos;
- size_t sink_accept_port_conn_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");
- src = create_src();
- sink = create_sink();
- graph = create_graph();
- src_def_port = bt_component_source_get_default_output_port(src);
- assert(src_def_port);
- sink_def_port = bt_component_sink_get_default_input_port(sink);
- assert(sink_def_port);
- conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
- assert(conn);
-
- /* We're supposed to have 3 events so far */
- ok(events->len == 3, "we have the expected number of events (before consume)");
-
- /* Source's accept port connection */
- event.type = COMP_ACCEPT_PORT_CONNECTION;
- event.data.comp_accept_port_connection.comp = src;
- event.data.comp_accept_port_connection.self_port = src_def_port;
- event.data.comp_accept_port_connection.other_port = sink_def_port;
- ok(has_event(&event), "got the expected source's accept port connection event");
- src_accept_port_conn_pos = event_pos(&event);
-
- /* Sink's accept port connection */
- event.type = COMP_ACCEPT_PORT_CONNECTION;
- event.data.comp_accept_port_connection.comp = sink;
- event.data.comp_accept_port_connection.self_port = sink_def_port;
- event.data.comp_accept_port_connection.other_port = src_def_port;
- ok(has_event(&event), "got the expected sink's accept port connection event");
- sink_accept_port_conn_pos = event_pos(&event);
-
- /* Graph's ports connected */
- event.type = GRAPH_PORTS_CONNECTED;
- event.data.graph_ports_connected.upstream_comp = src;
- event.data.graph_ports_connected.downstream_comp = sink;
- event.data.graph_ports_connected.upstream_port = src_def_port;
- event.data.graph_ports_connected.downstream_port = sink_def_port;
- event.data.graph_ports_connected.conn = conn;
- ok(has_event(&event), "got the expected graph's ports connected event");
- graph_ports_connected_pos = event_pos(&event);