Fix: various fixes for ctf-traces/succeed test cases
[babeltrace.git] / lib / ctf-ir / event.c
index f61454e96ccb55a87371aa7498419c005adc3a3f..d1a7f777658b0cc2b010d89842d7942fc453d067 100644 (file)
@@ -98,9 +98,6 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
                goto error;
        }
 
-       /* A stream class should always have an existing event header type */
-       assert(stream_class->event_header_type);
-
        /* The event class was frozen when added to its stream class */
        assert(event_class->frozen);
 
@@ -145,7 +142,7 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
        if ((validation_output.valid_flags & validation_flags) !=
                        validation_flags) {
                /* Invalid trace/stream class/event class */
-               BT_LOGE("Invalid trace, stream class, or event class: "
+               BT_LOGW("Invalid trace, stream class, or event class: "
                        "valid-flags=0x%x", validation_output.valid_flags);
                goto error;
        }
@@ -174,14 +171,21 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
        event->event_class = bt_get(event_class);
        event->clock_values = g_hash_table_new_full(g_direct_hash,
                        g_direct_equal, bt_put, bt_put);
-       event_header =
-               bt_ctf_field_create(validation_output.event_header_type);
-       if (!event_header) {
-               BT_LOGE_STR("Cannot create initial event header field object.");
-               goto error;
+
+       if (validation_output.event_header_type) {
+               BT_LOGD("Creating initial event header field: ft-addr=%p",
+                       validation_output.event_header_type);
+               event_header =
+                       bt_ctf_field_create(validation_output.event_header_type);
+               if (!event_header) {
+                       BT_LOGE_STR("Cannot create initial event header field object.");
+                       goto error;
+               }
        }
 
        if (validation_output.stream_event_ctx_type) {
+               BT_LOGD("Creating initial stream event context field: ft-addr=%p",
+                       validation_output.stream_event_ctx_type);
                stream_event_context = bt_ctf_field_create(
                        validation_output.stream_event_ctx_type);
                if (!stream_event_context) {
@@ -191,6 +195,8 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
        }
 
        if (validation_output.event_context_type) {
+               BT_LOGD("Creating initial event context field: ft-addr=%p",
+                       validation_output.event_context_type);
                event_context = bt_ctf_field_create(
                        validation_output.event_context_type);
                if (!event_context) {
@@ -200,6 +206,8 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
        }
 
        if (validation_output.event_payload_type) {
+               BT_LOGD("Creating initial event payload field: ft-addr=%p",
+                       validation_output.event_payload_type);
                event_payload = bt_ctf_field_create(
                        validation_output.event_payload_type);
                if (!event_payload) {
@@ -924,20 +932,12 @@ int bt_ctf_event_serialize(struct bt_ctf_event *event,
        assert(event);
        assert(pos);
 
-       BT_LOGV("Serializing event: "
-               "event-addr=%p, event-class-name=\"%s\", "
-               "event-class-id=%" PRId64 ", pos-offset=%" PRId64 ", "
-               "native-bo=%s",
-               event, bt_ctf_event_class_get_name(event->event_class),
-               bt_ctf_event_class_get_id(event->event_class),
-               pos->offset, bt_ctf_byte_order_string(native_byte_order));
-
-       BT_LOGV_STR("Serializing context field.");
+       BT_LOGV_STR("Serializing event's context field.");
        if (event->context_payload) {
                ret = bt_ctf_field_serialize(event->context_payload, pos,
                        native_byte_order);
                if (ret) {
-                       BT_LOGE("Cannot serialize event's context field: "
+                       BT_LOGW("Cannot serialize event's context field: "
                                "event-addr=%p, event-class-name=\"%s\", "
                                "event-class-id=%" PRId64,
                                event,
@@ -947,12 +947,12 @@ int bt_ctf_event_serialize(struct bt_ctf_event *event,
                }
        }
 
-       BT_LOGV_STR("Serializing payload field.");
+       BT_LOGV_STR("Serializing event's payload field.");
        if (event->fields_payload) {
                ret = bt_ctf_field_serialize(event->fields_payload, pos,
                        native_byte_order);
                if (ret) {
-                       BT_LOGE("Cannot serialize event's payload field: "
+                       BT_LOGW("Cannot serialize event's payload field: "
                                "event-addr=%p, event-class-name=\"%s\", "
                                "event-class-id=%" PRId64,
                                event,
This page took 0.024791 seconds and 4 git commands to generate.