diff options
author | ngie <ngie@FreeBSD.org> | 2014-08-05 18:41:27 +0000 |
---|---|---|
committer | ngie <ngie@FreeBSD.org> | 2014-08-05 18:41:27 +0000 |
commit | 9513739a47728a2ab6f7b2f5938d7ca223a60413 (patch) | |
tree | 2bb2a3116233fbbb1a0941a0ceb0ba43413830f4 /tools/regression/lib | |
parent | 272d9252ab1b42128afee34e985ca1b51bd9fb30 (diff) | |
download | FreeBSD-src-9513739a47728a2ab6f7b2f5938d7ca223a60413.zip FreeBSD-src-9513739a47728a2ab6f7b2f5938d7ca223a60413.tar.gz |
Integrate lib/libnv into the build/kyua
Rename all of the TAP test applications from <test> to <test>_test
to match the convention described in the TestSuite wiki page
Phabric: D538
Approved by: jmmv (mentor)
Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'tools/regression/lib')
-rw-r--r-- | tools/regression/lib/libnv/Makefile | 35 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_add.c | 196 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_exists.c | 321 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_free.c | 221 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_get.c | 182 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_move.c | 161 | ||||
-rw-r--r-- | tools/regression/lib/libnv/nvlist_send_recv.c | 325 |
7 files changed, 0 insertions, 1441 deletions
diff --git a/tools/regression/lib/libnv/Makefile b/tools/regression/lib/libnv/Makefile deleted file mode 100644 index a64cb63..0000000 --- a/tools/regression/lib/libnv/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# $FreeBSD$ - -TESTS= nvlist_add -TESTS+= nvlist_exists -TESTS+= nvlist_free -TESTS+= nvlist_get -TESTS+= nvlist_move -TESTS+= nvlist_send_recv - -CFLAGS= -O2 -pipe -fstack-protector -CFLAGS+=-Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -CFLAGS+=-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -CFLAGS+=-Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -CFLAGS+=-Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -CFLAGS+=-Wold-style-definition -Wno-pointer-sign -Wextra - -LDFLAGS+=-lnv - -all: ${TESTS} ${TESTS:=.t} - -.for TEST in ${TESTS} - -${TEST}: ${TEST}.c - ${CC} ${CFLAGS} ${LDFLAGS} ${@}.c -o $@ - -${TEST}.t: ${TEST} - @printf "#!/bin/sh\n\n%s/%s\n" ${.CURDIR} ${@:.t=} > $@ - -.endfor - -test: all - @prove -r ${.CURDIR} - -clean: - rm -f ${TESTS} ${TESTS:=.t} diff --git a/tools/regression/lib/libnv/nvlist_add.c b/tools/regression/lib/libnv/nvlist_add.c deleted file mode 100644 index 06bcc63..0000000 --- a/tools/regression/lib/libnv/nvlist_add.c +++ /dev/null @@ -1,196 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <errno.h> -#include <stdio.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -int -main(void) -{ - const nvlist_t *cnvl; - nvlist_t *nvl; - - printf("1..94\n"); - - nvl = nvlist_create(0); - - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - nvlist_add_null(nvl, "nvlist/null"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/true")); - nvlist_add_bool(nvl, "nvlist/bool/true", true); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool/true")); - - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/false")); - nvlist_add_bool(nvl, "nvlist/bool/false", false); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool/false")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/0")); - nvlist_add_number(nvl, "nvlist/number/0", 0); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/0")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/1")); - nvlist_add_number(nvl, "nvlist/number/1", 1); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/1")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/-1")); - nvlist_add_number(nvl, "nvlist/number/-1", -1); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/-1")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX")); - nvlist_add_number(nvl, "nvlist/number/UINT64_MAX", UINT64_MAX); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MIN")); - nvlist_add_number(nvl, "nvlist/number/INT64_MIN", INT64_MIN); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MIN")); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MAX")); - nvlist_add_number(nvl, "nvlist/number/INT64_MAX", INT64_MAX); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MAX")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/")); - nvlist_add_string(nvl, "nvlist/string/", ""); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/string/")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/x")); - nvlist_add_string(nvl, "nvlist/string/x", "x"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/string/x")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - nvlist_add_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/")); - nvlist_add_stringf(nvl, "nvlist/stringf/", "%s", ""); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/x")); - nvlist_add_stringf(nvl, "nvlist/stringf/x", "%s", "x"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/x")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/stringf/666Xabc")); - nvlist_add_stringf(nvl, "nvlist/stringf/666Xabc", "%d%c%s", 666, 'X', "abc"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/666Xabc")); - - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - nvlist_add_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", STDERR_FILENO); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/x")); - nvlist_add_binary(nvl, "nvlist/binary/x", "x", 1); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x")); - - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - nvlist_add_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool/true")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool/false")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/0")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/1")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/-1")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MIN")); - CHECK(nvlist_exists_number(nvl, "nvlist/number/INT64_MAX")); - CHECK(nvlist_exists_string(nvl, "nvlist/string/")); - CHECK(nvlist_exists_string(nvl, "nvlist/string/x")); - CHECK(nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/")); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/x")); - CHECK(nvlist_exists_string(nvl, "nvlist/stringf/666Xabc")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - - cnvl = nvlist_get_nvlist(nvl, "nvlist/nvlist"); - CHECK(nvlist_exists_null(cnvl, "nvlist/null")); - CHECK(nvlist_exists_bool(cnvl, "nvlist/bool/true")); - CHECK(nvlist_exists_bool(cnvl, "nvlist/bool/false")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/0")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/1")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/-1")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/UINT64_MAX")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/INT64_MIN")); - CHECK(nvlist_exists_number(cnvl, "nvlist/number/INT64_MAX")); - CHECK(nvlist_exists_string(cnvl, "nvlist/string/")); - CHECK(nvlist_exists_string(cnvl, "nvlist/string/x")); - CHECK(nvlist_exists_string(cnvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/")); - CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/x")); - CHECK(nvlist_exists_string(cnvl, "nvlist/stringf/666Xabc")); - CHECK(nvlist_exists_descriptor(cnvl, "nvlist/descriptor/STDERR_FILENO")); - CHECK(nvlist_exists_binary(cnvl, "nvlist/binary/x")); - CHECK(nvlist_exists_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - - nvlist_destroy(nvl); - - return (0); -} diff --git a/tools/regression/lib/libnv/nvlist_exists.c b/tools/regression/lib/libnv/nvlist_exists.c deleted file mode 100644 index cb595d7..0000000 --- a/tools/regression/lib/libnv/nvlist_exists.c +++ /dev/null @@ -1,321 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <stdio.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -int -main(void) -{ - nvlist_t *nvl; - - printf("1..232\n"); - - nvl = nvlist_create(0); - - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/null")); - CHECK(!nvlist_exists_number(nvl, "nvlist/null")); - CHECK(!nvlist_exists_string(nvl, "nvlist/null")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/null")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/null")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/null")); - nvlist_add_null(nvl, "nvlist/null"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/null")); - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/null")); - CHECK(!nvlist_exists_number(nvl, "nvlist/null")); - CHECK(!nvlist_exists_string(nvl, "nvlist/null")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/null")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/null")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/null")); - - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_null(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_string(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/bool")); - nvlist_add_bool(nvl, "nvlist/bool", true); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_null(nvl, "nvlist/bool")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_string(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/bool")); - - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists_null(nvl, "nvlist/number")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/number")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/number")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/number")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/number")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/number")); - nvlist_add_number(nvl, "nvlist/number", 0); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists_null(nvl, "nvlist/number")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/number")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/number")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/number")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/number")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/number")); - - CHECK(!nvlist_exists(nvl, "nvlist/string")); - CHECK(!nvlist_exists_null(nvl, "nvlist/string")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/string")); - CHECK(!nvlist_exists_number(nvl, "nvlist/string")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/string")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/string")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/string")); - nvlist_add_string(nvl, "nvlist/string", "test"); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/string")); - CHECK(!nvlist_exists_null(nvl, "nvlist/string")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/string")); - CHECK(!nvlist_exists_number(nvl, "nvlist/string")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/string")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/string")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/string")); - - CHECK(!nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_null(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_number(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_string(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/nvlist")); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_null(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_number(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_string(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/nvlist")); - - CHECK(!nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_null(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_number(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_string(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/descriptor")); - nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_null(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_number(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_string(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/descriptor")); - - CHECK(!nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_number(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_string(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary")); - nvlist_add_binary(nvl, "nvlist/binary", "test", 4); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_number(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_string(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/binary")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - CHECK(nvlist_exists(nvl, "nvlist/null")); - CHECK(nvlist_exists(nvl, "nvlist/bool")); - CHECK(nvlist_exists(nvl, "nvlist/number")); - CHECK(nvlist_exists(nvl, "nvlist/string")); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_null(nvl, "nvlist/null"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(nvlist_exists(nvl, "nvlist/bool")); - CHECK(nvlist_exists(nvl, "nvlist/number")); - CHECK(nvlist_exists(nvl, "nvlist/string")); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_bool(nvl, "nvlist/bool"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(nvlist_exists(nvl, "nvlist/number")); - CHECK(nvlist_exists(nvl, "nvlist/string")); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_number(nvl, "nvlist/number"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(nvlist_exists(nvl, "nvlist/string")); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_string(nvl, "nvlist/string"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists(nvl, "nvlist/string")); - CHECK(nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_nvlist(nvl, "nvlist/nvlist"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists(nvl, "nvlist/string")); - CHECK(!nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_descriptor(nvl, "nvlist/descriptor"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists(nvl, "nvlist/string")); - CHECK(!nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_binary(nvl, "nvlist/binary"); - CHECK(!nvlist_exists(nvl, "nvlist/null")); - CHECK(!nvlist_exists(nvl, "nvlist/bool")); - CHECK(!nvlist_exists(nvl, "nvlist/number")); - CHECK(!nvlist_exists(nvl, "nvlist/string")); - CHECK(!nvlist_exists(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists(nvl, "nvlist/binary")); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary")); - - CHECK(nvlist_empty(nvl)); - - nvlist_destroy(nvl); - - return (0); -} diff --git a/tools/regression/lib/libnv/nvlist_free.c b/tools/regression/lib/libnv/nvlist_free.c deleted file mode 100644 index 4417a44..0000000 --- a/tools/regression/lib/libnv/nvlist_free.c +++ /dev/null @@ -1,221 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <stdio.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -int -main(void) -{ - nvlist_t *nvl; - - printf("1..114\n"); - - nvl = nvlist_create(0); - - nvlist_add_null(nvl, "nvlist/null"); - nvlist_add_bool(nvl, "nvlist/bool", true); - nvlist_add_number(nvl, "nvlist/number", 0); - nvlist_add_string(nvl, "nvlist/string", "test"); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO); - nvlist_add_binary(nvl, "nvlist/binary", "test", 4); - - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_null(nvl, "nvlist/null"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_bool(nvl, "nvlist/bool"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_number(nvl, "nvlist/number"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_string(nvl, "nvlist/string"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_nvlist(nvl, "nvlist/nvlist"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_descriptor(nvl, "nvlist/descriptor"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free_binary(nvl, "nvlist/binary"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary")); - - CHECK(nvlist_empty(nvl)); - - nvlist_add_null(nvl, "nvlist/null"); - nvlist_add_bool(nvl, "nvlist/bool", true); - nvlist_add_number(nvl, "nvlist/number", 0); - nvlist_add_string(nvl, "nvlist/string", "test"); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - nvlist_add_descriptor(nvl, "nvlist/descriptor", STDERR_FILENO); - nvlist_add_binary(nvl, "nvlist/binary", "test", 4); - - CHECK(nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/null"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/bool"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/number"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/string"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/nvlist"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/descriptor"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary")); - - nvlist_free(nvl, "nvlist/binary"); - CHECK(!nvlist_exists_null(nvl, "nvlist/null")); - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool")); - CHECK(!nvlist_exists_number(nvl, "nvlist/number")); - CHECK(!nvlist_exists_string(nvl, "nvlist/string")); - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor")); - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary")); - - CHECK(nvlist_empty(nvl)); - - nvlist_destroy(nvl); - - return (0); -} diff --git a/tools/regression/lib/libnv/nvlist_get.c b/tools/regression/lib/libnv/nvlist_get.c deleted file mode 100644 index b4468db..0000000 --- a/tools/regression/lib/libnv/nvlist_get.c +++ /dev/null @@ -1,182 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -#define fd_is_valid(fd) (fcntl((fd), F_GETFL) != -1 || errno != EBADF) - -int -main(void) -{ - const nvlist_t *cnvl; - nvlist_t *nvl; - size_t size; - - printf("1..83\n"); - - nvl = nvlist_create(0); - - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/true")); - nvlist_add_bool(nvl, "nvlist/bool/true", true); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_get_bool(nvl, "nvlist/bool/true") == true); - - CHECK(!nvlist_exists_bool(nvl, "nvlist/bool/false")); - nvlist_add_bool(nvl, "nvlist/bool/false", false); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_get_bool(nvl, "nvlist/bool/false") == false); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/0")); - nvlist_add_number(nvl, "nvlist/number/0", 0); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_get_number(nvl, "nvlist/number/0") == 0); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/1")); - nvlist_add_number(nvl, "nvlist/number/1", 1); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_get_number(nvl, "nvlist/number/1") == 1); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/-1")); - nvlist_add_number(nvl, "nvlist/number/-1", -1); - CHECK(nvlist_error(nvl) == 0); - CHECK((int)nvlist_get_number(nvl, "nvlist/number/-1") == -1); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/UINT64_MAX")); - nvlist_add_number(nvl, "nvlist/number/UINT64_MAX", UINT64_MAX); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_get_number(nvl, "nvlist/number/UINT64_MAX") == UINT64_MAX); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MIN")); - nvlist_add_number(nvl, "nvlist/number/INT64_MIN", INT64_MIN); - CHECK(nvlist_error(nvl) == 0); - CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MIN") == INT64_MIN); - - CHECK(!nvlist_exists_number(nvl, "nvlist/number/INT64_MAX")); - nvlist_add_number(nvl, "nvlist/number/INT64_MAX", INT64_MAX); - CHECK(nvlist_error(nvl) == 0); - CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MAX") == INT64_MAX); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/")); - nvlist_add_string(nvl, "nvlist/string/", ""); - CHECK(nvlist_error(nvl) == 0); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/"), "") == 0); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/x")); - nvlist_add_string(nvl, "nvlist/string/x", "x"); - CHECK(nvlist_error(nvl) == 0); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/x"), "x") == 0); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - nvlist_add_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"); - CHECK(nvlist_error(nvl) == 0); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0); - - CHECK(!nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - nvlist_add_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", STDERR_FILENO); - CHECK(nvlist_error(nvl) == 0); - CHECK(fd_is_valid(nvlist_get_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"))); - - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/x")); - nvlist_add_binary(nvl, "nvlist/binary/x", "x", 1); - CHECK(nvlist_error(nvl) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", NULL), "x", 1) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", &size), "x", 1) == 0); - CHECK(size == 1); - - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - nvlist_add_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_error(nvl) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - CHECK(nvlist_error(nvl) == 0); - cnvl = nvlist_get_nvlist(nvl, "nvlist/nvlist"); - CHECK(nvlist_get_bool(cnvl, "nvlist/bool/true") == true); - CHECK(nvlist_get_bool(cnvl, "nvlist/bool/false") == false); - CHECK(nvlist_get_number(cnvl, "nvlist/number/0") == 0); - CHECK(nvlist_get_number(cnvl, "nvlist/number/1") == 1); - CHECK((int)nvlist_get_number(cnvl, "nvlist/number/-1") == -1); - CHECK(nvlist_get_number(cnvl, "nvlist/number/UINT64_MAX") == UINT64_MAX); - CHECK((int64_t)nvlist_get_number(cnvl, "nvlist/number/INT64_MIN") == INT64_MIN); - CHECK((int64_t)nvlist_get_number(cnvl, "nvlist/number/INT64_MAX") == INT64_MAX); - CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/"), "") == 0); - CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/x"), "x") == 0); - CHECK(strcmp(nvlist_get_string(cnvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0); - /* TODO */ - CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/x", NULL), "x", 1) == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/x", &size), "x", 1) == 0); - CHECK(size == 1); - CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - CHECK(nvlist_get_bool(nvl, "nvlist/bool/true") == true); - CHECK(nvlist_get_bool(nvl, "nvlist/bool/false") == false); - CHECK(nvlist_get_number(nvl, "nvlist/number/0") == 0); - CHECK(nvlist_get_number(nvl, "nvlist/number/1") == 1); - CHECK((int)nvlist_get_number(nvl, "nvlist/number/-1") == -1); - CHECK(nvlist_get_number(nvl, "nvlist/number/UINT64_MAX") == UINT64_MAX); - CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MIN") == INT64_MIN); - CHECK((int64_t)nvlist_get_number(nvl, "nvlist/number/INT64_MAX") == INT64_MAX); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/"), "") == 0); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/x"), "x") == 0); - CHECK(strcmp(nvlist_get_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz"), "abcdefghijklmnopqrstuvwxyz") == 0); - CHECK(fd_is_valid(nvlist_get_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO"))); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", NULL), "x", 1) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/x", &size), "x", 1) == 0); - CHECK(size == 1); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - nvlist_destroy(nvl); - - return (0); -} diff --git a/tools/regression/lib/libnv/nvlist_move.c b/tools/regression/lib/libnv/nvlist_move.c deleted file mode 100644 index 760399d..0000000 --- a/tools/regression/lib/libnv/nvlist_move.c +++ /dev/null @@ -1,161 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <errno.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -int -main(void) -{ - const nvlist_t *cnvl; - nvlist_t *nvl; - void *ptr; - size_t size; - int fd; - - printf("1..52\n"); - - nvl = nvlist_create(0); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/")); - ptr = strdup(""); - CHECK(ptr != NULL); - nvlist_move_string(nvl, "nvlist/string/", ptr); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/string/")); - CHECK(ptr == nvlist_get_string(nvl, "nvlist/string/")); - - CHECK(!nvlist_exists_string(nvl, "nvlist/string/x")); - ptr = strdup("x"); - CHECK(ptr != NULL); - nvlist_move_string(nvl, "nvlist/string/x", ptr); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, "nvlist/string/x")); - CHECK(ptr == nvlist_get_string(nvl, "nvlist/string/x")); - - CHECK(!nvlist_exists_string(nvl, - "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - ptr = strdup("abcdefghijklmnopqrstuvwxyz"); - CHECK(ptr != NULL); - nvlist_move_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", - ptr); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_string(nvl, - "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - CHECK(ptr == - nvlist_get_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - - CHECK(!nvlist_exists_descriptor(nvl, - "nvlist/descriptor/STDERR_FILENO")); - fd = dup(STDERR_FILENO); - CHECK(fd >= 0); - nvlist_move_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", fd); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - CHECK(fd == - nvlist_get_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - - CHECK(!nvlist_exists_binary(nvl, "nvlist/binary/x")); - ptr = malloc(1); - CHECK(ptr != NULL); - memcpy(ptr, "x", 1); - nvlist_move_binary(nvl, "nvlist/binary/x", ptr, 1); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x")); - CHECK(ptr == nvlist_get_binary(nvl, "nvlist/binary/x", NULL)); - CHECK(ptr == nvlist_get_binary(nvl, "nvlist/binary/x", &size)); - CHECK(size == 1); - - CHECK(!nvlist_exists_binary(nvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - ptr = malloc(sizeof("abcdefghijklmnopqrstuvwxyz")); - CHECK(ptr != NULL); - memcpy(ptr, "abcdefghijklmnopqrstuvwxyz", - sizeof("abcdefghijklmnopqrstuvwxyz")); - nvlist_move_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", - ptr, sizeof("abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_binary(nvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - CHECK(ptr == nvlist_get_binary(nvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz", NULL)); - CHECK(ptr == nvlist_get_binary(nvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz", &size)); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - CHECK(!nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - ptr = nvlist_clone(nvl); - CHECK(ptr != NULL); - nvlist_move_nvlist(nvl, "nvlist/nvlist", ptr); - CHECK(nvlist_error(nvl) == 0); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - CHECK(ptr == nvlist_get_nvlist(nvl, "nvlist/nvlist")); - - CHECK(nvlist_exists_string(nvl, "nvlist/string/")); - CHECK(nvlist_exists_string(nvl, "nvlist/string/x")); - CHECK(nvlist_exists_string(nvl, - "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO")); - CHECK(nvlist_exists_binary(nvl, "nvlist/binary/x")); - CHECK(nvlist_exists_binary(nvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_nvlist(nvl, "nvlist/nvlist")); - - cnvl = nvlist_get_nvlist(nvl, "nvlist/nvlist"); - CHECK(nvlist_exists_string(cnvl, "nvlist/string/")); - CHECK(nvlist_exists_string(cnvl, "nvlist/string/x")); - CHECK(nvlist_exists_string(cnvl, - "nvlist/string/abcdefghijklmnopqrstuvwxyz")); - CHECK(nvlist_exists_descriptor(cnvl, - "nvlist/descriptor/STDERR_FILENO")); - CHECK(nvlist_exists_binary(cnvl, "nvlist/binary/x")); - CHECK(nvlist_exists_binary(cnvl, - "nvlist/binary/abcdefghijklmnopqrstuvwxyz")); - - nvlist_destroy(nvl); - - return (0); -} diff --git a/tools/regression/lib/libnv/nvlist_send_recv.c b/tools/regression/lib/libnv/nvlist_send_recv.c deleted file mode 100644 index c751bf7..0000000 --- a/tools/regression/lib/libnv/nvlist_send_recv.c +++ /dev/null @@ -1,325 +0,0 @@ -/*- - * Copyright (c) 2013 The FreeBSD Foundation - * All rights reserved. - * - * This software was developed by Pawel Jakub Dawidek under sponsorship from - * the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#include <sys/types.h> -#include <sys/socket.h> -#include <sys/wait.h> - -#include <err.h> -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> - -#include <nv.h> - -static int ntest = 1; - -#define CHECK(expr) do { \ - if ((expr)) \ - printf("ok # %d %s:%u\n", ntest, __FILE__, __LINE__); \ - else \ - printf("not ok # %d %s:%u\n", ntest, __FILE__, __LINE__);\ - ntest++; \ -} while (0) - -#define fd_is_valid(fd) (fcntl((fd), F_GETFL) != -1 || errno != EBADF) - -static void -child(int sock) -{ - nvlist_t *nvl; - - nvl = nvlist_create(0); - - nvlist_add_bool(nvl, "nvlist/bool/true", true); - nvlist_add_bool(nvl, "nvlist/bool/false", false); - nvlist_add_number(nvl, "nvlist/number/0", 0); - nvlist_add_number(nvl, "nvlist/number/1", 1); - nvlist_add_number(nvl, "nvlist/number/-1", -1); - nvlist_add_number(nvl, "nvlist/number/UINT64_MAX", UINT64_MAX); - nvlist_add_number(nvl, "nvlist/number/INT64_MIN", INT64_MIN); - nvlist_add_number(nvl, "nvlist/number/INT64_MAX", INT64_MAX); - nvlist_add_string(nvl, "nvlist/string/", ""); - nvlist_add_string(nvl, "nvlist/string/x", "x"); - nvlist_add_string(nvl, "nvlist/string/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz"); - nvlist_add_descriptor(nvl, "nvlist/descriptor/STDERR_FILENO", STDERR_FILENO); - nvlist_add_binary(nvl, "nvlist/binary/x", "x", 1); - nvlist_add_binary(nvl, "nvlist/binary/abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")); - nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl); - - nvlist_send(sock, nvl); - - nvlist_destroy(nvl); -} - -static void -parent(int sock) -{ - nvlist_t *nvl; - const nvlist_t *cnvl; - const char *name, *cname; - void *cookie, *ccookie; - int type, ctype; - size_t size; - - nvl = nvlist_recv(sock); - CHECK(nvlist_error(nvl) == 0); - if (nvlist_error(nvl) != 0) - err(1, "nvlist_recv() failed"); - - cookie = NULL; - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_BOOL); - CHECK(strcmp(name, "nvlist/bool/true") == 0); - CHECK(nvlist_get_bool(nvl, name) == true); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_BOOL); - CHECK(strcmp(name, "nvlist/bool/false") == 0); - CHECK(nvlist_get_bool(nvl, name) == false); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/0") == 0); - CHECK(nvlist_get_number(nvl, name) == 0); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/1") == 0); - CHECK(nvlist_get_number(nvl, name) == 1); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/-1") == 0); - CHECK((int)nvlist_get_number(nvl, name) == -1); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/UINT64_MAX") == 0); - CHECK(nvlist_get_number(nvl, name) == UINT64_MAX); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/INT64_MIN") == 0); - CHECK((int64_t)nvlist_get_number(nvl, name) == INT64_MIN); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NUMBER); - CHECK(strcmp(name, "nvlist/number/INT64_MAX") == 0); - CHECK((int64_t)nvlist_get_number(nvl, name) == INT64_MAX); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_STRING); - CHECK(strcmp(name, "nvlist/string/") == 0); - CHECK(strcmp(nvlist_get_string(nvl, name), "") == 0); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_STRING); - CHECK(strcmp(name, "nvlist/string/x") == 0); - CHECK(strcmp(nvlist_get_string(nvl, name), "x") == 0); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_STRING); - CHECK(strcmp(name, "nvlist/string/abcdefghijklmnopqrstuvwxyz") == 0); - CHECK(strcmp(nvlist_get_string(nvl, name), "abcdefghijklmnopqrstuvwxyz") == 0); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_DESCRIPTOR); - CHECK(strcmp(name, "nvlist/descriptor/STDERR_FILENO") == 0); - CHECK(fd_is_valid(nvlist_get_descriptor(nvl, name))); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_BINARY); - CHECK(strcmp(name, "nvlist/binary/x") == 0); - CHECK(memcmp(nvlist_get_binary(nvl, name, NULL), "x", 1) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, name, &size), "x", 1) == 0); - CHECK(size == 1); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_BINARY); - CHECK(strcmp(name, "nvlist/binary/abcdefghijklmnopqrstuvwxyz") == 0); - CHECK(memcmp(nvlist_get_binary(nvl, name, NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(memcmp(nvlist_get_binary(nvl, name, &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name != NULL); - CHECK(type == NV_TYPE_NVLIST); - CHECK(strcmp(name, "nvlist/nvlist") == 0); - cnvl = nvlist_get_nvlist(nvl, name); - - ccookie = NULL; - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_BOOL); - CHECK(strcmp(cname, "nvlist/bool/true") == 0); - CHECK(nvlist_get_bool(cnvl, cname) == true); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_BOOL); - CHECK(strcmp(cname, "nvlist/bool/false") == 0); - CHECK(nvlist_get_bool(cnvl, cname) == false); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/0") == 0); - CHECK(nvlist_get_number(cnvl, cname) == 0); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/1") == 0); - CHECK(nvlist_get_number(cnvl, cname) == 1); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/-1") == 0); - CHECK((int)nvlist_get_number(cnvl, cname) == -1); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/UINT64_MAX") == 0); - CHECK(nvlist_get_number(cnvl, cname) == UINT64_MAX); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/INT64_MIN") == 0); - CHECK((int64_t)nvlist_get_number(cnvl, cname) == INT64_MIN); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_NUMBER); - CHECK(strcmp(cname, "nvlist/number/INT64_MAX") == 0); - CHECK((int64_t)nvlist_get_number(cnvl, cname) == INT64_MAX); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_STRING); - CHECK(strcmp(cname, "nvlist/string/") == 0); - CHECK(strcmp(nvlist_get_string(cnvl, cname), "") == 0); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_STRING); - CHECK(strcmp(cname, "nvlist/string/x") == 0); - CHECK(strcmp(nvlist_get_string(cnvl, cname), "x") == 0); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_STRING); - CHECK(strcmp(cname, "nvlist/string/abcdefghijklmnopqrstuvwxyz") == 0); - CHECK(strcmp(nvlist_get_string(cnvl, cname), "abcdefghijklmnopqrstuvwxyz") == 0); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_DESCRIPTOR); - CHECK(strcmp(cname, "nvlist/descriptor/STDERR_FILENO") == 0); - CHECK(fd_is_valid(nvlist_get_descriptor(cnvl, cname))); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_BINARY); - CHECK(strcmp(cname, "nvlist/binary/x") == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, cname, NULL), "x", 1) == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, cname, &size), "x", 1) == 0); - CHECK(size == 1); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname != NULL); - CHECK(ctype == NV_TYPE_BINARY); - CHECK(strcmp(cname, "nvlist/binary/abcdefghijklmnopqrstuvwxyz") == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, cname, NULL), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(memcmp(nvlist_get_binary(cnvl, cname, &size), "abcdefghijklmnopqrstuvwxyz", sizeof("abcdefghijklmnopqrstuvwxyz")) == 0); - CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz")); - - cname = nvlist_next(cnvl, &ctype, &ccookie); - CHECK(cname == NULL); - - name = nvlist_next(nvl, &type, &cookie); - CHECK(name == NULL); -} - -int -main(void) -{ - int status, socks[2]; - pid_t pid; - - printf("1..126\n"); - fflush(stdout); - - if (socketpair(PF_UNIX, SOCK_STREAM, 0, socks) < 0) - err(1, "socketpair() failed"); - pid = fork(); - switch (pid) { - case -1: - /* Failure. */ - err(1, "unable to fork"); - case 0: - /* Child. */ - close(socks[0]); - child(socks[1]); - return (0); - default: - /* Parent. */ - close(socks[1]); - parent(socks[0]); - break; - } - - if (waitpid(pid, &status, 0) < 0) - err(1, "waitpid() failed"); - - return (0); -} |