| 70 | } |
| 71 | |
| 72 | void stressGetKeys(dict *d, int times, int *perfect_run, int *approx_run) { |
| 73 | int j; |
| 74 | |
| 75 | dictEntry **des = zmalloc(sizeof(dictEntry*)*dictSize(d), MALLOC_SHARED); |
| 76 | for (j = 0; j < times; j++) { |
| 77 | int requested = rand() % (dictSize(d)+1); |
| 78 | int returned = dictGetSomeKeys(d, des, requested); |
| 79 | int dup = 0; |
| 80 | |
| 81 | qsort(des,returned,sizeof(dictEntry*),sortPointers); |
| 82 | if (returned > 1) { |
| 83 | int i; |
| 84 | for (i = 0; i < returned-1; i++) { |
| 85 | if (des[i] == des[i+1]) dup++; |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | if (requested == returned && dup == 0) { |
| 90 | (*perfect_run)++; |
| 91 | } else { |
| 92 | (*approx_run)++; |
| 93 | printf("Requested, returned, duplicated: %d %d %d\n", |
| 94 | requested, returned, dup); |
| 95 | } |
| 96 | } |
| 97 | zfree(des); |
| 98 | } |
| 99 | |
| 100 | #define MAX1 120 |
| 101 | #define MAX2 1000 |
no test coverage detected