diff options
author | Russ Allbery <rra@stanford.edu> | 2007-10-04 22:21:19 +0000 |
---|---|---|
committer | Russ Allbery <rra@stanford.edu> | 2007-10-04 22:21:19 +0000 |
commit | 9ff667addf39128f43d08d4ec56a6a94ec3bb062 (patch) | |
tree | 41cd39045fb2d37d343608af57aebf844ecd5690 /tests/portable/asprintf-t.c | |
parent | 2f9387bdf0e047bbd193532c4fed209acabd0e7a (diff) |
Initial import of a C portability framework and utility functions from
remctl so that the wallet client error handling can rest on a firmer
foundation.
Diffstat (limited to 'tests/portable/asprintf-t.c')
-rw-r--r-- | tests/portable/asprintf-t.c | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/portable/asprintf-t.c b/tests/portable/asprintf-t.c new file mode 100644 index 0000000..a362755 --- /dev/null +++ b/tests/portable/asprintf-t.c @@ -0,0 +1,51 @@ +/* $Id$ */ +/* asprintf and vasprintf test suite. */ + +/* Written by Russ Allbery <rra@stanford.edu> + Copyright 2006 Board of Trustees, Leland Stanford Jr. University + See README for licensing terms. */ + +#include <config.h> +#include <system.h> + +#include <tests/libtest.h> + +static int +vatest(char **result, const char *format, ...) +{ + va_list args; + int status; + + va_start(args, format); + status = vasprintf(result, format, args); + va_end(args); + return status; +} + +int +main(void) +{ + char *result = NULL; + + test_init(12); + + ok_int(1, 7, asprintf(&result, "%s", "testing")); + ok_string(2, "testing", result); + free(result); + ok(3, 1); + ok_int(4, 0, asprintf(&result, "%s", "")); + ok_string(5, "", result); + free(result); + ok(6, 1); + + ok_int(7, 6, vatest(&result, "%d %s", 2, "test")); + ok_string(8, "2 test", result); + free(result); + ok(9, 1); + ok_int(10, 0, vatest(&result, "%s", "")); + ok_string(11, "", result); + free(result); + ok(12, 1); + + return 0; +} |