ir: add bt_ctf_clock_class object, modify bt_ctf_clock object
[babeltrace.git] / tests / lib / test_ctf_writer.c
index 696d99ea267899ccd1c8a577ec696f83ea9a3295..a16d895b25942363fa2d03da0cb4bc053c991f77 100644 (file)
@@ -27,6 +27,7 @@
 #include <babeltrace/ctf-writer/event-fields.h>
 #include <babeltrace/ctf-writer/stream-class.h>
 #include <babeltrace/ctf-ir/packet.h>
+#include <babeltrace/ctf-ir/clock-class.h>
 #include <babeltrace/ref.h>
 #include <babeltrace/ctf/events.h>
 #include <babeltrace/values.h>
@@ -59,7 +60,7 @@
 #define DEFAULT_CLOCK_TIME 0
 #define DEFAULT_CLOCK_VALUE 0
 
-#define NR_TESTS 616
+#define NR_TESTS 596
 
 static int64_t current_time = 42;
 
@@ -319,7 +320,6 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
        double ret_double;
        int64_t ret_range_start_int64_t, ret_range_end_int64_t;
        uint64_t ret_range_start_uint64_t, ret_range_end_uint64_t;
-       struct bt_ctf_clock *ret_clock;
        struct bt_ctf_event_class *ret_event_class;
        struct bt_ctf_field *packet_context;
        struct bt_ctf_field *packet_context_field;
@@ -334,7 +334,8 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
 
        ok(uint_12_type, "Create an unsigned integer type");
 
-       bt_ctf_field_type_integer_set_signed(int_64_type, 1);
+       ok(!bt_ctf_field_type_integer_set_signed(int_64_type, 1),
+               "Set signed 64 bit integer signedness to true");
        ok(int_64_type, "Create a signed integer type");
        enum_type = bt_ctf_field_type_enumeration_create(int_64_type);
 
@@ -473,7 +474,7 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
 
        assert(!bt_ctf_event_class_set_id(simple_event_class, 13));
 
-       /* Set an event context type which will contain a single integer*/
+       /* Set an event context type which will contain a single integer*/
        ok(!bt_ctf_field_type_structure_add_field(event_context_type, uint_12_type,
                "event_specific_context"),
                "Add event specific context field");
@@ -482,8 +483,6 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
        ok(bt_ctf_event_class_get_context_type(simple_event_class) == NULL,
                "bt_ctf_event_class_get_context_type returns NULL when no event context type is set");
 
-       ok(bt_ctf_event_class_set_context_type(simple_event_class, NULL) < 0,
-               "bt_ctf_event_class_set_context_type handles a NULL context type correctly");
        ok(bt_ctf_event_class_set_context_type(NULL, event_context_type) < 0,
                "bt_ctf_event_class_set_context_type handles a NULL event class correctly");
        ok(!bt_ctf_event_class_set_context_type(simple_event_class, event_context_type),
@@ -559,13 +558,6 @@ void append_simple_event(struct bt_ctf_stream_class *stream_class,
        ok(simple_event,
                "Instantiate an event containing a single integer field");
 
-       ok(bt_ctf_event_get_clock(NULL) == NULL,
-               "bt_ctf_event_get_clock handles NULL correctly");
-       ret_clock = bt_ctf_event_get_clock(simple_event);
-       ok(ret_clock == clock,
-               "bt_ctf_event_get_clock returns a correct clock");
-       bt_put(clock);
-
        integer_field = bt_ctf_field_create(ep_integer_field_type);
        bt_ctf_field_unsigned_integer_set_value(integer_field, 42);
        ok(bt_ctf_event_set_payload(simple_event, "integer_field",
@@ -793,6 +785,8 @@ void append_complex_event(struct bt_ctf_stream_class *stream_class,
        ok(bt_ctf_field_type_array_get_length(array_type) == ARRAY_TEST_LENGTH,
                "bt_ctf_field_type_array_get_length returns the correct length");
 
+       ok(bt_ctf_field_type_structure_add_field(inner_structure_type,
+               inner_structure_type, "yes"), "Cannot add self to structure");
        ok(!bt_ctf_field_type_structure_add_field(inner_structure_type,
                uint_35_type, "seq_len"), "Add seq_len field to inner structure");
        ok(!bt_ctf_field_type_structure_add_field(inner_structure_type,
@@ -828,10 +822,10 @@ void append_complex_event(struct bt_ctf_stream_class *stream_class,
                "An unknown entry"), "Reject a variant field based on an unknown tag value");
        ok(bt_ctf_field_type_variant_add_field(variant_type, uint_3_type,
                "UINT3_TYPE") == 0, "Add a field to a variant");
-       bt_ctf_field_type_variant_add_field(variant_type, int_16_type,
-               "INT16_TYPE");
-       bt_ctf_field_type_variant_add_field(variant_type, uint_35_type,
-               "UINT35_TYPE");
+       ok(!bt_ctf_field_type_variant_add_field(variant_type, int_16_type,
+               "INT16_TYPE"), "Add INT16_TYPE field to variant");
+       ok(!bt_ctf_field_type_variant_add_field(variant_type, uint_35_type,
+               "UINT35_TYPE"), "Add UINT35_TYPE field to variant");
 
        ok(bt_ctf_field_type_variant_get_tag_type(NULL) == NULL,
                "bt_ctf_field_type_variant_get_tag_type handles NULL correctly");
@@ -1923,7 +1917,9 @@ void type_field_tests()
                "bt_ctf_field_type_integer_get_encoding returns a correct value");
 
        int_16_type = bt_ctf_field_type_integer_create(16);
-       bt_ctf_field_type_integer_set_signed(int_16_type, 1);
+       assert(int_16_type);
+       ok(!bt_ctf_field_type_integer_set_signed(int_16_type, 1),
+               "Set signedness of 16 bit integer to true");
        ok(bt_ctf_field_type_integer_get_signed(int_16_type) == 1,
                "bt_ctf_field_type_integer_get_signed returns a correct value for signed types");
        uint_8_type = bt_ctf_field_type_integer_create(8);
@@ -2292,11 +2288,10 @@ end:
 }
 
 static
-void test_custom_event_header_stream(struct bt_ctf_writer *writer)
+void test_custom_event_header_stream(struct bt_ctf_writer *writer,
+                       struct bt_ctf_clock *clock)
 {
        int i, ret;
-       struct bt_ctf_trace *trace = NULL;
-       struct bt_ctf_clock *clock = NULL;
        struct bt_ctf_stream_class *stream_class = NULL;
        struct bt_ctf_stream *stream = NULL;
        struct bt_ctf_field_type *integer_type = NULL,
@@ -2306,18 +2301,6 @@ void test_custom_event_header_stream(struct bt_ctf_writer *writer)
        struct bt_ctf_event_class *event_class = NULL;
        struct bt_ctf_event *event = NULL;
 
-       trace = bt_ctf_writer_get_trace(writer);
-       if (!trace) {
-               fail("Failed to get trace from writer");
-               goto end;
-       }
-
-       clock = bt_ctf_trace_get_clock(trace, 0);
-       if (!clock) {
-               fail("Failed to get clock from trace");
-               goto end;
-       }
-
        stream_class = bt_ctf_stream_class_create("custom_event_header_stream");
        if (!stream_class) {
                fail("Failed to create stream class");
@@ -2482,8 +2465,6 @@ void test_custom_event_header_stream(struct bt_ctf_writer *writer)
                fail("Failed to flush custom_event_header stream");
        }
 end:
-       bt_put(clock);
-       bt_put(trace);
        bt_put(stream);
        bt_put(stream_class);
        bt_put(event_class);
@@ -2498,11 +2479,10 @@ end:
 }
 
 static
-void test_instanciate_event_before_stream(struct bt_ctf_writer *writer)
+void test_instanciate_event_before_stream(struct bt_ctf_writer *writer,
+               struct bt_ctf_clock *clock)
 {
        int ret = 0;
-       struct bt_ctf_trace *trace = NULL;
-       struct bt_ctf_clock *clock = NULL;
        struct bt_ctf_stream_class *stream_class = NULL;
        struct bt_ctf_stream *stream = NULL,
                *ret_stream = NULL;
@@ -2511,20 +2491,6 @@ void test_instanciate_event_before_stream(struct bt_ctf_writer *writer)
        struct bt_ctf_field_type *integer_type = NULL;
        struct bt_ctf_field *integer = NULL;
 
-       trace = bt_ctf_writer_get_trace(writer);
-       if (!trace) {
-               diag("Failed to get trace from writer");
-               ret = -1;
-               goto end;
-       }
-
-       clock = bt_ctf_trace_get_clock(trace, 0);
-       if (!clock) {
-               diag("Failed to get clock from trace");
-               ret = -1;
-               goto end;
-       }
-
        stream_class = bt_ctf_stream_class_create("event_before_stream_test");
        if (!stream_class) {
                diag("Failed to create stream class");
@@ -2603,7 +2569,6 @@ void test_instanciate_event_before_stream(struct bt_ctf_writer *writer)
 end:
        ok(ret == 0,
                "Create an event before instanciating its associated stream");
-       bt_put(trace);
        bt_put(stream);
        bt_put(ret_stream);
        bt_put(stream_class);
@@ -2611,7 +2576,6 @@ end:
        bt_put(event);
        bt_put(integer_type);
        bt_put(integer);
-       bt_put(clock);
 }
 
 static
@@ -2633,43 +2597,6 @@ void append_existing_event_class(struct bt_ctf_stream_class *stream_class)
        bt_put(event_class);
 }
 
-static
-void test_trace_stream_class_clock(void)
-{
-       struct bt_ctf_trace *trace = NULL;
-       struct bt_ctf_stream_class *sc1 = NULL;
-       struct bt_ctf_stream_class *sc2 = NULL;
-       struct bt_ctf_clock *sc1_clock = NULL;
-       struct bt_ctf_clock *sc2_clock = NULL;
-       const char *clock_name = "hello";
-
-       trace = bt_ctf_trace_create();
-       assert(trace);
-       sc1 = bt_ctf_stream_class_create(NULL);
-       assert(sc1);
-       sc2 = bt_ctf_stream_class_create(NULL);
-       assert(sc2);
-       sc1_clock = bt_ctf_clock_create(clock_name);
-       assert(sc1_clock);
-       sc2_clock = bt_ctf_clock_create(clock_name);
-       assert(sc2_clock);
-
-       ok(!bt_ctf_stream_class_set_clock(sc1, sc1_clock),
-               "bt_ctf_stream_class_set_clock() succeeds for sc1");
-       ok(!bt_ctf_stream_class_set_clock(sc2, sc2_clock),
-               "bt_ctf_stream_class_set_clock() succeeds for sc2");
-       ok(!bt_ctf_trace_add_stream_class(trace, sc1),
-               "bt_ctf_trace_add_stream_class() succeeds with sc1");
-       ok(bt_ctf_trace_add_stream_class(trace, sc2),
-               "bt_ctf_trace_add_stream_class() fails with sc2 (different clock, same name)");
-
-       BT_PUT(trace);
-       BT_PUT(sc1);
-       BT_PUT(sc2);
-       BT_PUT(sc1_clock);
-       BT_PUT(sc2_clock);
-}
-
 static
 struct bt_ctf_event_class *create_minimal_event_class(void)
 {
@@ -2711,7 +2638,7 @@ void test_create_writer_vs_non_writer_mode(void)
        struct bt_ctf_field_type *empty_struct_ft = NULL;
        struct bt_ctf_field *int_field = NULL;
        struct bt_ctf_clock *writer_clock = NULL;
-       struct bt_ctf_clock *non_writer_clock = NULL;
+       struct bt_ctf_clock_class *non_writer_clock_class = NULL;
        struct bt_ctf_packet *packet = NULL;
        struct bt_ctf_packet *packet2 = NULL;
 
@@ -2741,7 +2668,7 @@ void test_create_writer_vs_non_writer_mode(void)
                "bt_ctf_stream_get_name() returns the stream's name");
        writer_clock = bt_ctf_clock_create("writer_clock");
        assert(writer_clock);
-       ret = bt_ctf_trace_add_clock(writer_trace, writer_clock);
+       ret = bt_ctf_writer_add_clock(writer, writer_clock);
        assert(!ret);
 
        /* Create non-writer trace, stream class, stream, and clock */
@@ -2756,9 +2683,11 @@ void test_create_writer_vs_non_writer_mode(void)
        assert(!ret);
        non_writer_stream = bt_ctf_stream_create(non_writer_sc, NULL);
        assert(non_writer_stream);
-       non_writer_clock = bt_ctf_clock_create("non_writer_clock");
-       assert(non_writer_clock);
-       ret = bt_ctf_trace_add_clock(non_writer_trace, non_writer_clock);
+       non_writer_clock_class =
+               bt_ctf_clock_class_create("non_writer_clock_class");
+       assert(non_writer_clock_class);
+       ret = bt_ctf_trace_add_clock_class(non_writer_trace,
+               non_writer_clock_class);
        assert(!ret);
 
        /* Create event class and event */
@@ -2786,24 +2715,6 @@ void test_create_writer_vs_non_writer_mode(void)
        ok(!bt_ctf_stream_append_event(writer_stream, event),
                "bt_ctf_stream_append_event() succeeds with a writer stream");
 
-       /*
-        * Verify that it's possible to get and set the value of a
-        * writer mode clock.
-        */
-       ok (!bt_ctf_clock_set_value(writer_clock, 1000),
-               "bt_ctf_clock_set_value() succeeds with a writer mode clock");
-       ok (bt_ctf_clock_get_value(writer_clock) == 1000,
-               "bt_ctf_clock_get_value() succeeds with a writer mode clock");
-
-       /*
-        * Verify that it's impossible to get and set the value of a
-        * non-writer mode clock.
-        */
-       ok (bt_ctf_clock_set_value(non_writer_clock, 1000),
-               "bt_ctf_clock_set_value() fails with a non-writer mode clock");
-       ok (bt_ctf_clock_get_value(non_writer_clock) == -1ULL,
-               "bt_ctf_clock_get_value() fails with a non-writer mode clock");
-
        /*
         * It should be possible to create a packet from a non-writer
         * stream, but not from a writer stream.
@@ -2889,7 +2800,7 @@ void test_create_writer_vs_non_writer_mode(void)
        bt_put(int_field);
        bt_put(empty_struct_ft);
        bt_put(writer_clock);
-       bt_put(non_writer_clock);
+       bt_put(non_writer_clock_class);
        bt_put(packet);
        bt_put(packet2);
        recursive_rmdir(trace_path);
@@ -2909,17 +2820,40 @@ void test_clock_utils(void)
        assert(!ret);
        ret = bt_ctf_clock_set_frequency(clock, 1000000000);
        assert(!ret);
-       ok(bt_ctf_clock_ns_from_value(clock, 4321) == 1234000005321ULL,
-               "bt_ctf_clock_ns_from_value() returns the correct value with a 1 GHz frequency");
        ret = bt_ctf_clock_set_frequency(clock, 1534);
        assert(!ret);
-       ok(bt_ctf_clock_ns_from_value(clock, 4321) ==
-               (uint64_t) 1237468709256.845,
-               "bt_ctf_clock_ns_from_value() returns the correct value with a non-1 GHz frequency");
 
        BT_PUT(clock);
 }
 
+void test_set_clock_non_writer_stream_class(void)
+{
+       struct bt_ctf_clock *clock;
+       struct bt_ctf_trace *trace;
+       struct bt_ctf_stream_class *sc;
+       int ret;
+
+       clock = bt_ctf_clock_create("the_clock");
+       assert(clock);
+
+       trace = bt_ctf_trace_create();
+       assert(trace);
+
+       sc = bt_ctf_stream_class_create(NULL);
+       assert(sc);
+
+       ret = bt_ctf_stream_class_set_clock(sc, clock);
+       assert(ret == 0);
+
+       ret = bt_ctf_trace_add_stream_class(trace, sc);
+       ok(ret < 0,
+               "bt_ctf_trace_add_stream_class() fails with a stream class with a registered clock");
+
+       bt_put(clock);
+       bt_put(trace);
+       bt_put(sc);
+}
+
 int main(int argc, char **argv)
 {
        char trace_path[] = "/tmp/ctfwriter_XXXXXX";
@@ -2932,8 +2866,7 @@ int main(int argc, char **argv)
        const int64_t offset_s = 1351530929945824323;
        const int64_t offset = 1234567;
        int64_t get_offset_s,
-               get_offset,
-               get_time;
+               get_offset;
        const uint64_t precision = 10;
        const int is_absolute = 0xFF;
        char *metadata_string;
@@ -2941,6 +2874,7 @@ int main(int argc, char **argv)
        struct utsname name;
        char hostname[BABELTRACE_HOST_NAME_MAX];
        struct bt_ctf_clock *clock, *ret_clock;
+       struct bt_ctf_clock_class *ret_clock_class;
        struct bt_ctf_stream_class *stream_class, *ret_stream_class;
        struct bt_ctf_stream *stream1;
        const char *ret_string;
@@ -3148,7 +3082,6 @@ int main(int argc, char **argv)
        /* Define a clock and add it to the trace */
        ok(bt_ctf_clock_create("signed") == NULL,
                "Illegal clock name rejected");
-       ok(bt_ctf_clock_create(NULL) == NULL, "NULL clock name rejected");
        clock = bt_ctf_clock_create(clock_name);
        ok(clock, "Clock created sucessfully");
        returned_clock_name = bt_ctf_clock_get_name(clock);
@@ -3210,22 +3143,8 @@ int main(int argc, char **argv)
        ok(bt_ctf_clock_get_is_absolute(clock) == !!is_absolute,
                "bt_ctf_clock_get_precision returns the correct is_absolute attribute once it is set");
 
-       ok(bt_ctf_clock_get_time(clock, &get_time) == 0,
-               "bt_ctf_clock_get_time succeeds");
-       ok(get_time == DEFAULT_CLOCK_TIME,
-               "bt_ctf_clock_get_time returns the correct default time");
-       ok(bt_ctf_clock_get_value(clock) == DEFAULT_CLOCK_VALUE,
-               "bt_ctf_clock_get_value returns the correct default value");
-       ok(bt_ctf_clock_set_value(clock, current_time) == 0,
-               "Set clock value");
-       ok(bt_ctf_clock_get_value(clock) == current_time,
-               "bt_ctf_clock_get_value returns the correct value once it is set");
        ok(bt_ctf_clock_set_time(clock, current_time) == 0,
                "Set clock time");
-       ok(bt_ctf_clock_get_time(clock, &get_time) == 0,
-               "bt_ctf_clock_get_time succeeds");
-       ok(get_time >= current_time - 1 && get_time <= current_time + 1,
-               "bt_ctf_clock_get_time returns the correct time once it is set");
 
        ok(!bt_ctf_clock_get_name(NULL),
                "bt_ctf_clock_get_name correctly handles NULL");
@@ -3245,10 +3164,6 @@ int main(int argc, char **argv)
                "bt_ctf_clock_get_offset correctly handles NULL output");
        ok(bt_ctf_clock_get_is_absolute(NULL) < 0,
                "bt_ctf_clock_get_is_absolute correctly handles NULL");
-       ok(bt_ctf_clock_get_time(NULL, &get_time) < 0,
-               "bt_ctf_clock_get_time correctly handles NULL clock");
-       ok(bt_ctf_clock_get_time(clock, NULL) < 0,
-               "bt_ctf_clock_get_time correctly handles NULL output");
 
        ok(bt_ctf_clock_set_description(NULL, NULL) < 0,
                "bt_ctf_clock_set_description correctly handles NULL clock");
@@ -3383,8 +3298,6 @@ int main(int argc, char **argv)
 
        ok(bt_ctf_trace_set_packet_header_type(NULL, packet_header_type) < 0,
                "bt_ctf_trace_set_packet_header_type handles a NULL trace correctly");
-       ok(bt_ctf_trace_set_packet_header_type(trace, NULL) < 0,
-               "bt_ctf_trace_set_packet_header_type handles a NULL packet_header_type correctly");
        ok(!bt_ctf_trace_set_packet_header_type(trace, packet_header_type),
                "Set a trace packet_header_type successfully");
 
@@ -3400,8 +3313,6 @@ int main(int argc, char **argv)
 
        ok(bt_ctf_stream_class_set_packet_context_type(NULL, packet_context_type),
                "bt_ctf_stream_class_set_packet_context_type handles a NULL stream class correctly");
-       ok(bt_ctf_stream_class_set_packet_context_type(stream_class, NULL),
-               "bt_ctf_stream_class_set_packet_context_type handles a NULL packet context type correctly");
 
        integer_type = bt_ctf_field_type_integer_create(32);
        ok(bt_ctf_stream_class_set_packet_context_type(stream_class,
@@ -3427,9 +3338,6 @@ int main(int argc, char **argv)
        ok(bt_ctf_stream_class_set_event_context_type(NULL,
                stream_event_context_type) < 0,
                "bt_ctf_stream_class_set_event_context_type handles a NULL stream_class correctly");
-       ok(bt_ctf_stream_class_set_event_context_type(stream_class,
-               NULL) < 0,
-               "bt_ctf_stream_class_set_event_context_type handles a NULL event_context correctly");
        ok(bt_ctf_stream_class_set_event_context_type(stream_class,
                integer_type) < 0,
                "bt_ctf_stream_class_set_event_context_type validates that the event context os a structure");
@@ -3444,6 +3352,8 @@ int main(int argc, char **argv)
        bt_put(ret_field_type);
 
        /* Instantiate a stream and append events */
+       ret = bt_ctf_writer_add_clock(writer, clock);
+       assert(ret == 0);
        stream1 = bt_ctf_writer_create_stream(writer, stream_class);
        ok(stream1, "Instanciate a stream class from writer");
 
@@ -3452,31 +3362,33 @@ int main(int argc, char **argv)
         * class to the writer's trace, thus registering the stream
         * class's clock to the trace.
         */
-       ok(bt_ctf_trace_get_clock_count(NULL) < 0,
-               "bt_ctf_trace_get_clock_count correctly handles NULL");
-       ok(bt_ctf_trace_get_clock_count(trace) == 1,
-               "bt_ctf_trace_get_clock_count returns the correct number of clocks");
-       ok(!bt_ctf_trace_get_clock(NULL, 0),
-               "bt_ctf_trace_get_clock correctly handles NULL");
-       ok(!bt_ctf_trace_get_clock(trace, -1),
-               "bt_ctf_trace_get_clock correctly handles negative indexes");
-       ok(!bt_ctf_trace_get_clock(trace, 1),
-               "bt_ctf_trace_get_clock correctly handles out of bound accesses");
-       ret_clock = bt_ctf_trace_get_clock(trace, 0);
-       ok(ret_clock == clock,
-               "bt_ctf_trace_get_clock returns the right clock instance");
-       bt_put(ret_clock);
-       ok(!bt_ctf_trace_get_clock_by_name(trace, NULL),
-               "bt_ctf_trace_get_clock_by_name correctly handles NULL (trace)");
-       ok(!bt_ctf_trace_get_clock_by_name(NULL, clock_name),
+       ok(bt_ctf_trace_get_clock_class_count(NULL) < 0,
+               "bt_ctf_trace_get_clock_class_count correctly handles NULL");
+       ok(bt_ctf_trace_get_clock_class_count(trace) == 1,
+               "bt_ctf_trace_get_clock_class_count returns the correct number of clocks");
+       ok(!bt_ctf_trace_get_clock_class(NULL, 0),
+               "bt_ctf_trace_get_clock_class correctly handles NULL");
+       ok(!bt_ctf_trace_get_clock_class(trace, -1),
+               "bt_ctf_trace_get_clock_class correctly handles negative indexes");
+       ok(!bt_ctf_trace_get_clock_class(trace, 1),
+               "bt_ctf_trace_get_clock_class correctly handles out of bound accesses");
+       ret_clock_class = bt_ctf_trace_get_clock_class(trace, 0);
+       ok(strcmp(bt_ctf_clock_class_get_name(ret_clock_class),
+               bt_ctf_clock_get_name(clock)) == 0,
+               "bt_ctf_trace_get_clock_class returns the right clock instance");
+       bt_put(ret_clock_class);
+       ok(!bt_ctf_trace_get_clock_class_by_name(trace, NULL),
+               "bt_ctf_trace_get_clock_class_by_name correctly handles NULL (trace)");
+       ok(!bt_ctf_trace_get_clock_class_by_name(NULL, clock_name),
                "bt_ctf_trace_get_clock_by_name correctly handles NULL (clock name)");
-       ok(!bt_ctf_trace_get_clock_by_name(NULL, NULL),
+       ok(!bt_ctf_trace_get_clock_class_by_name(NULL, NULL),
                "bt_ctf_trace_get_clock_by_name correctly handles NULL (both)");
-       ret_clock = bt_ctf_trace_get_clock_by_name(trace, clock_name);
-       ok(ret_clock == clock,
-               "bt_ctf_trace_get_clock_by_name returns the right clock instance");
-       bt_put(ret_clock);
-       ok(!bt_ctf_trace_get_clock_by_name(trace, "random"),
+       ret_clock_class = bt_ctf_trace_get_clock_class_by_name(trace, clock_name);
+       ok(strcmp(bt_ctf_clock_class_get_name(ret_clock_class),
+               bt_ctf_clock_get_name(clock)) == 0,
+               "bt_ctf_trace_get_clock_class returns the right clock instance");
+       bt_put(ret_clock_class);
+       ok(!bt_ctf_trace_get_clock_class_by_name(trace, "random"),
                "bt_ctf_trace_get_clock_by_name fails when the requested clock doesn't exist");
 
        ok(bt_ctf_stream_get_class(NULL) == NULL,
@@ -3568,11 +3480,11 @@ int main(int argc, char **argv)
 
        test_clock_utils();
 
-       test_trace_stream_class_clock();
-
        test_create_writer_vs_non_writer_mode();
 
-       test_instanciate_event_before_stream(writer);
+       test_set_clock_non_writer_stream_class();
+
+       test_instanciate_event_before_stream(writer, clock);
 
        append_simple_event(stream_class, stream1, clock);
 
@@ -3584,7 +3496,7 @@ int main(int argc, char **argv)
 
        test_empty_stream(writer);
 
-       test_custom_event_header_stream(writer);
+       test_custom_event_header_stream(writer, clock);
 
        metadata_string = bt_ctf_writer_get_metadata_string(writer);
        ok(metadata_string, "Get metadata string");
This page took 0.030049 seconds and 4 git commands to generate.