X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Funit%2Ftest_kernel_data.c;h=6a35ea54a602489df1d35df9995a6f6cad5f8a14;hp=70d71cadb2e280185a0eafdc3e1323c26609434c;hb=84a7eb731975042c535645dd747a51825b302f93;hpb=81d029da32ba3c502bdce6ea56b3603eed77e951 diff --git a/tests/unit/test_kernel_data.c b/tests/unit/test_kernel_data.c index 70d71cadb..6a35ea54a 100644 --- a/tests/unit/test_kernel_data.c +++ b/tests/unit/test_kernel_data.c @@ -16,7 +16,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE #include #include #include @@ -28,16 +27,20 @@ #include #include -#include "utils.h" - -/* This path will NEVER be created in this test */ -#define PATH1 "/tmp/.test-junk-lttng" +#include #define RANDOM_STRING_LEN 11 -/* For lttngerr.h */ +/* Number of TAP tests in this file */ +#define NUM_TESTS 11 + +/* For error.h */ int lttng_opt_quiet = 1; int lttng_opt_verbose; +int lttng_opt_mi; + +int ust_consumerd32_fd; +int ust_consumerd64_fd; static const char alphanum[] = "0123456789" @@ -64,120 +67,122 @@ static char *get_random_string(void) return random_string; } -static void create_one_kernel_session(void) +static void test_create_one_kernel_session(void) { - printf("Create kernel session: "); - kern = trace_kernel_create_session(PATH1); - assert(kern != NULL); - PRINT_OK(); + kern = trace_kernel_create_session(); + ok(kern != NULL, "Create kernel session"); - printf("Validating kernel session: "); - assert(kern->fd == -1); - assert(kern->metadata_stream_fd == -1); - assert(kern->consumer_fds_sent == 0); - assert(kern->channel_count == 0); - assert(kern->stream_count_global == 0); - assert(kern->metadata == NULL); - PRINT_OK(); - - /* Init list in order to avoid sefaults from cds_list_del */ - trace_kernel_destroy_session(kern); + if (!kern) { + skip(1, "Kernel session is null"); + return; + } + ok(kern->fd == -1 && + kern->metadata_stream_fd == -1 && + kern->consumer_fds_sent == 0 && + kern->channel_count == 0 && + kern->stream_count_global == 0 && + kern->metadata == NULL, + "Validate kernel session"); } -static void create_kernel_metadata(void) +static void test_create_kernel_metadata(void) { assert(kern != NULL); - printf("Create kernel metadata: "); kern->metadata = trace_kernel_create_metadata(); - assert(kern->metadata != NULL); - PRINT_OK(); - - printf("Validating kernel session metadata: "); - assert(kern->metadata->fd == -1); - assert(kern->metadata->conf != NULL); - assert(kern->metadata->conf->attr.overwrite - == DEFAULT_CHANNEL_OVERWRITE); - assert(kern->metadata->conf->attr.subbuf_size - == default_get_metadata_subbuf_size()); - assert(kern->metadata->conf->attr.num_subbuf - == DEFAULT_METADATA_SUBBUF_NUM); - assert(kern->metadata->conf->attr.switch_timer_interval - == DEFAULT_CHANNEL_SWITCH_TIMER); - assert(kern->metadata->conf->attr.read_timer_interval - == DEFAULT_CHANNEL_READ_TIMER); - assert(kern->metadata->conf->attr.output - == DEFAULT_KERNEL_CHANNEL_OUTPUT); - PRINT_OK(); + ok(kern->metadata != NULL, "Create kernel metadata"); + + ok(kern->metadata->fd == -1 && + kern->metadata->conf != NULL && + kern->metadata->conf->attr.overwrite + == DEFAULT_CHANNEL_OVERWRITE && + kern->metadata->conf->attr.subbuf_size + == default_get_metadata_subbuf_size() && + kern->metadata->conf->attr.num_subbuf + == DEFAULT_METADATA_SUBBUF_NUM && + kern->metadata->conf->attr.switch_timer_interval + == DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER && + kern->metadata->conf->attr.read_timer_interval + == DEFAULT_KERNEL_CHANNEL_READ_TIMER && + kern->metadata->conf->attr.output + == DEFAULT_KERNEL_CHANNEL_OUTPUT, + "Validate kernel session metadata"); trace_kernel_destroy_metadata(kern->metadata); } -static void create_kernel_channel(void) +static void test_create_kernel_channel(void) { struct ltt_kernel_channel *chan; struct lttng_channel attr; memset(&attr, 0, sizeof(attr)); - printf("Creating kernel channel: "); chan = trace_kernel_create_channel(&attr); - assert(chan != NULL); - PRINT_OK(); + ok(chan != NULL, "Create kernel channel"); + + if (!chan) { + skip(1, "Channel is null"); + return; + } - printf("Validating kernel channel: "); - assert(chan->fd == -1); - assert(chan->enabled == 1); - assert(chan->stream_count == 0); - assert(chan->ctx == NULL); - assert(chan->channel->attr.overwrite == attr.attr.overwrite); - PRINT_OK(); + ok(chan->fd == -1 && + chan->enabled == 1 && + chan->stream_count == 0 && + chan->channel->attr.overwrite == attr.attr.overwrite, + "Validate kernel channel"); /* Init list in order to avoid sefaults from cds_list_del */ CDS_INIT_LIST_HEAD(&chan->list); trace_kernel_destroy_channel(chan); } -static void create_kernel_event(void) +static void test_create_kernel_event(void) { struct ltt_kernel_event *event; struct lttng_event ev; memset(&ev, 0, sizeof(ev)); - strncpy(ev.name, get_random_string(), LTTNG_KERNEL_SYM_NAME_LEN); + ok(!lttng_strncpy(ev.name, get_random_string(), + LTTNG_KERNEL_SYM_NAME_LEN), + "Validate string length"); ev.type = LTTNG_EVENT_TRACEPOINT; ev.loglevel_type = LTTNG_EVENT_LOGLEVEL_ALL; - printf("Creating kernel event: "); - event = trace_kernel_create_event(&ev); - assert(event != NULL); - PRINT_OK(); + event = trace_kernel_create_event(&ev, NULL, NULL); + ok(event != NULL, "Create kernel event"); + + if (!event) { + skip(1, "Event is null"); + return; + } - printf("Validating kernel event: "); - assert(event->fd == -1); - assert(event->enabled == 1); - assert(event->event->instrumentation == LTTNG_KERNEL_TRACEPOINT); - assert(strlen(event->event->name)); - PRINT_OK(); + ok(event->fd == -1 && + event->enabled == 1 && + event->event->instrumentation == LTTNG_KERNEL_TRACEPOINT && + strlen(event->event->name), + "Validate kernel event"); /* Init list in order to avoid sefaults from cds_list_del */ CDS_INIT_LIST_HEAD(&event->list); trace_kernel_destroy_event(event); } -static void create_kernel_stream(void) +static void test_create_kernel_stream(void) { struct ltt_kernel_stream *stream; - printf("Creating kernel stream: "); stream = trace_kernel_create_stream("stream1", 0); - assert(stream != NULL); - PRINT_OK(); + ok(stream != NULL, "Create kernel stream"); + + if (!stream) { + skip(1, "Stream is null"); + return; + } - printf("Validating kernel stream: "); - assert(stream->fd == -1); - assert(stream->state == 0); - PRINT_OK(); + ok(stream->fd == -1 && + stream->state == 0, + "Validate kernel stream"); /* Init list in order to avoid sefaults from cds_list_del */ CDS_INIT_LIST_HEAD(&stream->list); @@ -186,17 +191,15 @@ static void create_kernel_stream(void) int main(int argc, char **argv) { - printf("\nTesting kernel data structures:\n-----------\n"); - - create_one_kernel_session(); - - create_kernel_metadata(); - create_kernel_channel(); - + plan_tests(NUM_TESTS); - create_kernel_event(); + diag("Kernel data structure unit test"); - create_kernel_stream(); + test_create_one_kernel_session(); + test_create_kernel_metadata(); + test_create_kernel_channel(); + test_create_kernel_event(); + test_create_kernel_stream(); /* Success */ return 0;