X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-vasnprintf.c;h=6b2a0ff05ac2b242dee67705e0e080cf35a825a0;hb=ecaa75e473e24317c629b28380cd9b9658e5ac76;hp=280e1f47f2172cf6198016d5c81303f720b9802f;hpb=441aa3044f43e5572f58c354f01e6bc070acd5c7;p=gnulib.git diff --git a/tests/test-vasnprintf.c b/tests/test-vasnprintf.c index 280e1f47f..6b2a0ff05 100644 --- a/tests/test-vasnprintf.c +++ b/tests/test-vasnprintf.c @@ -1,5 +1,5 @@ /* Test of vasnprintf() and asnprintf() functions. - Copyright (C) 2007-2008 Free Software Foundation, Inc. + Copyright (C) 2007-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,36 +21,13 @@ #include "vasnprintf.h" #include -#include #include #include -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) - -static char * -my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) -{ - va_list args; - char *ret; - - va_start (args, format); - ret = vasnprintf (resultbuf, lengthp, format, args); - va_end (args); - return ret; -} +#include "macros.h" static void -test_vasnprintf () +test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { char buf[8]; int size; @@ -84,39 +61,28 @@ test_vasnprintf () } } -static void -test_asnprintf () +static char * +my_asnprintf (char *resultbuf, size_t *lengthp, const char *format, ...) { - char buf[8]; - int size; + va_list args; + char *ret; - for (size = 0; size <= 8; size++) - { - size_t length = size; - char *result = asnprintf (NULL, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - free (result); - } + va_start (args, format); + ret = vasnprintf (resultbuf, lengthp, format, args); + va_end (args); + return ret; +} - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} - memcpy (buf, "DEADBEEF", 8); - length = size; - result = asnprintf (buf, &length, "%d", 12345); - ASSERT (result != NULL); - ASSERT (strcmp (result, "12345") == 0); - ASSERT (length == 5); - if (size < 6) - ASSERT (result != buf); - ASSERT (memcmp (buf + size, "DEADBEEF" + size, 8 - size) == 0); - if (result != buf) - free (result); - } +static void +test_asnprintf () +{ + test_function (asnprintf); } int