diff options
Diffstat (limited to 'tests/taplib.c')
-rw-r--r-- | tests/taplib.c | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/taplib.c b/tests/taplib.c new file mode 100644 index 0000000..bfb70f8 --- /dev/null +++ b/tests/taplib.c @@ -0,0 +1,79 @@ +#include "taplib.h" + +#include <stdio.h> +#include <stdarg.h> +#include <string.h> + +static int g_nexttest = 1; +static int g_exit_status = 0; + +void +plan_tests (int n) +{ + printf ("1..%d\n", n); +} + +void +pass (char *name) +{ + printf ("ok %d - %s\n", g_nexttest++, name); +} + +void +fail (char *name) +{ + printf ("not ok %d - %s\n", g_nexttest++, name); + g_exit_status = 1; +} + +void +ok (int cmp, char *name) +{ + if (cmp) + pass (name); + else + fail (name); +} + +void +diag (char *fmt, ...) +{ + va_list args; + va_start (args, fmt); + + fprintf (stderr, "# "); + vfprintf (stderr, fmt, args); + fprintf (stderr, "\n"); + + va_end (args); +} + +void +is_int (int got, int expect, char *name) +{ + if (got == expect) + ok (1, name); + else + { + ok (0, name); + diag ("got %d expected %d", got, expect); + } +} + +void +is_str (const char *got, const char *expect, char *name) +{ + if (strcmp (got, expect) == 0) + ok (1, name); + else + { + ok (0, name); + diag ("got '%s' expected '%s'", got, expect); + } +} + +int +exit_status(void) +{ + return g_exit_status; +} |