~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/tests/testhash.c

  • Committer: Jay Pipes
  • Date: 2008-07-17 20:11:46 UTC
  • mto: This revision was merged to the branch mainline in revision 182.
  • Revision ID: jay@mysql.com-20080717201146-s2flcwwq0q89ac1y
Phase 3 removal of DBUG in mysys

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
static uint testflag=0,recant=10000,reclength=37;
31
31
static uint16 key1[1000];
32
32
 
33
 
#ifdef DBUG_OFF
34
 
#define hash_check(A) 0
35
 
#else
36
 
my_bool hash_check(HASH *hash);
37
 
#endif
38
 
 
39
33
void free_record(void *record);
40
34
 
41
35
static uchar *hash2_key(const uchar *rec,uint *length,
50
44
int main(int argc,char *argv[])
51
45
{
52
46
  MY_INIT(argv[0]);
53
 
  DBUG_PROCESS(argv[0]);
54
47
 
55
48
  get_options(argc,argv);
56
49
 
66
59
  unsigned long key_check;
67
60
  char *record,*recpos,oldrecord[120],key[10];
68
61
  HASH hash,hash2;
69
 
  DBUG_ENTER("do_test");
70
62
 
71
63
  write_count=update=delete=0;
72
64
  key_check=0;
91
83
    key_check+=n1;
92
84
    write_count++;
93
85
  }
94
 
  if (hash_check(&hash))
95
 
  {
96
 
    puts("Heap keys crashed");
97
 
    goto err;
98
 
  }
99
86
  printf("- Delete\n");
100
87
  for (i=0 ; i < write_count/10 ; i++)
101
88
  {
117
104
        goto err;
118
105
      }
119
106
      delete++;
120
 
      if (testflag == 2 && hash_check(&hash))
 
107
      if (testflag == 2)
121
108
      {
122
109
        puts("Heap keys crashed");
123
110
        goto err;
124
111
      }
125
112
    }
126
113
  }
127
 
  if (hash_check(&hash))
128
 
  {
129
 
    puts("Hash keys crashed");
130
 
    goto err;
131
 
  }
132
114
 
133
115
  printf("- Update\n");
134
116
  for (i=0 ; i < write_count/10 ; i++)
153
135
        printf("can't update key1: \"%s\"\n",key);
154
136
        goto err;
155
137
      }
156
 
      if (testflag == 3 && hash_check(&hash))
 
138
      if (testflag == 3) 
157
139
      {
158
140
        printf("Heap keys crashed for %d update\n",update);
159
141
        goto err;
160
142
      }
161
143
    }
162
144
  }
163
 
  if (hash_check(&hash))
164
 
  {
165
 
    puts("Heap keys crashed");
166
 
    goto err;
167
 
  }
168
145
 
169
146
  for (j=0 ; j < 1000 ; j++)
170
147
    if (key1[j] > 1)
211
188
      printf("Got error when deleting record: %*s",reclength,recpos);
212
189
      goto err;
213
190
    }
214
 
    if (testflag==4)
215
 
    {
216
 
      if (hash_check(&hash) || hash_check(&hash2))
217
 
      {
218
 
        puts("Hash keys crashed");
219
 
        goto err;
220
 
      }
221
 
    }
222
191
    pos++;
223
192
  }
224
 
  if (hash_check(&hash) || hash_check(&hash2))
225
 
  {
226
 
    puts("Hash keys crashed");
227
 
    goto err;
228
 
  }
229
193
  if (key_check != 0)
230
194
  {
231
195
    printf("Key check didn't get to 0 (%ld)\n",key_check);
236
200
         update,delete);
237
201
  hash_free(&hash); hash_free(&hash2);
238
202
  my_end(MY_GIVE_INFO);
239
 
  DBUG_RETURN(0);
 
203
  return(0);
240
204
err:
241
205
  printf("Got error: %d when using hashing\n",my_errno);
242
 
  DBUG_RETURN(-1);
 
206
  return(-1);
243
207
} /* main */
244
208
 
245
209
 
246
210
/* read options */
247
 
/* NOTE! DBUG not initialised - no debugging here! */
248
211
 
249
212
static int get_options(int argc, char **argv)
250
213
{
267
230
      printf("MySQL AB, by Monty\n\n");
268
231
      printf("Usage: %s [-?ABIKLWv] [-m#] [-t#]\n",progname);
269
232
      exit(0);
270
 
    case '#':
271
 
      DBUG_PUSH (++pos);
272
 
      break;
273
233
    }
274
234
  }
275
235
  return 0;