X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Funit%2Ftest_uri.c;h=723bc2c1f2ebcc46716d8cabb63d49d9de0366b3;hp=d00e34d16d1ab864709de6dc28fc8b6799bc178c;hb=9d16b343fb9e781fc8d8fa3c448a3f382306dd33;hpb=81d029da32ba3c502bdce6ea56b3603eed77e951 diff --git a/tests/unit/test_uri.c b/tests/unit/test_uri.c index d00e34d16..723bc2c1f 100644 --- a/tests/unit/test_uri.c +++ b/tests/unit/test_uri.c @@ -1,188 +1,194 @@ /* - * Copyright (C) - 2012 David Goulet + * Copyright (C) 2012 David Goulet * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by as - * published by the Free Software Foundation; only version 2 of the License. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE #include -#include -#include -#include #include -#include -#include -#include - -#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 16 +#include -/* For lttngerr.h */ +/* For error.h */ int lttng_opt_quiet = 1; int lttng_opt_verbose = 3; +int lttng_opt_mi; -/* - * Test string URI and if uri_parse works well. - */ -void test_uri_parsing(void) +/* Number of TAP tests in this file */ +#define NUM_TESTS 11 + +static void test_uri_parsing(void) { ssize_t size; const char *s_uri1; - struct lttng_uri *uri; - - fprintf(stdout, "Testing URIs...\n"); + struct lttng_uri *uri = NULL; s_uri1 = "net://localhost"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 2); - assert(uri[0].dtype == LTTNG_DST_IPV4); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 0); - assert(strlen(uri[0].subdir) == 0); - assert(strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0); - - assert(uri[1].dtype == LTTNG_DST_IPV4); - assert(uri[1].utype == LTTNG_URI_DST); - assert(uri[1].stype == 0); - assert(uri[1].port == 0); - assert(strlen(uri[1].subdir) == 0); - assert(strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0); - PRINT_OK(); - uri_free(uri); + + ok(size == 2 && + uri[0].dtype == LTTNG_DST_IPV4 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 0 && + strlen(uri[0].subdir) == 0 && + strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0 && + uri[1].dtype == LTTNG_DST_IPV4 && + uri[1].utype == LTTNG_URI_DST && + uri[1].stype == 0 && + uri[1].port == 0 && + strlen(uri[1].subdir) == 0 && + strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0, + "URI set to net://localhost"); + + if (uri) { + uri_free(uri); + uri = NULL; + } s_uri1 = "net://localhost:8989:4242/my/test/path"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 2); - assert(uri[0].dtype == LTTNG_DST_IPV4); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 8989); - assert(strcmp(uri[0].subdir, "my/test/path") == 0); - assert(strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0); - - assert(uri[1].dtype == LTTNG_DST_IPV4); - assert(uri[1].utype == LTTNG_URI_DST); - assert(uri[1].stype == 0); - assert(uri[1].port == 4242); - assert(strcmp(uri[0].subdir, "my/test/path") == 0); - assert(strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0); - PRINT_OK(); - uri_free(uri); + + ok(size == 2 && + uri[0].dtype == LTTNG_DST_IPV4 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 8989 && + strcmp(uri[0].subdir, "my/test/path") == 0 && + strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0 && + uri[1].dtype == LTTNG_DST_IPV4 && + uri[1].utype == LTTNG_URI_DST && + uri[1].stype == 0 && + uri[1].port == 4242 && + strlen(uri[1].subdir) == 0 && + strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0, + "URI set to net://localhost:8989:4242/my/test/path"); + + if (uri) { + uri_free(uri); + uri = NULL; + } s_uri1 = "net://localhost:8989:4242"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 2); - assert(uri[0].dtype == LTTNG_DST_IPV4); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 8989); - assert(strlen(uri[1].subdir) == 0); - assert(strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0); - - assert(uri[1].dtype == LTTNG_DST_IPV4); - assert(uri[1].utype == LTTNG_URI_DST); - assert(uri[1].stype == 0); - assert(uri[1].port == 4242); - assert(strlen(uri[1].subdir) == 0); - assert(strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0); - PRINT_OK(); - uri_free(uri); - - s_uri1 = "net6://localhost:8989"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + + ok(size == 2 && + uri[0].dtype == LTTNG_DST_IPV4 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 8989 && + strlen(uri[0].subdir) == 0 && + strcmp(uri[0].dst.ipv4, "127.0.0.1") == 0 && + uri[1].dtype == LTTNG_DST_IPV4 && + uri[1].utype == LTTNG_URI_DST && + uri[1].stype == 0 && + uri[1].port == 4242 && + strlen(uri[1].subdir) == 0 && + strcmp(uri[1].dst.ipv4, "127.0.0.1") == 0, + "URI set to net://localhost:8989:4242"); + + if (uri) { + uri_free(uri); + uri = NULL; + } + + s_uri1 = "net6://[::1]:8989"; + size = uri_parse(s_uri1, &uri); - assert(size == 2); - assert(uri[0].dtype == LTTNG_DST_IPV6); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 8989); - assert(strlen(uri[1].subdir) == 0); - assert(strcmp(uri[0].dst.ipv6, "::1") == 0); - - assert(uri[1].dtype == LTTNG_DST_IPV6); - assert(uri[1].utype == LTTNG_URI_DST); - assert(uri[1].stype == 0); - assert(uri[1].port == 0); - assert(strlen(uri[1].subdir) == 0); - assert(strcmp(uri[0].dst.ipv6, "::1") == 0); - PRINT_OK(); - uri_free(uri); + + ok(size == 2 && + uri[0].dtype == LTTNG_DST_IPV6 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 8989 && + strlen(uri[0].subdir) == 0 && + strcmp(uri[0].dst.ipv6, "::1") == 0 && + uri[1].dtype == LTTNG_DST_IPV6 && + uri[1].utype == LTTNG_URI_DST && + uri[1].stype == 0 && + uri[1].port == 0 && + strlen(uri[1].subdir) == 0 && + strcmp(uri[1].dst.ipv6, "::1") == 0, + "URI set to net6://[::1]:8989"); + + if (uri) { + uri_free(uri); + uri = NULL; + } s_uri1 = "tcp://42.42.42.42/my/test/path"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 1); - assert(uri[0].dtype == LTTNG_DST_IPV4); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 0); - assert(strcmp(uri[0].subdir, "my/test/path") == 0); - assert(strcmp(uri[0].dst.ipv4, "42.42.42.42") == 0); - PRINT_OK(); - uri_free(uri); + + ok(size == 1 && + uri[0].dtype == LTTNG_DST_IPV4 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 0 && + strcmp(uri[0].subdir, "my/test/path") == 0 && + strcmp(uri[0].dst.ipv4, "42.42.42.42") == 0, + "URI set to tcp://42.42.42.42/my/test/path"); + + if (uri) { + uri_free(uri); + uri = NULL; + } s_uri1 = "tcp6://[fe80::f66d:4ff:fe53:d220]/my/test/path"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 1); - assert(uri[0].dtype == LTTNG_DST_IPV6); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 0); - assert(strcmp(uri[0].subdir, "my/test/path") == 0); - assert(strcmp(uri[0].dst.ipv6, "fe80::f66d:4ff:fe53:d220") == 0); - PRINT_OK(); - uri_free(uri); + + ok(size == 1 && + uri[0].dtype == LTTNG_DST_IPV6 && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 0 && + strcmp(uri[0].subdir, "my/test/path") == 0 && + strcmp(uri[0].dst.ipv6, "fe80::f66d:4ff:fe53:d220") == 0, + "URI set to tcp6://[fe80::f66d:4ff:fe53:d220]/my/test/path"); + + if (uri) { + uri_free(uri); + uri = NULL; + } s_uri1 = "file:///my/test/path"; - fprintf(stdout, " [+] URI set to %s ", s_uri1); + size = uri_parse(s_uri1, &uri); - assert(size == 1); - assert(uri[0].dtype == LTTNG_DST_PATH); - assert(uri[0].utype == LTTNG_URI_DST); - assert(uri[0].stype == 0); - assert(uri[0].port == 0); - assert(strlen(uri[0].subdir) == 0); - assert(strcmp(uri[0].dst.path, "/my/test/path") == 0); - PRINT_OK(); - uri_free(uri); + ok(size == 1 && + uri[0].dtype == LTTNG_DST_PATH && + uri[0].utype == LTTNG_URI_DST && + uri[0].stype == 0 && + uri[0].port == 0 && + strlen(uri[0].subdir) == 0 && + strcmp(uri[0].dst.path, "/my/test/path") == 0, + "URI set to file:///my/test/path"); + + if (uri) { + uri_free(uri); + uri = NULL; + } + + /* FIXME: Noisy on stdout */ s_uri1 = "file/my/test/path"; - fprintf(stdout, " [+] Bad URI set to %s ", s_uri1); size = uri_parse(s_uri1, &uri); - assert(size == -1); - PRINT_OK(); + ok(size == -1, "Bad URI set to file/my/test/path"); + assert(!uri); s_uri1 = "net://:8999"; - fprintf(stdout, " [+] Bad URI set to %s ", s_uri1); size = uri_parse(s_uri1, &uri); - assert(size == -1); - PRINT_OK(); + ok(size == -1, "Bad URI set to net://:8999"); + assert(!uri); } -void test_uri_cmp() +static void test_uri_cmp() { struct lttng_uri *uri1, *uri2; const char *s_uri1 = "net://localhost"; @@ -214,7 +220,7 @@ void test_uri_cmp() assert(uri2[0].utype == LTTNG_URI_DST); assert(uri2[0].stype == 0); assert(uri2[0].port == 8989); - assert(strlen(uri2[1].subdir) == 0); + assert(strlen(uri2[0].subdir) == 0); assert(strcmp(uri2[0].dst.ipv4, "127.0.0.1") == 0); assert(uri2[1].dtype == LTTNG_DST_IPV4); assert(uri2[1].utype == LTTNG_URI_DST); @@ -223,16 +229,15 @@ void test_uri_cmp() assert(strlen(uri2[1].subdir) == 0); assert(strcmp(uri2[1].dst.ipv4, "127.0.0.1") == 0); - res = uri_compare(uri1, uri1); - fprintf(stdout, " [+] %s == %s ", s_uri1, s_uri1); - assert(res == 0); - PRINT_OK(); + + ok(res == 0, + "URI compare net://localhost == net://localhost"); res = uri_compare(uri1, uri2); - fprintf(stdout, " [+] %s != %s ", s_uri1, s_uri2); - assert(res != 0); - PRINT_OK(); + + ok(res != 0, + "URI compare net://localhost != net://localhost:8989:4242"); uri_free(uri1); uri_free(uri2); @@ -240,13 +245,13 @@ void test_uri_cmp() int main(int argc, char **argv) { - srand(time(NULL)); + plan_tests(NUM_TESTS); - printf("\nStreaming unit tests\n-----------\n"); + diag("URI unit tests"); - /* URI tests */ test_uri_parsing(); + test_uri_cmp(); - return 0; + return exit_status(); }