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