X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=tests%2Flib%2Ftest_ctf_writer.c;h=2929d24e638167ccb43da1af2bff33ec2665be88;hp=e50b213d0ba0ed973e7c12b2b3e36e59aae4dfb8;hb=61cf588beae752e5ddfc60b6b5310f769ac9e852;hpb=83509119a945fc77faff869daaf48627e1c4b3fa diff --git a/tests/lib/test_ctf_writer.c b/tests/lib/test_ctf_writer.c index e50b213d..2929d24e 100644 --- a/tests/lib/test_ctf_writer.c +++ b/tests/lib/test_ctf_writer.c @@ -19,7 +19,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE #include #include #include @@ -31,18 +30,20 @@ #include #include #include -#include +#include #include #include #include +#include #include #include #include #include -#include +#include #include "tap/tap.h" #include #include +#include #define METADATA_LINE_SIZE 512 #define SEQUENCE_TEST_LENGTH 10 @@ -56,7 +57,9 @@ #define DEFAULT_CLOCK_IS_ABSOLUTE 0 #define DEFAULT_CLOCK_TIME 0 -static uint64_t current_time = 42; +#define NR_TESTS 597 + +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) @@ -160,12 +163,12 @@ result: rewind(metadata_fp); /* Output the metadata and parser output as diagnostic */ - while (getline(&line, &len, metadata_fp) > 0) { + while (bt_getline(&line, &len, metadata_fp) > 0) { fprintf(stderr, "# %s", line); } rewind(parser_output_fp); - while (getline(&line, &len, parser_output_fp) > 0) { + while (bt_getline(&line, &len, parser_output_fp) > 0) { fprintf(stderr, "# %s", line); } @@ -257,7 +260,7 @@ result: diag("malloc error"); } rewind(babeltrace_output_fp); - while (getline(&line, &len, babeltrace_output_fp) > 0) { + while (bt_getline(&line, &len, babeltrace_output_fp) > 0) { diag("%s", line); } @@ -953,7 +956,8 @@ void append_complex_event(struct bt_ctf_stream_class *stream_class, "bt_ctf_event_class_get_id returns the correct value"); /* Test event class attributes */ - assert(obj = bt_value_integer_create_init(15)); + obj = bt_value_integer_create_init(15); + assert(obj); ok(bt_ctf_event_class_set_attribute(NULL, "id", obj), "bt_ctf_event_class_set_attribute handles a NULL event class correctly"); ok(bt_ctf_event_class_set_attribute(event_class, NULL, obj), @@ -992,7 +996,8 @@ void append_complex_event(struct bt_ctf_stream_class *stream_class, "bt_ctf_event_class_get_attribute_value_by_name returns the correct value"); BT_PUT(obj); - assert(obj = bt_value_string_create_init("nu name")); + obj = bt_value_string_create_init("nu name"); + assert(obj); assert(!bt_ctf_event_class_set_attribute(event_class, "name", obj)); ret_string = bt_ctf_event_class_get_name(event_class); ok(!strcmp(ret_string, "nu name"), @@ -2630,7 +2635,8 @@ void append_existing_event_class(struct bt_ctf_stream_class *stream_class) { struct bt_ctf_event_class *event_class; - assert(event_class = bt_ctf_event_class_create("Simple Event")); + event_class = bt_ctf_event_class_create("Simple Event"); + assert(event_class); ok(bt_ctf_stream_class_add_event_class(stream_class, event_class), "two event classes with the same name cannot cohabit within the same stream class"); bt_put(event_class); @@ -2652,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; @@ -2685,9 +2694,9 @@ int main(int argc, char **argv) return -1; } - plan_no_plan(); + plan_tests(NR_TESTS); - if (!mkdtemp(trace_path)) { + if (!bt_mkdtemp(trace_path)) { perror("# perror"); } @@ -2842,7 +2851,8 @@ int main(int argc, char **argv) "bt_ctf_trace_get_environment_field_value successfully replaces an existing field"); BT_PUT(obj); - if (uname(&name)) { + /* On Solaris, uname() can return any positive value on success */ + if (uname(&name) < 0) { perror("uname"); return -1; } @@ -2894,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"); @@ -2921,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, @@ -2968,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"); @@ -3280,9 +3308,6 @@ int main(int argc, char **argv) bt_put(packet_header_field); bt_put(trace); free(metadata_string); - - ok(bt_ctf_stream_class_get_trace(stream_class) == NULL, - "bt_ctf_stream_class_get_trace returns NULL after its trace has been reclaimed"); bt_put(stream_class); /* Remove all trace files and delete temporary trace directory */ @@ -3294,8 +3319,20 @@ int main(int argc, char **argv) struct dirent *entry; while ((entry = readdir(trace_dir))) { - if (entry->d_type == DT_REG) { - unlinkat(dirfd(trace_dir), entry->d_name, 0); + struct stat st; + char filename[PATH_MAX]; + + if (snprintf(filename, sizeof(filename), "%s/%s", + trace_path, entry->d_name) <= 0) { + continue; + } + + if (stat(entry->d_name, &st)) { + continue; + } + + if (S_ISREG(st.st_mode)) { + unlinkat(bt_dirfd(trace_dir), entry->d_name, 0); } }