X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Ftest_pool_iterate.c;h=4e8e2dfa15f12c252f7d7be7ec0b8441d942199d;hb=b4e5e50fe;hp=27ce4bb37b76f217dadd095ffd4340f0c3d7aefd;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vppinfra/test_pool_iterate.c b/src/vppinfra/test_pool_iterate.c index 27ce4bb37b7..4e8e2dfa15f 100644 --- a/src/vppinfra/test_pool_iterate.c +++ b/src/vppinfra/test_pool_iterate.c @@ -28,17 +28,47 @@ main (int argc, char *argv[]) { int i; uword next; + u32 last_len = 0; u32 *tp = 0; u32 *junk; + clib_mem_init (0, 64ULL << 20); + for (i = 0; i < 70; i++) - pool_get (tp, junk); + { + pool_get (tp, junk); + if (vec_len (tp) > last_len) + { + last_len = vec_len (tp); + fformat (stdout, "vec_len (tp) now %d\n", last_len); + } + } (void) junk; /* compiler warning */ pool_put_index (tp, 1); pool_put_index (tp, 65); + for (i = 0; i < 70; i++) + { + int is_free; + + is_free = pool_is_free_index (tp, i); + + if (is_free == 0) + { + if (i == 1 || i == 65) + clib_warning ("oops, free index %d reported busy", i); + } + else + { + if (i != 1 && i != 65) + clib_warning ("oops, busy index %d reported free", i); + } + } + + fformat (stdout, "vec_len (tp) is %d\n", vec_len (tp)); + next = ~0; do { @@ -47,6 +77,25 @@ main (int argc, char *argv[]) } while (next != ~0); + /* *INDENT-OFF* */ + pool_foreach (junk, tp, + ({ + int is_free; + + is_free = pool_is_free_index (tp, junk - tp); + if (is_free == 0) + { + if (i == 1 || i == 65) + clib_warning ("oops, free index %d reported busy", i); + } + else + { + if (i != 1 && i != 65) + clib_warning ("oops, busy index %d reported free", i); + } + })); + /* *INDENT-ON* */ + return 0; }