From 22b18830f7daa3ff5f77854bec7fb3bf21d1e68e Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Sun, 24 Jul 2022 21:12:59 +0200 Subject: [PATCH] Improve test suite by performing no op swap operation randomly --- tests/test-mtree.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/test-mtree.c b/tests/test-mtree.c index 9a53409d..a53012a8 100644 --- a/tests/test-mtree.c +++ b/tests/test-mtree.c @@ -261,6 +261,7 @@ static void insert(unsigned cmd, unsigned ref) assert( cmd < 5); assert( ref <= g_num); int val = (int) g_num + 1; + //printf("Command %d for value %d at %d\n", cmd, val, ref); switch (cmd) { case 0: g_tree[++g_num] = tree_insert_up( g_tree[ref], val); @@ -299,9 +300,10 @@ static inline unsigned int rand_get(void) static void test_gen(void) { - tree_t t; + tree_t t, t0; string_t s; tree_init(t); + tree_init(t0); string_init(s); g_root = g_tree[++ g_num] = tree_set_root(t, 1); tree_get_str(s, t, false); @@ -310,8 +312,15 @@ static void test_gen(void) unsigned ref = 1 + (rand_get() % g_num); insert(cmd, ref); tree_get_str(s, t, false); + tree_set(t0, t); + unsigned ref1 = 1 + (rand_get() % g_num); + unsigned ref2 = 1 + (rand_get() % g_num); + tree_swap_at(g_tree[ref1], g_tree[ref2], false); + tree_swap_at(g_tree[ref1], g_tree[ref2], false); + assert(tree_equal_p(t, t0)); } string_clear(s); + tree_clear(t0); tree_clear(t); }