Handle negative time and offset from Epoch
[babeltrace.git] / tests / lib / test_ctf_writer.c
index d246510e9fae0e88564cd9bdf5b76f193d4ecd2e..2929d24e638167ccb43da1af2bff33ec2665be88 100644 (file)
@@ -57,9 +57,9 @@
 #define DEFAULT_CLOCK_IS_ABSOLUTE 0
 #define DEFAULT_CLOCK_TIME 0
 
-#define NR_TESTS 588
+#define NR_TESTS 597
 
-static uint64_t current_time = 42;
+static int64_t current_time = 42;
 
 /* Return 1 if uuids match, zero if different. */
 int uuid_match(const unsigned char *uuid_a, const unsigned char *uuid_b)
@@ -2658,8 +2658,11 @@ int main(int argc, char **argv)
        const char *returned_clock_name;
        const char *returned_clock_description;
        const uint64_t frequency = 1123456789;
-       const uint64_t offset_s = 1351530929945824323;
-       const uint64_t offset = 1234567;
+       const int64_t offset_s = 1351530929945824323;
+       const int64_t offset = 1234567;
+       int64_t get_offset_s,
+               get_offset,
+               get_time;
        const uint64_t precision = 10;
        const int is_absolute = 0xFF;
        char *metadata_string;
@@ -2901,18 +2904,26 @@ int main(int argc, char **argv)
        ok(bt_ctf_clock_get_frequency(clock) == frequency,
                "bt_ctf_clock_get_frequency returns the correct frequency once it is set");
 
-       ok(bt_ctf_clock_get_offset_s(clock) == DEFAULT_CLOCK_OFFSET_S,
+       ok(bt_ctf_clock_get_offset_s(clock, &get_offset_s) == 0,
+               "bt_ctf_clock_get_offset_s succeeds");
+       ok(get_offset_s == DEFAULT_CLOCK_OFFSET_S,
                "bt_ctf_clock_get_offset_s returns the correct default offset (in seconds)");
        ok(bt_ctf_clock_set_offset_s(clock, offset_s) == 0,
                "Set clock offset (seconds)");
-       ok(bt_ctf_clock_get_offset_s(clock) == offset_s,
+       ok(bt_ctf_clock_get_offset_s(clock, &get_offset_s) == 0,
+               "bt_ctf_clock_get_offset_s succeeds");
+       ok(get_offset_s == offset_s,
                "bt_ctf_clock_get_offset_s returns the correct default offset (in seconds) once it is set");
 
-       ok(bt_ctf_clock_get_offset(clock) == DEFAULT_CLOCK_OFFSET,
-               "bt_ctf_clock_get_frequency returns the correct default offset (in ticks)");
+       ok(bt_ctf_clock_get_offset(clock, &get_offset) == 0,
+               "bt_ctf_clock_get_offset succeeds");
+       ok(get_offset == DEFAULT_CLOCK_OFFSET,
+               "bt_ctf_clock_get_offset returns the correct default offset (in ticks)");
        ok(bt_ctf_clock_set_offset(clock, offset) == 0, "Set clock offset");
-       ok(bt_ctf_clock_get_offset(clock) == offset,
-               "bt_ctf_clock_get_frequency returns the correct default offset (in ticks) once it is set");
+       ok(bt_ctf_clock_get_offset(clock, &get_offset) == 0,
+               "bt_ctf_clock_get_offset succeeds");
+       ok(get_offset == offset,
+               "bt_ctf_clock_get_offset returns the correct default offset (in ticks) once it is set");
 
        ok(bt_ctf_clock_get_precision(clock) == DEFAULT_CLOCK_PRECISION,
                "bt_ctf_clock_get_precision returns the correct default precision");
@@ -2928,11 +2939,15 @@ 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) == DEFAULT_CLOCK_TIME,
+       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_set_time(clock, current_time) == 0,
                "Set clock time");
-       ok(bt_ctf_clock_get_time(clock) == current_time,
+       ok(bt_ctf_clock_get_time(clock, &get_time) == 0,
+               "bt_ctf_clock_get_time succeeds");
+       ok(get_time == current_time,
                "bt_ctf_clock_get_time returns the correct time once it is set");
 
        ok(bt_ctf_writer_add_clock(writer, clock) == 0,
@@ -2975,14 +2990,20 @@ int main(int argc, char **argv)
                "bt_ctf_clock_get_frequency correctly handles NULL");
        ok(bt_ctf_clock_get_precision(NULL) == -1ULL,
                "bt_ctf_clock_get_precision correctly handles NULL");
-       ok(bt_ctf_clock_get_offset_s(NULL) == -1ULL,
-               "bt_ctf_clock_get_offset_s correctly handles NULL");
-       ok(bt_ctf_clock_get_offset(NULL) == -1ULL,
-               "bt_ctf_clock_get_offset correctly handles NULL");
+       ok(bt_ctf_clock_get_offset_s(NULL, &get_offset_s) < 0,
+               "bt_ctf_clock_get_offset_s correctly handles NULL clock");
+       ok(bt_ctf_clock_get_offset_s(clock, NULL) < 0,
+               "bt_ctf_clock_get_offset_s correctly handles NULL output");
+       ok(bt_ctf_clock_get_offset(NULL, &get_offset) < 0,
+               "bt_ctf_clock_get_offset correctly handles NULL clock");
+       ok(bt_ctf_clock_get_offset(clock, NULL) < 0,
+               "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) == -1ULL,
-               "bt_ctf_clock_get_time 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");
This page took 0.023416 seconds and 4 git commands to generate.