{
kv.key = tm->keys[i];
if (BV (clib_bihash_search) (h, &kv, &kv) < 0)
- if (BV (clib_bihash_search) (h, &kv, &kv) < 0)
- clib_warning
- ("[%d] search for key %lld failed unexpectedly\n", i,
- tm->keys[i]);
+ {
+ if (BV (clib_bihash_search) (h, &kv, &kv) < 0)
+ {
+ return clib_error_return (
+ 0, "[%d] search for key %lld failed unexpectedly\n", i,
+ tm->keys[i]);
+ }
+ }
if (kv.value != (u64) (i + 1))
- clib_warning
- ("[%d] search for key %lld returned %lld, not %lld\n", i,
- tm->keys, kv.value, (u64) (i + 1));
+ return clib_error_return (
+ 0, "[%d] search for key %lld returned %lld, not %lld\n", i,
+ tm->keys, kv.value, (u64) (i + 1));
}
}
{
p = hash_get (tm->key_hash, tm->keys[i]);
if (p == 0 || p[0] != (uword) (i + 1))
- clib_warning ("ugh, couldn't find %lld\n", tm->keys[i]);
+ return clib_error_return (0, "ugh, couldn't find %lld\n",
+ tm->keys[i]);
}
}
rv = BV (clib_bihash_add_del) (h, &kv, 0 /* is_add */ );
if (rv < 0)
- clib_warning ("delete key %lld not ok but should be",
- tm->keys[i]);
+ return clib_error_return (
+ 0, "delete key %lld not ok but should be", tm->keys[i]);
if (tm->careful_delete_tests)
{
rv = BV (clib_bihash_search) (h, &kv, &kv);
if (j <= i && rv >= 0)
{
- clib_warning
- ("i %d j %d search ok but should not be, value %lld",
- i, j, kv.value);
+ return clib_error_return (
+ 0, "i %d j %d search ok but should not be, value %lld",
+ i, j, kv.value);
}
if (j > i && rv < 0)
{
- clib_warning ("i %d j %d search not ok but should be",
- i, j);
+ return clib_error_return (
+ 0, "i %d j %d search not ok but should be", i, j);
}
}
}
tm->ncycles = 10;
tm->report_every_n = 50000;
tm->seed = 0x1badf00d;
+ tm->search_iter = 1;
memset (&tm->stats, 0, sizeof (tm->stats));