]> git.ozlabs.org Git - ccan/blobdiff - ccan/tal/test/run-take.c
base64: fix for unsigned chars (e.g. ARM).
[ccan] / ccan / tal / test / run-take.c
index 9f0a22c6c4ea24bf6cae5b0701564573b7bdb347..4a7f0c7495374fa72696dce45e6111ca024fec09 100644 (file)
@@ -6,7 +6,7 @@ int main(void)
 {
        char *parent, *c;
 
-       plan_tests(32);
+       plan_tests(22);
 
        /* We can take NULL. */
        ok1(take(NULL) == NULL);
@@ -24,31 +24,19 @@ int main(void)
        ok1(!is_taken(parent));
        ok1(!taken(parent));
 
-       c = tal_strdup(parent, "hello");
-
-       c = tal_strdup(parent, take(c));
-       ok1(strcmp(c, "hello") == 0);
-       ok1(tal_parent(c) == parent);
-
-       c = tal_strndup(parent, take(c), 5);
-       ok1(strcmp(c, "hello") == 0);
-       ok1(tal_parent(c) == parent);
-
-       c = tal_strndup(parent, take(c), 3);
-       ok1(strcmp(c, "hel") == 0);
-       ok1(tal_parent(c) == parent);
-
-       c = tal_dup(parent, char, take(c), 1, 0);
+       c = tal(parent, char);
+       *c = 'h';
+       c = tal_dup(parent, char, take(c));
        ok1(c[0] == 'h');
        ok1(tal_parent(c) == parent);
 
-       c = tal_dup(parent, char, take(c), 1, 2);
+       c = tal_dup_arr(parent, char, take(c), 1, 2);
        ok1(c[0] == 'h');
        strcpy(c, "hi");
        ok1(tal_parent(c) == parent);
 
        /* dup must reparent child. */
-       c = tal_dup(NULL, char, take(c), 1, 0);
+       c = tal_dup(NULL, char, take(c));
        ok1(c[0] == 'h');
        ok1(tal_parent(c) == NULL);
 
@@ -56,23 +44,20 @@ int main(void)
        tal_free(c);
        ok1(tal_first(parent) == NULL);
 
-       c = tal_strdup(parent, "hello %s");
-       c = tal_asprintf(parent, take(c), "there");
-       ok1(strcmp(c, "hello there") == 0);
-       ok1(tal_parent(c) == parent);
-       /* No leftover allocations. */
+       /* tal_resize should return a taken pointer. */
+       c = take(tal_arr(parent, char, 5));
+       tal_resize(&c, 100);
+       ok1(taken(c));
        tal_free(c);
-       ok1(tal_first(parent) == NULL);
 
        tal_free(parent);
        ok1(!taken_any());
 
        /* NULL pass-through. */
        c = NULL;
-       ok1(tal_strdup(NULL, take(c)) == NULL);
-       ok1(tal_strndup(NULL, take(c), 5) == NULL);
-       ok1(tal_dup(NULL, char, take(c), 5, 5) == NULL);
-       ok1(tal_asprintf(NULL, take(c), 0) == NULL);
+       ok1(tal_dup_arr(NULL, char, take(c), 5, 5) == NULL);
+       ok1(!taken_any());
 
+       tal_cleanup();
        return exit_status();
 }