diff options
| author | 2018-06-18 16:59:29 -0400 | |
|---|---|---|
| committer | 2018-08-21 23:54:20 -0400 | |
| commit | 8ab8ba38d48867aac01812e18f48fc9173ccd400 (patch) | |
| tree | 4d149499e92ea666779d91caa2a487dfc322ffba /tools/testing | |
| parent | target/iscsi: Allocate session IDs from an IDA (diff) | |
| download | wireguard-linux-8ab8ba38d48867aac01812e18f48fc9173ccd400.tar.xz wireguard-linux-8ab8ba38d48867aac01812e18f48fc9173ccd400.zip  | |
ida: Start new test_ida module
Start transitioning the IDA tests into kernel space.  Framework heavily
cribbed from test_xarray.c.
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Diffstat (limited to '')
| -rw-r--r-- | tools/testing/radix-tree/Makefile | 1 | ||||
| -rw-r--r-- | tools/testing/radix-tree/idr-test.c | 22 | ||||
| -rw-r--r-- | tools/testing/radix-tree/main.c | 3 | ||||
| -rw-r--r-- | tools/testing/radix-tree/test.h | 3 | 
4 files changed, 22 insertions, 7 deletions
diff --git a/tools/testing/radix-tree/Makefile b/tools/testing/radix-tree/Makefile index da030a65d6d6..37baecc3766f 100644 --- a/tools/testing/radix-tree/Makefile +++ b/tools/testing/radix-tree/Makefile @@ -22,6 +22,7 @@ targets: generated/map-shift.h $(TARGETS)  main:	$(OFILES) +idr-test.o: ../../../lib/test_ida.c  idr-test: idr-test.o $(CORE_OFILES)  multiorder: multiorder.o $(CORE_OFILES) diff --git a/tools/testing/radix-tree/idr-test.c b/tools/testing/radix-tree/idr-test.c index ee820fcc29b0..604b51dc9b38 100644 --- a/tools/testing/radix-tree/idr-test.c +++ b/tools/testing/radix-tree/idr-test.c @@ -309,6 +309,15 @@ void idr_checks(void)  	idr_u32_test(0);  } +#define module_init(x) +#define module_exit(x) +#define MODULE_AUTHOR(x) +#define MODULE_LICENSE(x) +#define dump_stack()    assert(0) +void ida_dump(struct ida *); + +#include "../../../lib/test_ida.c" +  /*   * Check that we get the correct error when we run out of memory doing   * allocations.  To ensure we run out of memory, just "forget" to preload. @@ -488,7 +497,7 @@ void ida_simple_get_remove_test(void)  	ida_destroy(&ida);  } -void ida_checks(void) +void user_ida_checks(void)  {  	DEFINE_IDA(ida);  	int id; @@ -582,12 +591,19 @@ void ida_thread_tests(void)  		pthread_join(threads[i], NULL);  } +void ida_tests(void) +{ +	user_ida_checks(); +	ida_checks(); +	ida_exit(); +	ida_thread_tests(); +} +  int __weak main(void)  {  	radix_tree_init();  	idr_checks(); -	ida_checks(); -	ida_thread_tests(); +	ida_tests();  	radix_tree_cpu_dead(1);  	rcu_barrier();  	if (nr_allocated) diff --git a/tools/testing/radix-tree/main.c b/tools/testing/radix-tree/main.c index 584a8732f5ce..b741686e53d6 100644 --- a/tools/testing/radix-tree/main.c +++ b/tools/testing/radix-tree/main.c @@ -324,7 +324,7 @@ static void single_thread_tests(bool long_run)  	printv(2, "after dynamic_height_check: %d allocated, preempt %d\n",  		nr_allocated, preempt_count);  	idr_checks(); -	ida_checks(); +	ida_tests();  	rcu_barrier();  	printv(2, "after idr_checks: %d allocated, preempt %d\n",  		nr_allocated, preempt_count); @@ -371,7 +371,6 @@ int main(int argc, char **argv)  	iteration_test(0, 10 + 90 * long_run);  	iteration_test(7, 10 + 90 * long_run);  	single_thread_tests(long_run); -	ida_thread_tests();  	/* Free any remaining preallocated nodes */  	radix_tree_cpu_dead(0); diff --git a/tools/testing/radix-tree/test.h b/tools/testing/radix-tree/test.h index 31f1d9b6f506..92d901eacf49 100644 --- a/tools/testing/radix-tree/test.h +++ b/tools/testing/radix-tree/test.h @@ -39,8 +39,7 @@ void multiorder_checks(void);  void iteration_test(unsigned order, unsigned duration);  void benchmark(void);  void idr_checks(void); -void ida_checks(void); -void ida_thread_tests(void); +void ida_tests(void);  struct item *  item_tag_set(struct radix_tree_root *root, unsigned long index, int tag);  | 
