]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Improve tests for heap
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 10 Apr 2016 12:43:47 +0000 (13:43 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sun, 10 Apr 2016 12:44:07 +0000 (13:44 +0100)
test/rspamd_heap_test.c

index db508fcb7ec584e9ccd5df0d6fc3715eb568b889..634c648d22e0ed2a1da2546e6d7b0080e910cc11 100644 (file)
@@ -19,6 +19,9 @@
 #include "heap.h"
 #include "ottery.h"
 
+static const niter = 100500;
+static const nrem = 100;
+
 static inline
 struct rspamd_min_heap_elt *
 new_elt (guint pri)
@@ -54,14 +57,19 @@ rspamd_heap_test_func (void)
        rspamd_min_heap_destroy (heap);
        heap = rspamd_min_heap_create (128);
 
-       for (i = 0; i < 100500; i ++) {
+       for (i = 0; i < niter; i ++) {
                elt = new_elt (ottery_rand_uint32 () % G_MAXINT32 + 1);
                rspamd_min_heap_push (heap, elt);
        }
 
+       for (i = 0; i < nrem; i ++) {
+               elt = rspamd_min_heap_index (heap, ottery_rand_uint32 () % niter);
+               rspamd_min_heap_remove_elt (heap, elt);
+       }
+
        prev = 0;
 
-       for (i = 0; i < 100500; i ++) {
+       for (i = 0; i < niter - nrem; i ++) {
                elt = rspamd_min_heap_pop (heap);
 
                if (prev != 0) {