#include "tap/tap.h"
-#define NR_TESTS 69
+#define NR_TESTS 77
enum event_type {
COMP_ACCEPT_PORT_CONNECTION,
}
}
- return -1ULL;
+ return SIZE_MAX;
}
static
struct bt_private_port *self_private_port,
struct bt_port *other_port)
{
- struct bt_private_port *port;
+ int ret;
struct event event = {
.type = COMP_PORT_CONNECTED,
switch (current_test) {
case TEST_SRC_ADDS_PORT_IN_PORT_CONNECTED:
- port = bt_private_component_source_add_output_private_port(
- private_component, "hello", NULL);
- assert(port);
- bt_put(port);
+ ret = bt_private_component_source_add_output_private_port(
+ private_component, "hello", NULL, NULL);
+ assert(ret == 0);
break;
default:
break;
enum bt_component_status src_init(struct bt_private_component *priv_comp,
struct bt_value *params, void *init_method_data)
{
- void *priv_port;
+ int ret;
- priv_port = bt_private_component_source_add_output_private_port(
- priv_comp, "out", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_source_add_output_private_port(
+ priv_comp, "out", NULL, NULL);
+ assert(ret == 0);
return BT_COMPONENT_STATUS_OK;
}
enum bt_component_status sink_init(struct bt_private_component *priv_comp,
struct bt_value *params, void *init_method_data)
{
- void *priv_port;
+ int ret;
- priv_port = bt_private_component_sink_add_input_private_port(priv_comp,
- "in", NULL);
- assert(priv_port);
- bt_put(priv_port);
+ ret = bt_private_component_sink_add_input_private_port(priv_comp,
+ "in", NULL, NULL);
+ assert(ret == 0);
return BT_COMPONENT_STATUS_OK;
}
}
static
-struct bt_component *create_src(void)
+struct bt_component *create_src(struct bt_graph *graph)
{
- struct bt_component *comp =
- bt_component_create(src_comp_class, "src-comp", NULL);
+ struct bt_component *comp;
+ int ret;
- assert(comp);
+ ret = bt_graph_add_component(graph, src_comp_class, "src-comp", NULL,
+ &comp);
+ assert(ret == 0);
return comp;
}
static
-struct bt_component *create_sink(void)
+struct bt_component *create_sink(struct bt_graph *graph)
{
- struct bt_component *comp =
- bt_component_create(sink_comp_class, "sink-comp", NULL);
+ struct bt_component *comp;
+ int ret;
- assert(comp);
+ ret = bt_graph_add_component(graph, sink_comp_class, "sink-comp",
+ NULL, &comp);
+ assert(ret == 0);
return comp;
}
assert(graph);
ret = bt_graph_add_port_added_listener(graph, graph_port_added, NULL);
- assert(ret == 0);
+ assert(ret >= 0);
ret = bt_graph_add_port_removed_listener(graph, graph_port_removed,
NULL);
- assert(ret == 0);
+ assert(ret >= 0);
ret = bt_graph_add_ports_connected_listener(graph, graph_ports_connected,
NULL);
- assert(ret == 0);
+ assert(ret >= 0);
ret = bt_graph_add_ports_disconnected_listener(graph,
graph_ports_disconnected, NULL);
- assert(ret == 0);
+ assert(ret >= 0);
return graph;
}
struct bt_port *sink_def_port;
struct bt_connection *conn;
struct event event;
+ enum bt_graph_status status;
size_t src_accept_port_connection_pos;
size_t sink_accept_port_connection_pos;
size_t src_port_connected_pos;
prepare_test(TEST_SINK_REMOVES_PORT_IN_CONSUME_THEN_SRC_REMOVES_DISCONNECTED_PORT,
"sink removes port in consume, then source removes disconnected port");
- src = create_src();
- sink = create_sink();
graph = create_graph();
+ assert(graph);
+ src = create_src(graph);
+ sink = create_sink(graph);
src_def_port = bt_component_source_get_output_port_by_name(src, "out");
assert(src_def_port);
sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
assert(sink_def_port);
- conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
+ status = bt_graph_connect_ports(graph, src_def_port, sink_def_port,
+ &conn);
+ assert(status == 0);
assert(conn);
- /* We're supposed to have 5 events so far */
- ok(events->len == 5, "we have the expected number of events (before consume)");
+ /* 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_PORT_ADDED;
+ event.data.graph_port_added.comp = src;
+ event.data.graph_port_added.port = src_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
+
+ /* Sink's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = sink;
+ event.data.graph_port_added.port = sink_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
/* Source's accept port connection */
event.type = COMP_ACCEPT_PORT_CONNECTION;
struct bt_port *sink_def_port;
struct bt_connection *conn;
struct event event;
+ enum bt_graph_status status;
size_t src_accept_port_connection_pos;
size_t sink_accept_port_connection_pos;
size_t src_port_connected_pos;
prepare_test(TEST_SINK_REMOVES_PORT_IN_CONSUME,
"sink removes port in consume");
- src = create_src();
- sink = create_sink();
graph = create_graph();
+ assert(graph);
+ src = create_src(graph);
+ sink = create_sink(graph);
src_def_port = bt_component_source_get_output_port_by_name(src, "out");
assert(src_def_port);
sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
assert(sink_def_port);
- conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
- assert(conn);
+ status = bt_graph_connect_ports(graph, src_def_port, sink_def_port,
+ &conn);
+ assert(status == 0);
+
+ /* We're supposed to have 7 events so far */
+ ok(events->len == 7, "we have the expected number of events (before consume)");
- /* We're supposed to have 5 events so far */
- ok(events->len == 5, "we have the expected number of events (before consume)");
+ /* Source's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = src;
+ event.data.graph_port_added.port = src_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
+
+ /* Sink's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = sink;
+ event.data.graph_port_added.port = sink_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
/* Source's accept port connection */
event.type = COMP_ACCEPT_PORT_CONNECTION;
struct bt_port *src_hello_port;
struct bt_connection *conn;
struct event event;
+ enum bt_graph_status status;
size_t src_accept_port_connection_pos;
size_t sink_accept_port_connection_pos;
size_t src_port_connected_pos;
prepare_test(TEST_SRC_ADDS_PORT_IN_PORT_CONNECTED,
"source adds port in port connected");
- src = create_src();
- sink = create_sink();
graph = create_graph();
+ assert(graph);
+ src = create_src(graph);
+ sink = create_sink(graph);
src_def_port = bt_component_source_get_output_port_by_name(src, "out");
assert(src_def_port);
sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
assert(sink_def_port);
- conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
- assert(conn);
+ status = bt_graph_connect_ports(graph, src_def_port, sink_def_port,
+ &conn);
+ assert(status == 0);
src_hello_port = bt_component_source_get_output_port_by_name(src,
"hello");
assert(src_hello_port);
- /* We're supposed to have 6 events */
- ok(events->len == 6, "we have the expected number of events");
+ /* We're supposed to have 8 events */
+ ok(events->len == 8, "we have the expected number of events");
+
+ /* Source's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = src;
+ event.data.graph_port_added.port = src_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
+
+ /* Sink's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = sink;
+ event.data.graph_port_added.port = sink_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
/* Source's accept port connection */
event.type = COMP_ACCEPT_PORT_CONNECTION;
struct bt_port *sink_def_port;
struct bt_connection *conn;
struct event event;
+ enum 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 graph_ports_connected_pos;
prepare_test(TEST_SIMPLE, "simple");
- src = create_src();
- sink = create_sink();
graph = create_graph();
+ assert(graph);
+ src = create_src(graph);
+ sink = create_sink(graph);
src_def_port = bt_component_source_get_output_port_by_name(src, "out");
assert(src_def_port);
sink_def_port = bt_component_sink_get_input_port_by_name(sink, "in");
assert(sink_def_port);
- conn = bt_graph_connect_ports(graph, src_def_port, sink_def_port);
- assert(conn);
+ status = bt_graph_connect_ports(graph, src_def_port, sink_def_port,
+ &conn);
+ assert(status == 0);
- /* We're supposed to have 5 events */
- ok(events->len == 5, "we have the expected number of events");
+ /* We're supposed to have 7 events */
+ ok(events->len == 7, "we have the expected number of events");
+
+ /* Source's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = src;
+ event.data.graph_port_added.port = src_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for source, initial)");
+
+ /* Sink's port added */
+ event.type = GRAPH_PORT_ADDED;
+ event.data.graph_port_added.comp = sink;
+ event.data.graph_port_added.port = sink_def_port;
+ ok(has_event(&event), "got the expected graph's port added event (for sink, initial)");
/* Source's accept port connection */
event.type = COMP_ACCEPT_PORT_CONNECTION;