Mercurial > hg > octave-nkf > gnulib-hg
changeset 13195:563239444f8f
vasnprintf test: Reduce code duplication.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 10 Apr 2010 18:41:20 +0200 |
parents | 5aec4f35399f |
children | 670e389ef70e |
files | ChangeLog tests/test-vasnprintf.c |
diffstat | 2 files changed, 27 insertions(+), 43 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-04-10 Bruno Haible <bruno@clisp.org> + + vasnprintf test: Reduce code duplication. + * tests/test-vasnprintf.c (test_function): New function, extracted from + test_vasnprintf. + (test_vasnprintf, test_asnprintf): Invoke it. + 2010-04-10 Bruno Haible <bruno@clisp.org> strnlen: Fix warning in C++ mode on MacOS X.
--- a/tests/test-vasnprintf.c +++ b/tests/test-vasnprintf.c @@ -26,20 +26,8 @@ #include "macros.h" -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; -} - static void -test_vasnprintf () +test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { char buf[8]; int size; @@ -73,39 +61,28 @@ } } +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; +} + +static void +test_vasnprintf () +{ + test_function (my_asnprintf); +} + static void test_asnprintf () { - char buf[8]; - int size; - - 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); - } - - for (size = 0; size <= 8; size++) - { - size_t length; - char *result; - - 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); - } + test_function (asnprintf); } int