From 79b77b421d6e6b82de46cca841d30808bba89322 Mon Sep 17 00:00:00 2001
From: Nick Mathewson <nickm@torproject.org>
Date: Mon, 7 Apr 2003 13:25:44 +0000
Subject: [PATCH] First test added

svn:r226
---
 src/common/test.h | 75 +++++++++++++++++++++++++++++++++++++++++++++++
 src/or/test.c     | 24 +++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 src/common/test.h

diff --git a/src/common/test.h b/src/common/test.h
new file mode 100644
index 0000000000..187828e921
--- /dev/null
+++ b/src/common/test.h
@@ -0,0 +1,75 @@
+/* Copyright 2001,2002 Roger Dingledine, Matej Pfajfar. */
+/* See LICENSE for licensing information */
+/* $Id$ */
+
+#ifndef __TEST_H
+#define __TEST_H
+
+#define test_fail()                                             \
+  if (1) {                                                      \
+    printf("\nFile %s: line %d (%s): assertion failed.",        \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__);                                     \
+    return;                                                     \
+  }
+
+#define test_assert(expr)                                       \
+  if(expr) { printf("."); } else {                              \
+    printf("\nFile %s: line %d (%s): assertion failed: (%s)\n", \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__,                                      \
+      #expr);                                                   \
+    return;                                                     \
+  }
+
+#define test_eq(expr1, expr2)                                   \
+  if(expr1==expr2) { printf("."); } else {                      \
+    printf("\nFile %s: line %d (%s): Assertion failed: (%s==%s)\n"\
+           "      (%ld != %ld)\n",                              \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__,                                      \
+      #expr1, #expr2,                                           \
+      (long)expr1, (long)expr2);                                \
+    return;                                                     \
+  }
+
+#define test_neq(expr1, expr2)                                  \
+  if(expr1!=expr2) { printf("."); } else {                      \
+    printf("\nFile %s: line %d (%s): Assertion failed: (%s!=%s)\n"\
+           "      (%ld == %ld)\n",                              \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__,                                      \
+      #expr1, #expr2,                                           \
+      (long)expr1, (long)expr2);                                \
+    return;                                                     \
+  }
+
+#define test_streq(expr1, expr2)                                \
+  if(!strcmp(expr1,expr2)) { printf("."); } else {              \
+    printf("\nFile %s: line %d (%s): Assertion failed: (%s==%s)\n"\
+           "      (%s != %s)\n",                                \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__,                                      \
+      #expr1, #expr2,                                           \
+      (long)expr1, (long)expr2);                                \
+    return;                                                     \
+  }
+
+#define test_strneq(expr1, expr2)                               \
+  if(strcmp(expr1,expr2)) { printf("."); } else {               \
+    printf("\nFile %s: line %d (%s): Assertion failed: (%s!=%s)\n"\
+           "      (%s == %s)\n",                                \
+      __FILE__,                                                 \
+      __LINE__,                                                 \
+      __PRETTY_FUNCTION__,                                      \
+      #expr1, #expr2,                                           \
+      expr1, expr2);                                            \
+    return;                                                     \
+  }
+
+#endif
diff --git a/src/or/test.c b/src/or/test.c
index 294dfddea2..49877f5d54 100644
--- a/src/or/test.c
+++ b/src/or/test.c
@@ -2,7 +2,31 @@
 /* See LICENSE for licensing information */
 /* $Id$ */
 
+#include "or.h"
+#include "../common/test.h"
+
+void
+test_buffers() {
+  char *buf;
+  int buflen, buf_datalen;
+
+  if (buf_new(&buf, &buflen, &buf_datalen)) {
+    test_fail();
+  }
+
+  test_eq(buflen, MAX_BUF_SIZE);
+  test_eq(buf_datalen, 0);
+
+  
+
+  buf_free(buf);
+}
+
+
 int main(int c, char**v) {
+  test_buffers();
+
+  printf("\n");
   return 0;
 }
 
-- 
GitLab