#include <babeltrace2/value-const.h>
#include "lib/value.h"
#include <unistd.h>
+#include <stdbool.h>
#include <glib.h>
#include "component-class-sink-simple.h"
consume_status == BT_FUNC_STATUS_MEMORY_ERROR,
"Invalid component status returned by consuming method: "
"status=%s", bt_common_func_status_string(consume_status));
+ BT_ASSERT_POST_DEV_NO_ERROR_IF_NO_ERROR_STATUS(consume_status);
if (consume_status) {
if (consume_status < 0) {
BT_LIB_LOGW_APPEND_CAUSE(
}
} while (status == BT_FUNC_STATUS_OK);
- if (g_queue_is_empty(graph->sinks_to_consume)) {
- status = BT_FUNC_STATUS_END;
+ if (status == BT_FUNC_STATUS_END) {
+ /*
+ * The last call to consume_no_check() returned
+ * `BT_FUNC_STATUS_END`, but bt_graph_run() has no
+ * `BT_GRAPH_RUN_STATUS_END` status: replace with
+ * `BT_GRAPH_RUN_STATUS_OK` (success: graph ran
+ * completely).
+ */
+ status = BT_FUNC_STATUS_OK;
}
end:
listeners = graph->listeners.source_output_port_added;
break;
default:
- abort();
+ bt_common_abort();
}
break;
listeners = graph->listeners.filter_output_port_added;
break;
default:
- abort();
+ bt_common_abort();
}
break;
listeners = graph->listeners.sink_input_port_added;
break;
default:
- abort();
+ bt_common_abort();
}
break;
}
default:
- abort();
+ bt_common_abort();
}
for (i = 0; i < listeners->len; i++) {
BT_ASSERT(listener->func);
status = listener->func(comp, port, listener->base.data);
+ BT_ASSERT_POST_NO_ERROR_IF_NO_ERROR_STATUS(status);
if (status != BT_FUNC_STATUS_OK) {
goto end;
}
graph->listeners.source_sink_ports_connected;
break;
default:
- abort();
+ bt_common_abort();
}
break;
graph->listeners.filter_sink_ports_connected;
break;
default:
- abort();
+ bt_common_abort();
}
break;
}
default:
- abort();
+ bt_common_abort();
}
for (i = 0; i < listeners->len; i++) {
BT_ASSERT(listener->func);
status = listener->func(upstream_comp, downstream_comp,
upstream_port, downstream_port, listener->base.data);
+ BT_ASSERT_POST_DEV_NO_ERROR_IF_NO_ERROR_STATUS(status);
if (status != BT_FUNC_STATUS_OK) {
goto end;
}
init_status = init_method(component, NULL, params, init_method_data);
BT_LOGD("User method returned: status=%s",
bt_common_func_status_string(init_status));
+ BT_ASSERT_POST_DEV_NO_ERROR_IF_NO_ERROR_STATUS(init_status);
if (init_status != BT_FUNC_STATUS_OK) {
if (init_status < 0) {
BT_LIB_LOGW_APPEND_CAUSE(