small fixes and add "gmake test"
[tedtools.git] / gendata.c
index 3b7ae6f..2c78b7f 100644 (file)
--- a/gendata.c
+++ b/gendata.c
@@ -39,7 +39,7 @@ static void
 usage() {
         puts(
         "Usage:\n"
-        "tbtreetest  -b [-r -c COUNT] \n"
+        "tbtreetest  -b [-r -c COUNT] | -s [ -c COUNT ]\n"
         );
         exit(1);
 }
@@ -49,7 +49,10 @@ extern int opterr;
 
 #define NO_MODE                0
 #define MODE_BTREE     1
+#define MODE_SFX       2
 
+static char *symbols="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890";
+static int symbolslen=0;
 
 int
 main(int argn, char *argv[]) {
@@ -57,8 +60,10 @@ main(int argn, char *argv[]) {
        int isrnd=0, count=10,i; 
 
         opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
+       symbolslen=strlen(symbols);
+       
           
-        while((i=getopt(argn,argv,"brc:")) != EOF) {
+        while((i=getopt(argn,argv,"sbrc:")) != EOF) {
                 switch(i) {
                         case 'r':
                                 isrnd=1;
@@ -67,6 +72,10 @@ main(int argn, char *argv[]) {
                                if ( mode ) usage();
                                 mode = MODE_BTREE;
                                 break;
+                        case 's':
+                               if ( mode ) usage();
+                                mode = MODE_SFX;
+                                break;
                         case 'c':
                                 count=atoi(optarg);
                                 break;
@@ -77,14 +86,20 @@ main(int argn, char *argv[]) {
        }
 
        if ( mode==MODE_BTREE ) {
-               int j, cnt,c;
+               int cnt;
                for(i=0;i<count;i++) {
                        printf("I\t%d\t", (int)( (isrnd) ? random()%count : i ));
                        cnt=1+random()%512;
-                       for(j=0;j<cnt;j++) {
-                               do { c=random()%128; } while ( !isalnum(c) );   
-                               fputc(c, stdout);
-                       }
+                       while(cnt-->0)
+                               fputc( symbols[ random()%symbolslen ], stdout);
+                       fputc('\n', stdout);
+               }
+       } else if ( mode==MODE_SFX ) {
+               int cnt;
+               for(i=0;i<count;i++) {
+                       cnt=1+random()%10;
+                       while(cnt-->0)
+                               fputc( tolower(symbols[ random()%symbolslen ]), stdout);
                        fputc('\n', stdout);
                }
        } else {