32 const char *more_info = 0;
36 1,
"tstmagic", &version, 0 );
43 1,
"tstmagic", &version, &more_info);
49 YAZ_CHECK(more_info != 0 && strcmp(more_info,
"more info") == 0);
62 1,
"tstmagic", &version, 0 );
67 for (i = 1; i<30; i++)
72 YAZ_CHECK_EQ(
bf_alloc(bf, i, blocks + bno), 0);
73 for (j = 0; j < i; j++)
75 YAZ_CHECK(blocks[bno + j]);
79 for (i = 0; i<bno; i++)
81 YAZ_CHECK_EQ(
bf_free(bf, 1, blocks + i), 0);
102 1,
"tstmagic", &version, 0 );
107 for (pass = 0; pass < 100; pass++)
109 int r = random() % 9;
111 YAZ_CHECK(no_in_use >= 0);
112 YAZ_CHECK(no_in_use <=
BLOCKS);
113 if (r < 5 && (
BLOCKS - no_in_use) > 0)
118 int left =
BLOCKS - no_in_use;
119 int to_alloc = 1 + (random() % left);
123 for (i = 0; i<
BLOCKS; i++)
127 blocks[i] = tblocks[j++];
134 else if (r < 8 && no_in_use > 0)
138 int to_free = 1 + (random() % no_in_use);
139 int start = random() % to_free;
141 for (i = 0; i<
BLOCKS; i++)
145 if (j >= start && j < to_free)
147 tblocks[j-start] = blocks[i];
154 YAZ_CHECK(tblocks[to_free-start-1]);
155 bf_free(bf, to_free - start, tblocks);
161 1,
"tstmagic", &version, 0 );
183 int main(
int argc,
char **argv)
185 YAZ_CHECK_INIT(argc, argv);