#include <babeltrace/ctf-ir/visitor.h>
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
#define NR_TESTS 13
};
struct expected_result {
- const char *element_name;
- enum bt_ctf_ir_type element_type;
+ const char *object_name;
+ enum bt_ctf_object_type object_type;
};
struct expected_result expected_results[] = {
- { NULL, BT_CTF_IR_TYPE_TRACE },
- { "sc1", BT_CTF_IR_TYPE_STREAM_CLASS },
- { "ec1", BT_CTF_IR_TYPE_EVENT_CLASS },
- { "sc2", BT_CTF_IR_TYPE_STREAM_CLASS },
- { "ec2", BT_CTF_IR_TYPE_EVENT_CLASS },
- { "ec3", BT_CTF_IR_TYPE_EVENT_CLASS },
+ { NULL, BT_CTF_OBJECT_TYPE_TRACE },
+ { "sc1", BT_CTF_OBJECT_TYPE_STREAM_CLASS },
+ { "ec1", BT_CTF_OBJECT_TYPE_EVENT_CLASS },
+ { "sc2", BT_CTF_OBJECT_TYPE_STREAM_CLASS },
+ { "ec2", BT_CTF_OBJECT_TYPE_EVENT_CLASS },
+ { "ec3", BT_CTF_OBJECT_TYPE_EVENT_CLASS },
};
-const char *element_type_str(enum bt_ctf_ir_type type)
+const char *object_type_str(enum bt_ctf_object_type type)
{
switch (type) {
- case BT_CTF_IR_TYPE_TRACE:
+ case BT_CTF_OBJECT_TYPE_TRACE:
return "trace";
- case BT_CTF_IR_TYPE_STREAM_CLASS:
+ case BT_CTF_OBJECT_TYPE_STREAM_CLASS:
return "stream class";
- case BT_CTF_IR_TYPE_STREAM:
+ case BT_CTF_OBJECT_TYPE_STREAM:
return "stream";
- case BT_CTF_IR_TYPE_EVENT_CLASS:
+ case BT_CTF_OBJECT_TYPE_EVENT_CLASS:
return "event class";
- case BT_CTF_IR_TYPE_EVENT:
+ case BT_CTF_OBJECT_TYPE_EVENT:
return "event";
default:
return "unknown";
goto end;
}
+ ret = bt_ctf_trace_set_native_byte_order(trace,
+ BT_CTF_BYTE_ORDER_LITTLE_ENDIAN);
+ assert(ret == 0);
ret = bt_ctf_stream_class_add_event_class(sc1, ec1);
if (ret) {
goto error;
goto end;
}
-int visitor(struct bt_ctf_ir_element *element, void *data)
+int visitor(struct bt_ctf_object *object, void *data)
{
int ret = 0;
bool names_match;
- const char *element_name;
+ const char *object_name;
struct visitor_state *state = data;
struct expected_result *expected = &expected_results[state->i++];
- switch (bt_ctf_ir_element_get_type(element)) {
- case BT_CTF_IR_TYPE_TRACE:
- element_name = NULL;
- names_match = expected->element_name == NULL;
+ switch (bt_ctf_object_get_type(object)) {
+ case BT_CTF_OBJECT_TYPE_TRACE:
+ object_name = NULL;
+ names_match = expected->object_name == NULL;
break;
- case BT_CTF_IR_TYPE_STREAM_CLASS:
- element_name = bt_ctf_stream_class_get_name(
- bt_ctf_ir_element_get_element(element));
- if (!element_name) {
+ case BT_CTF_OBJECT_TYPE_STREAM_CLASS:
+ object_name = bt_ctf_stream_class_get_name(
+ bt_ctf_object_get_object(object));
+ if (!object_name) {
ret = -1;
goto end;
}
- names_match = !strcmp(element_name, expected->element_name);
+ names_match = !strcmp(object_name, expected->object_name);
break;
- case BT_CTF_IR_TYPE_EVENT_CLASS:
- element_name = bt_ctf_event_class_get_name(
- bt_ctf_ir_element_get_element(element));
- if (!element_name) {
+ case BT_CTF_OBJECT_TYPE_EVENT_CLASS:
+ object_name = bt_ctf_event_class_get_name(
+ bt_ctf_object_get_object(object));
+ if (!object_name) {
ret = -1;
goto end;
}
- names_match = !strcmp(element_name, expected->element_name);
+ names_match = !strcmp(object_name, expected->object_name);
break;
default:
diag("Encountered an unexpected type while visiting trace");
goto end;
}
- ok(expected->element_type == bt_ctf_ir_element_get_type(element),
- "Encoutered element type %s, expected %s",
- element_type_str(expected->element_type),
- element_type_str(bt_ctf_ir_element_get_type(element)));
+ ok(expected->object_type == bt_ctf_object_get_type(object),
+ "Encoutered object type %s, expected %s",
+ object_type_str(expected->object_type),
+ object_type_str(bt_ctf_object_get_type(object)));
ok(names_match, "Element name is %s, expected %s",
- element_name ? : "NULL",
- expected->element_name ? : "NULL");
+ object_name ? : "NULL",
+ expected->object_name ? : "NULL");
end:
return ret;
}