From 74a332e7ee69256c232e4f583f7c10e238cd3ac5 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Tue, 8 Jun 2010 18:40:11 -0700 Subject: [PATCH] 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 --- tests/tap/basic.c | 15 +++++++++++++++ tests/tap/basic.h | 8 +++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/tap/basic.c b/tests/tap/basic.c index 2cdafa6c7c..ac40e4f2d6 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 9ce4c7add8..f8e5a5876c 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)));