aboutsummaryrefslogtreecommitdiff
path: root/tests/taplib.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/taplib.c')
-rw-r--r--tests/taplib.c79
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;
+}