]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
radix tree test suite: Build separate binaries for some tests
authorMatthew Wilcox <mawilcox@microsoft.com>
Mon, 19 Dec 2016 03:56:05 +0000 (22:56 -0500)
committerMatthew Wilcox <mawilcox@microsoft.com>
Tue, 14 Feb 2017 02:44:02 +0000 (21:44 -0500)
To allow developers to run a subset of tests, build separate multiorder
and idr-test binaries which will run just the tests in those files.

Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
Reviewed-by: Rehas Sachdeva <aquannie@gmail.com>
tools/testing/radix-tree/.gitignore
tools/testing/radix-tree/Makefile
tools/testing/radix-tree/idr-test.c
tools/testing/radix-tree/multiorder.c

index 3b5534b643f076f92a8e5573d6a17a13da0b052a..26dedaf57aabe6c727a7da4c307210c0c3c642ff 100644 (file)
@@ -1,3 +1,5 @@
+idr.c
+idr-test
 main
+multiorder
 radix-tree.c
-idr.c
index 3597a3a9f269e75ceb396874fecc264b30dcdf6c..4aba7b75e43a7e34aba2899c716c7400fe4a8504 100644 (file)
@@ -1,10 +1,10 @@
 
 CFLAGS += -I. -I../../include -g -O2 -Wall -D_LGPL_SOURCE
 LDFLAGS += -lpthread -lurcu
-TARGETS = main
-OFILES = main.o radix-tree.o idr.o linux.o test.o tag_check.o find_bit.o \
-        regression1.o regression2.o regression3.o multiorder.o idr-test.o \
-        iteration_check.o benchmark.o
+TARGETS = main idr-test multiorder
+CORE_OFILES := radix-tree.o idr.o linux.o test.o find_bit.o
+OFILES = main.o $(CORE_OFILES) regression1.o regression2.o regression3.o \
+        tag_check.o multiorder.o idr-test.o iteration_check.o benchmark.o
 
 ifdef BENCHMARK
        CFLAGS += -DBENCHMARK=1
@@ -13,10 +13,16 @@ endif
 targets: $(TARGETS)
 
 main:  $(OFILES)
-       $(CC) $(CFLAGS) $(LDFLAGS) $(OFILES) -o main
+       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o main
+
+idr-test: idr-test.o $(CORE_OFILES)
+       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o idr-test
+
+multiorder: multiorder.o $(CORE_OFILES)
+       $(CC) $(CFLAGS) $(LDFLAGS) $^ -o multiorder
 
 clean:
-       $(RM) -f $(TARGETS) *.o radix-tree.c
+       $(RM) $(TARGETS) *.o radix-tree.c idr.c
 
 vpath %.c ../../lib
 
index 59081122c63df2bd30c7f8c38b929edfda1c0f43..a26098c6123d1cf99ce2b6669a0e186bd22cedbe 100644 (file)
@@ -431,3 +431,14 @@ void ida_checks(void)
 
        radix_tree_cpu_dead(1);
 }
+
+int __weak main(void)
+{
+       radix_tree_init();
+       idr_checks();
+       ida_checks();
+       rcu_barrier();
+       if (nr_allocated)
+               printf("nr_allocated = %d\n", nr_allocated);
+       return 0;
+}
index f79812a5e0708b9146c2dcb479d804637262b1b8..e465a3811b970b21c013c12b6bbe58aec7c95bf1 100644 (file)
@@ -633,3 +633,10 @@ void multiorder_checks(void)
 
        radix_tree_cpu_dead(0);
 }
+
+int __weak main(void)
+{
+       radix_tree_init();
+       multiorder_checks();
+       return 0;
+}