]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
test_maple_tree: Update gap tests to use correct calculated size.
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Mon, 4 Nov 2019 21:03:47 +0000 (16:03 -0500)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Tue, 5 Jan 2021 17:28:15 +0000 (12:28 -0500)
Update the oversize test to ensure there is not sufficient room since
the size is correctly one larger now.

Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
lib/test_maple_tree.c

index d50834174993b09ff37d91744649d478dc903211..f7dc5208ebf603a050c1ee9dbc2dd24123cba072 100644 (file)
@@ -38,8 +38,8 @@ int mtree_insert_index(struct maple_tree *mt, unsigned long index, gfp_t gfp)
 
 static void mtree_erase_index(struct maple_tree *mt, unsigned long index)
 {
-        MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX));
-        MT_BUG_ON(mt, mtree_load(mt, index) != NULL);
+       MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX));
+       MT_BUG_ON(mt, mtree_load(mt, index) != NULL);
 }
 
 static int mtree_test_insert(struct maple_tree *mt, unsigned long index,
@@ -690,7 +690,6 @@ static noinline void check_erase_testset(struct maple_tree *mt)
                        erase_check_load(mt, i);
        }
 
-
        erase_check_erase(mt, 20); //8003
        for (int i = 0; i < 25; i++) {
                if (i <= 20 && i >= 13)
@@ -708,7 +707,6 @@ static noinline void check_erase_testset(struct maple_tree *mt)
                        erase_check_load(mt, i);
        }
 
-
        mt_set_non_kernel(1);
        erase_check_erase(mt, 22); //8008
        for (int i = 0; i < 25; i++) {
@@ -835,7 +833,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
                // Too big test.
                0x0,
                18446744073709551615UL,
-               562915594369133 << 12,
+               562915594369134UL << 12,
                0x0,
                -EBUSY,
 
@@ -850,6 +848,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
                //                      Inclusive    , Inclusive (with the -1)
                check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1,
                                xa_mk_value(range[i] >> 12), 0);
+               mt_validate(mt);
        }
 
        for (i = 0; i < req_range_cnt; i += 5) {
@@ -860,6 +859,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
                                req_range[i+3] >> 12, // expected address
                                req_range[i+4],       // expected return
                                xa_mk_value(req_range[i] >> 12)); // pointer
+               mt_validate(mt);
        }
 
        mtree_destroy(mt);
@@ -963,6 +963,7 @@ static noinline void check_alloc_range(struct maple_tree *mt)
        for (i = 0; i < range_cnt; i += 2) {
                check_insert_range(mt, range[i] >> 12, (range[i + 1] >> 12) - 1,
                                xa_mk_value(range[i] >> 12), 0);
+               mt_validate(mt);
        }
 
        for (i = 0; i < req_range_cnt; i += 5) {
@@ -973,6 +974,7 @@ static noinline void check_alloc_range(struct maple_tree *mt)
                                req_range[i+3] >> 12, // expected address
                                req_range[i+4],       // expected return
                                xa_mk_value(req_range[i] >> 12)); // pointer
+               mt_validate(mt);
        }
 
        mtree_destroy(mt);
@@ -1037,10 +1039,35 @@ static noinline void check_ranges(struct maple_tree *mt)
 }
 
 static noinline void check_next_entry(struct maple_tree *mt)
+{
+//     void *entry = NULL;
+       unsigned long limit = 30, i = 1;
+       MT_BUG_ON(mt, !mtree_empty(mt));
+//     MA_STATE(mas, mt, i, i);
+
+       check_seq(mt, limit, false);
+       rcu_read_lock();
+#if 0
+       for (;i >= limit; i++) {
+               //mas_next_entry
+               MT_BUG_ON(mt, entry != i(void*));
+               i++;
+       }
+       BUG_ON(i != limit);
+       mas
+#endif
+       rcu_read_unlock();
+       mtree_destroy(mt);
+
+}
+
+static noinline void check_prev_entry(struct maple_tree *mt)
 {
        MT_BUG_ON(mt, !mtree_empty(mt));
 
        check_seq(mt, 30, false);
+       rcu_read_lock();
+       rcu_read_unlock();
        mtree_destroy(mt);
 
 }
@@ -1061,6 +1088,9 @@ static int maple_tree_seed(void)
        mtree_init(&tree, 0);
        check_next_entry(&tree);
 
+       mtree_init(&tree, 0);
+       check_prev_entry(&tree);
+
        /* Test ranges (store and insert) */
        mtree_init(&tree, 0);
        check_ranges(&tree);