Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 166bb1f5 authored by Rehas Sachdeva's avatar Rehas Sachdeva Committed by Matthew Wilcox
Browse files

radix tree test suite: Add tests for ida_simple_get() and ida_simple_remove()



Assert that ida_simple_get() allocates an id in the passed range or returns
error on failure, and ida_simple_remove() releases an allocated id.

Signed-off-by: default avatarRehas Sachdeva <aquannie@gmail.com>
Signed-off-by: default avatarMatthew Wilcox <mawilcox@microsoft.com>
parent 2eacc79c
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -387,6 +387,24 @@ void ida_check_random(void)
		goto repeat;
}

void ida_simple_get_remove_test(void)
{
	DEFINE_IDA(ida);
	unsigned long i;

	for (i = 0; i < 10000; i++) {
		assert(ida_simple_get(&ida, 0, 20000, GFP_KERNEL) == i);
	}
	assert(ida_simple_get(&ida, 5, 30, GFP_KERNEL) < 0);

	for (i = 0; i < 10000; i++) {
		ida_simple_remove(&ida, i);
	}
	assert(ida_is_empty(&ida));

	ida_destroy(&ida);
}

void ida_checks(void)
{
	DEFINE_IDA(ida);
@@ -453,6 +471,7 @@ void ida_checks(void)
	ida_check_max();
	ida_check_conv();
	ida_check_random();
	ida_simple_get_remove_test();

	radix_tree_cpu_dead(1);
}