Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jan 2016 09:19:54 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r293095 - user/ngie/stable-10-libnv/lib/libnv/tests
Message-ID:  <201601030919.u039JsQ5029328@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sun Jan  3 09:19:54 2016
New Revision: 293095
URL: https://svnweb.freebsd.org/changeset/base/293095

Log:
  MFC r282348:
  r282348 (by oshogbo):
  
  Add test case for unpack with diffrent flags.

Modified:
  user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc
Directory Properties:
  user/ngie/stable-10-libnv/   (props changed)

Modified: user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc
==============================================================================
--- user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc	Sun Jan  3 09:16:42 2016	(r293094)
+++ user/ngie/stable-10-libnv/lib/libnv/tests/nv_tests.cc	Sun Jan  3 09:19:54 2016	(r293095)
@@ -451,6 +451,40 @@ ATF_TEST_CASE_BODY(nvlist_pack__empty_nv
 	free(packed);
 }
 
+ATF_TEST_CASE_WITHOUT_HEAD(nvlist_unpack__flags_nvlist);
+ATF_TEST_CASE_BODY(nvlist_unpack__flags_nvlist)
+{
+	nvlist_t *nvl, *unpacked;
+	void *packed;
+	size_t packed_size;
+
+	nvl = nvlist_create(NV_FLAG_NO_UNIQUE);
+	ATF_REQUIRE(nvl != NULL);
+
+	nvlist_add_bool(nvl, "name", true);
+	ATF_REQUIRE(!nvlist_empty(nvl));
+	ATF_REQUIRE(nvlist_exists_bool(nvl, "name"));
+
+	packed = nvlist_pack(nvl, &packed_size);
+	ATF_REQUIRE(packed != NULL);
+
+	unpacked = nvlist_unpack(packed, packed_size, 0);
+	ATF_REQUIRE(unpacked == NULL);
+
+	unpacked = nvlist_unpack(packed, packed_size, NV_FLAG_IGNORE_CASE);
+	ATF_REQUIRE(unpacked == NULL);
+
+	unpacked = nvlist_unpack(packed, packed_size, NV_FLAG_NO_UNIQUE);
+	ATF_REQUIRE(unpacked != NULL);
+	ATF_REQUIRE(unpacked != nvl);
+	ATF_REQUIRE(!nvlist_empty(unpacked));
+	ATF_REQUIRE(nvlist_exists_bool(unpacked, "name"));
+
+	nvlist_destroy(unpacked);
+	nvlist_destroy(nvl);
+	free(packed);
+}
+
 static void
 verify_null(const nvlist_t *nvl, int type)
 {
@@ -1207,6 +1241,7 @@ ATF_INIT_TEST_CASES(tp)
 	ATF_ADD_TEST_CASE(tp, nvlist_pack__multiple_values);
 	ATF_ADD_TEST_CASE(tp, nvlist_pack__error_nvlist);
 	ATF_ADD_TEST_CASE(tp, nvlist_unpack__duplicate_key);
+	ATF_ADD_TEST_CASE(tp, nvlist_unpack__flags_nvlist);
 
 	ATF_ADD_TEST_CASE(tp, nvlist_move_string__single_insert);
 	ATF_ADD_TEST_CASE(tp, nvlist_move_nvlist__single_insert);



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