Add debug and size options to memtest
[tedtools.git] / memtest.c
index 223b49b..6f1aa09 100644 (file)
--- a/memtest.c
+++ b/memtest.c
@@ -41,12 +41,11 @@ static void
 usage() {
        puts(
        "Usage:\n"
-       "memtest [-c COUNT [-t]]\n"
+       "memtest [-c COUNT [-t [-D]] [-s MAXSIZE]]\n"
        );
        exit(1);
 }
 
-#define SZ     32
 
 extern char *optarg;
 extern int opterr;
@@ -54,17 +53,23 @@ extern int opterr;
 int
 main(int argn, char *argv[]) {
        MemoryContext   *base, *child;
-       int i;
-       int count=0, iscntx=0;
+       int i, SZ=32;
+       int count=0, iscntx=0, flags=0;
 
        opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
        opterr=0;
 
-       while((i=getopt(argn,argv,"c:ht")) != EOF) {
+       while((i=getopt(argn,argv,"s:Dc:ht")) != EOF) {
                switch(i) {
+                       case 's':
+                               SZ=atoi(optarg);
+                               break;
                        case 'c':
                                count=atoi(optarg);
                                break;
+                       case 'D':
+                               flags=MC_DEBUG;
+                               break;
                        case 't':
                                iscntx=1;
                                break;
@@ -79,8 +84,8 @@ main(int argn, char *argv[]) {
                char *ptr, *ptr1;
 
                /* test correctness */
-               base = allocMemoryContext(NULL, MC_DEBUG);
-               child = allocMemoryContext(base, MC_DEBUG);
+               base = allocMemoryContext(NULL, flags);
+               child = allocMemoryContext(base, flags);
 
                ptr = mcalloc(base, 30);
                for(i=0;i<26;i++)
@@ -123,7 +128,7 @@ main(int argn, char *argv[]) {
                freeMemoryContext(child);
                printf("Child: %d\n", (int)(base->child));
 
-               child = allocMemoryContext(base, MC_DEBUG);
+               child = allocMemoryContext(base, flags);
                freeMemoryContext(base);
        } else {
                struct timeval begin;   
@@ -132,7 +137,7 @@ main(int argn, char *argv[]) {
                srandom(1);
                if ( iscntx ) {
                        gettimeofday(&begin, NULL);
-                       base = allocMemoryContext(NULL, MC_DEBUG);
+                       base = allocMemoryContext(NULL, flags);
                        for(i=0;i<count;i++) {
                                ptr = mcalloc(base, 1+random()%SZ );
                                ptr1 = mcalloc(base, 1+random()%SZ );