From: Russ Allbery Date: Wed, 9 Jun 2010 01:40:11 +0000 (-0700) Subject: Add okv function to the TAP test library X-Git-Tag: openafs-devel-1_5_75~174 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=74a332e7ee69256c232e4f583f7c10e238cd3ac5;p=packages%2Fo%2Fopenafs.git Add okv function to the TAP test library Add an okv() varient of the ok() function that takes the arguments as a va_list instead of as a variable argument list. This makes it easier to reuse ok() when writing other tests. Change-Id: Icaeaaf9d6bd9d54bfd886a75961d98367ee0fb9a Reviewed-on: http://gerrit.openafs.org/2098 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/tests/tap/basic.c b/tests/tap/basic.c index 2cdafa6c7..ac40e4f2d 100644 --- a/tests/tap/basic.c +++ b/tests/tap/basic.c @@ -175,6 +175,21 @@ ok(int success, const char *format, ...) } +/* + * Same as ok(), but takes the format arguments as a va_list. + */ +void +okv(int success, const char *format, va_list args) +{ + printf("%sok %lu", success ? "" : "not ", testnum++); + if (!success) + _failed++; + if (format != NULL) + print_desc(format, args); + putchar('\n'); +} + + /* * Skip a test. */ diff --git a/tests/tap/basic.h b/tests/tap/basic.h index 9ce4c7add..f8e5a5876 100644 --- a/tests/tap/basic.h +++ b/tests/tap/basic.h @@ -15,6 +15,7 @@ #ifndef TAP_BASIC_H #define TAP_BASIC_H 1 +#include /* va_list */ #include /* pid_t */ /* @@ -72,9 +73,14 @@ void plan_lazy(void); void skip_all(const char *format, ...) __attribute__((__noreturn__, __format__(printf, 1, 2))); -/* Basic reporting functions. */ +/* + * Basic reporting functions. The okv() function is the same as ok() but + * takes the test description as a va_list to make it easier to reuse the + * reporting infrastructure when writing new tests. + */ void ok(int success, const char *format, ...) __attribute__((__format__(printf, 2, 3))); +void okv(int success, const char *format, va_list args); void skip(const char *reason, ...) __attribute__((__format__(printf, 1, 2)));