summaryrefslogtreecommitdiffstats
path: root/contrib/libucl/tests
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-04-22 22:02:06 +0000
committerbapt <bapt@FreeBSD.org>2014-04-22 22:02:06 +0000
commit8286a6069a68d13dc8ef55a25885a57aa127dde3 (patch)
tree72be8a76cd83688338f881c969e6dfc0583ec8ff /contrib/libucl/tests
parent418b7ad78192cd30c84465a025da93f4d87a8491 (diff)
downloadFreeBSD-src-8286a6069a68d13dc8ef55a25885a57aa127dde3.zip
FreeBSD-src-8286a6069a68d13dc8ef55a25885a57aa127dde3.tar.gz
Import libucl 0.4.0
Adapt pkg(7) to the new libucl API
Diffstat (limited to 'contrib/libucl/tests')
-rw-r--r--contrib/libucl/tests/test_basic.c4
-rw-r--r--contrib/libucl/tests/test_generate.c52
-rw-r--r--contrib/libucl/tests/test_schema.c11
3 files changed, 38 insertions, 29 deletions
diff --git a/contrib/libucl/tests/test_basic.c b/contrib/libucl/tests/test_basic.c
index 0834728..5a977aa 100644
--- a/contrib/libucl/tests/test_basic.c
+++ b/contrib/libucl/tests/test_basic.c
@@ -78,7 +78,9 @@ main (int argc, char **argv)
while (!feof (in)) {
memset (inbuf, 0, sizeof (inbuf));
- (void)fread (inbuf, sizeof (inbuf) - 1, 1, in);
+ if (fread (inbuf, 1, sizeof (inbuf) - 1, in) == 0) {
+ break;
+ }
inlen = strlen (inbuf);
test_in = malloc (inlen);
memcpy (test_in, inbuf, inlen);
diff --git a/contrib/libucl/tests/test_generate.c b/contrib/libucl/tests/test_generate.c
index b2081ba..2b1bf8d 100644
--- a/contrib/libucl/tests/test_generate.c
+++ b/contrib/libucl/tests/test_generate.c
@@ -29,7 +29,7 @@
int
main (int argc, char **argv)
{
- ucl_object_t *obj, *cur, *ar;
+ ucl_object_t *obj, *cur, *ar, *ref;
FILE *out;
unsigned char *emitted;
const char *fname_out = NULL;
@@ -55,62 +55,64 @@ main (int argc, char **argv)
obj = ucl_object_typed_new (UCL_OBJECT);
/* Create some strings */
cur = ucl_object_fromstring_common (" test string ", 0, UCL_STRING_TRIM);
- obj = ucl_object_insert_key (obj, cur, "key1", 0, false);
+ ucl_object_insert_key (obj, cur, "key1", 0, false);
cur = ucl_object_fromstring_common (" test \nstring\n ", 0, UCL_STRING_TRIM | UCL_STRING_ESCAPE);
- obj = ucl_object_insert_key (obj, cur, "key2", 0, false);
+ ucl_object_insert_key (obj, cur, "key2", 0, false);
cur = ucl_object_fromstring_common (" test string \n", 0, 0);
- obj = ucl_object_insert_key (obj, cur, "key3", 0, false);
+ ucl_object_insert_key (obj, cur, "key3", 0, false);
/* Array of numbers */
+ ar = ucl_object_typed_new (UCL_ARRAY);
cur = ucl_object_fromint (10);
- ar = ucl_array_append (NULL, cur);
+ ucl_array_append (ar, cur);
cur = ucl_object_fromdouble (10.1);
- ar = ucl_array_append (ar, cur);
+ ucl_array_append (ar, cur);
cur = ucl_object_fromdouble (9.999);
- ar = ucl_array_prepend (ar, cur);
+ ucl_array_prepend (ar, cur);
/* Removing from an array */
cur = ucl_object_fromdouble (1.0);
- ar = ucl_array_append (ar, cur);
+ ucl_array_append (ar, cur);
cur = ucl_array_delete (ar, cur);
assert (ucl_object_todouble (cur) == 1.0);
ucl_object_unref (cur);
cur = ucl_object_fromdouble (2.0);
- ar = ucl_array_append (ar, cur);
+ ucl_array_append (ar, cur);
cur = ucl_array_pop_last (ar);
assert (ucl_object_todouble (cur) == 2.0);
ucl_object_unref (cur);
cur = ucl_object_fromdouble (3.0);
- ar = ucl_array_prepend (ar, cur);
+ ucl_array_prepend (ar, cur);
cur = ucl_array_pop_first (ar);
assert (ucl_object_todouble (cur) == 3.0);
ucl_object_unref (cur);
- obj = ucl_object_insert_key (obj, ar, "key4", 0, false);
+ ucl_object_insert_key (obj, ar, "key4", 0, false);
cur = ucl_object_frombool (true);
- obj = ucl_object_insert_key (obj, cur, "key4", 0, false);
+ /* Ref object to test refcounts */
+ ref = ucl_object_ref (cur);
+ ucl_object_insert_key (obj, cur, "key4", 0, false);
/* Empty strings */
cur = ucl_object_fromstring_common (" ", 0, UCL_STRING_TRIM);
- obj = ucl_object_insert_key (obj, cur, "key5", 0, false);
+ ucl_object_insert_key (obj, cur, "key5", 0, false);
cur = ucl_object_fromstring_common ("", 0, UCL_STRING_ESCAPE);
- obj = ucl_object_insert_key (obj, cur, "key6", 0, false);
+ ucl_object_insert_key (obj, cur, "key6", 0, false);
cur = ucl_object_fromstring_common (" \n", 0, UCL_STRING_ESCAPE);
- obj = ucl_object_insert_key (obj, cur, "key7", 0, false);
+ ucl_object_insert_key (obj, cur, "key7", 0, false);
/* Numbers and booleans */
cur = ucl_object_fromstring_common ("1mb", 0, UCL_STRING_ESCAPE | UCL_STRING_PARSE);
- obj = ucl_object_insert_key (obj, cur, "key8", 0, false);
+ ucl_object_insert_key (obj, cur, "key8", 0, false);
cur = ucl_object_fromstring_common ("3.14", 0, UCL_STRING_PARSE);
- obj = ucl_object_insert_key (obj, cur, "key9", 0, false);
+ ucl_object_insert_key (obj, cur, "key9", 0, false);
cur = ucl_object_fromstring_common ("true", 0, UCL_STRING_PARSE);
- obj = ucl_object_insert_key (obj, cur, "key10", 0, false);
+ ucl_object_insert_key (obj, cur, "key10", 0, false);
cur = ucl_object_fromstring_common (" off ", 0, UCL_STRING_PARSE | UCL_STRING_TRIM);
- obj = ucl_object_insert_key (obj, cur, "key11", 0, false);
+ ucl_object_insert_key (obj, cur, "key11", 0, false);
cur = ucl_object_fromstring_common ("gslin@gslin.org", 0, UCL_STRING_PARSE_INT);
- obj = ucl_object_insert_key (obj, cur, "key12", 0, false);
+ ucl_object_insert_key (obj, cur, "key12", 0, false);
cur = ucl_object_fromstring_common ("#test", 0, UCL_STRING_PARSE_INT);
- obj = ucl_object_insert_key (obj, cur, "key13", 0, false);
+ ucl_object_insert_key (obj, cur, "key13", 0, false);
cur = ucl_object_frombool (true);
- obj = ucl_object_insert_key (obj, cur, "k=3", 0, false);
-
+ ucl_object_insert_key (obj, cur, "k=3", 0, false);
emitted = ucl_object_emit (obj, UCL_EMIT_CONFIG);
@@ -122,5 +124,9 @@ main (int argc, char **argv)
}
fclose (out);
+ /* Ref should still be accessible */
+ ref->value.iv = 100500;
+ ucl_object_unref (ref);
+
return ret;
}
diff --git a/contrib/libucl/tests/test_schema.c b/contrib/libucl/tests/test_schema.c
index 9436d71..afce178 100644
--- a/contrib/libucl/tests/test_schema.c
+++ b/contrib/libucl/tests/test_schema.c
@@ -58,10 +58,10 @@ read_stdin (char **buf)
}
static bool
-perform_test (ucl_object_t *schema, ucl_object_t *obj,
+perform_test (const ucl_object_t *schema, const ucl_object_t *obj,
struct ucl_schema_error *err)
{
- ucl_object_t *valid, *data, *description;
+ const const ucl_object_t *valid, *data, *description;
bool match;
data = ucl_object_find_key (obj, "data");
@@ -86,11 +86,11 @@ perform_test (ucl_object_t *schema, ucl_object_t *obj,
}
static int
-perform_tests (ucl_object_t *obj)
+perform_tests (const ucl_object_t *obj)
{
struct ucl_schema_error err;
ucl_object_iter_t iter = NULL;
- ucl_object_t *schema, *tests, *description, *test;
+ const ucl_object_t *schema, *tests, *description, *test;
if (obj->type != UCL_OBJECT) {
fprintf (stdout, "Bad test case\n");
@@ -124,7 +124,8 @@ main (int argc, char **argv)
{
char *buf = NULL;
struct ucl_parser *parser;
- ucl_object_t *obj = NULL, *elt;
+ ucl_object_t *obj = NULL;
+ const ucl_object_t *elt;
ucl_object_iter_t iter = NULL;
int ret = 0;
OpenPOWER on IntegriCloud