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 <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
This commit is contained in:
Russ Allbery 2010-06-08 18:40:11 -07:00 committed by Derrick Brashear
parent 53304359a7
commit 74a332e7ee
2 changed files with 22 additions and 1 deletions

View File

@ -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.
*/

View File

@ -15,6 +15,7 @@
#ifndef TAP_BASIC_H
#define TAP_BASIC_H 1
#include <stdarg.h> /* va_list */
#include <sys/types.h> /* 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)));