diff options
author | Nick Mathewson <nickm@torproject.org> | 2003-04-07 13:25:44 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2003-04-07 13:25:44 +0000 |
commit | 79b77b421d6e6b82de46cca841d30808bba89322 (patch) | |
tree | d22ce3205261f8073839aed81fed9876e1b751da /src | |
parent | 18bbac44ca22c2546f66097ca3458f086608c022 (diff) | |
download | tor-79b77b421d6e6b82de46cca841d30808bba89322.tar.gz tor-79b77b421d6e6b82de46cca841d30808bba89322.zip |
First test added
svn:r226
Diffstat (limited to 'src')
-rw-r--r-- | src/common/test.h | 75 | ||||
-rw-r--r-- | src/or/test.c | 24 |
2 files changed, 99 insertions, 0 deletions
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; } |