Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Mar 2015 00:22:10 +0000 (UTC)
From:      Ryan Stone <rstone@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r279432 - head/lib/libnv/tests
Message-ID:  <201503010022.t210MAgR083477@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rstone
Date: Sun Mar  1 00:22:09 2015
New Revision: 279432
URL: https://svnweb.freebsd.org/changeset/base/279432

Log:
  Extend the unit test to fix the bug caught in r277925
  
  Differential Revision:		https://reviews.freebsd.org/D1888
  MFC After:			1 month
  Sponsored by:			Sandvine Inc.

Modified:
  head/lib/libnv/tests/nvlist_send_recv_test.c

Modified: head/lib/libnv/tests/nvlist_send_recv_test.c
==============================================================================
--- head/lib/libnv/tests/nvlist_send_recv_test.c	Sun Mar  1 00:22:03 2015	(r279431)
+++ head/lib/libnv/tests/nvlist_send_recv_test.c	Sun Mar  1 00:22:09 2015	(r279432)
@@ -58,8 +58,10 @@ static void
 child(int sock)
 {
 	nvlist_t *nvl;
+	nvlist_t *empty;
 
 	nvl = nvlist_create(0);
+	empty = nvlist_create(0);
 
 	nvlist_add_bool(nvl, "nvlist/bool/true", true);
 	nvlist_add_bool(nvl, "nvlist/bool/false", false);
@@ -75,6 +77,7 @@ child(int sock)
 	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_move_nvlist(nvl, "nvlist/nvlist/empty", empty);
 	nvlist_add_nvlist(nvl, "nvlist/nvlist", nvl);
 
 	nvlist_send(sock, nvl);
@@ -86,7 +89,7 @@ static void
 parent(int sock)
 {
 	nvlist_t *nvl;
-	const nvlist_t *cnvl;
+	const nvlist_t *cnvl, *empty;
 	const char *name, *cname;
 	void *cookie, *ccookie;
 	int type, ctype;
@@ -190,6 +193,13 @@ parent(int sock)
 	name = nvlist_next(nvl, &type, &cookie);
 	CHECK(name != NULL);
 	CHECK(type == NV_TYPE_NVLIST);
+	CHECK(strcmp(name, "nvlist/nvlist/empty") == 0);
+	cnvl = nvlist_get_nvlist(nvl, name);
+	CHECK(nvlist_empty(cnvl));
+
+	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);
 
@@ -284,6 +294,13 @@ parent(int sock)
 	CHECK(size == sizeof("abcdefghijklmnopqrstuvwxyz"));
 
 	cname = nvlist_next(cnvl, &ctype, &ccookie);
+	CHECK(cname != NULL);
+	CHECK(ctype == NV_TYPE_NVLIST);
+	CHECK(strcmp(cname, "nvlist/nvlist/empty") == 0);
+	empty = nvlist_get_nvlist(cnvl, cname);
+	CHECK(nvlist_empty(empty));
+
+	cname = nvlist_next(cnvl, &ctype, &ccookie);
 	CHECK(cname == NULL);
 
 	name = nvlist_next(nvl, &type, &cookie);
@@ -296,7 +313,7 @@ main(void)
 	int status, socks[2];
 	pid_t pid;
 
-	printf("1..126\n");
+	printf("1..134\n");
 	fflush(stdout);
 
 	if (socketpair(PF_UNIX, SOCK_STREAM, 0, socks) < 0)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503010022.t210MAgR083477>