From 9ff667addf39128f43d08d4ec56a6a94ec3bb062 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Thu, 4 Oct 2007 22:21:19 +0000 Subject: 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. --- tests/portable/asprintf-t.c | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 tests/portable/asprintf-t.c (limited to 'tests/portable/asprintf-t.c') 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 + Copyright 2006 Board of Trustees, Leland Stanford Jr. University + See README for licensing terms. */ + +#include +#include + +#include + +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; +} -- cgit v1.2.3