tap-driver.sh: flush stdout after each test result
[babeltrace.git] / plugins / ctf / common / metadata / ctf-meta-validate.c
index 16c6532e40d984cffba7fbc0c875bbade50c8edb..6070070c180f4c259ce7b93eb271d3058f8948bf 100644 (file)
@@ -15,9 +15,9 @@
 #define BT_LOG_TAG "PLUGIN-CTF-METADATA-META-VALIDATE"
 #include "logging.h"
 
-#include <babeltrace/babeltrace.h>
-#include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/assert-internal.h>
+#include <babeltrace2/babeltrace.h>
+#include <babeltrace2/babeltrace-internal.h>
+#include <babeltrace2/assert-internal.h>
 #include <glib.h>
 #include <stdint.h>
 #include <string.h>
@@ -31,8 +31,6 @@ int validate_stream_class(struct ctf_stream_class *sc)
        int ret = 0;
        struct ctf_field_class_int *int_fc;
        struct ctf_field_class *fc;
-       bool has_total_size = false;
-       bool has_content_size = false;
 
        if (sc->is_translated) {
                goto end;
@@ -41,8 +39,8 @@ int validate_stream_class(struct ctf_stream_class *sc)
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "timestamp_begin");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`timestamp_begin` member is not an integer field class.");
                        goto invalid;
@@ -60,8 +58,8 @@ int validate_stream_class(struct ctf_stream_class *sc)
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "timestamp_end");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`timestamp_end` member is not an integer field class.");
                        goto invalid;
@@ -79,8 +77,8 @@ int validate_stream_class(struct ctf_stream_class *sc)
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "events_discarded");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`events_discarded` member is not an integer field class.");
                        goto invalid;
@@ -98,8 +96,8 @@ int validate_stream_class(struct ctf_stream_class *sc)
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "packet_seq_num");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`packet_seq_num` member is not an integer field class.");
                        goto invalid;
@@ -117,8 +115,8 @@ int validate_stream_class(struct ctf_stream_class *sc)
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "packet_size");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`packet_size` member is not an integer field class.");
                        goto invalid;
@@ -131,15 +129,13 @@ int validate_stream_class(struct ctf_stream_class *sc)
                                "`packet_size` member is signed.");
                        goto invalid;
                }
-
-               has_total_size = true;
        }
 
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->packet_context_fc, "content_size");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid packet context field class: "
                                "`content_size` member is not an integer field class.");
                        goto invalid;
@@ -152,22 +148,13 @@ int validate_stream_class(struct ctf_stream_class *sc)
                                "`content_size` member is signed.");
                        goto invalid;
                }
-
-               has_content_size = true;
-       }
-
-       if (has_content_size && !has_total_size) {
-                       BT_LOGE_STR("Invalid packet context field class: "
-                               "`content_size` member exists without "
-                               "`packet_size` member.");
-                       goto invalid;
        }
 
        fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                (void *) sc->event_header_fc, "id");
        if (fc) {
-               if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                               fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+               if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                               fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                        BT_LOGE_STR("Invalid event header field class: "
                                "`id` member is not an integer field class.");
                        goto invalid;
@@ -222,8 +209,8 @@ int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc)
                                goto invalid;
                        }
 
-                       if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                                       fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+                       if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                                       fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                                BT_LOGE_STR("Invalid packet header field class: "
                                        "`magic` member is not an integer field class.");
                                goto invalid;
@@ -247,8 +234,8 @@ int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc)
                fc = ctf_field_class_struct_borrow_member_field_class_by_name(
                        (void *) ctf_tc->packet_header_fc, "stream_id");
                if (fc) {
-                       if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                                       fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+                       if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                                       fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                                BT_LOGE_STR("Invalid packet header field class: "
                                        "`stream_id` member is not an integer field class.");
                                goto invalid;
@@ -274,8 +261,8 @@ int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc)
                        (void *) ctf_tc->packet_header_fc,
                        "stream_instance_id");
                if (fc) {
-                       if (fc->id != CTF_FIELD_CLASS_ID_INT &&
-                                       fc->id != CTF_FIELD_CLASS_ID_ENUM) {
+                       if (fc->type != CTF_FIELD_CLASS_TYPE_INT &&
+                                       fc->type != CTF_FIELD_CLASS_TYPE_ENUM) {
                                BT_LOGE_STR("Invalid packet header field class: "
                                        "`stream_instance_id` member is not an integer field class.");
                                goto invalid;
@@ -295,7 +282,7 @@ int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc)
                if (fc) {
                        struct ctf_field_class_array *array_fc = (void *) fc;
 
-                       if (fc->id != CTF_FIELD_CLASS_ID_ARRAY) {
+                       if (fc->type != CTF_FIELD_CLASS_TYPE_ARRAY) {
                                BT_LOGE_STR("Invalid packet header field class: "
                                        "`uuid` member is not an array field class.");
                                goto invalid;
@@ -309,7 +296,7 @@ int ctf_trace_class_validate(struct ctf_trace_class *ctf_tc)
                                goto invalid;
                        }
 
-                       if (array_fc->base.elem_fc->id != CTF_FIELD_CLASS_ID_INT) {
+                       if (array_fc->base.elem_fc->type != CTF_FIELD_CLASS_TYPE_INT) {
                                BT_LOGE_STR("Invalid packet header field class: "
                                        "`uuid` member's element field class is not "
                                        "an integer field class.");
This page took 0.026248 seconds and 4 git commands to generate.