radix tree test suite: Build separate binaries for some tests

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>
This commit is contained in:
Matthew Wilcox 2016-12-18 22:56:05 -05:00
parent d37cacc5ad
commit 8ac0486831
4 changed files with 34 additions and 8 deletions

View File

@ -1,3 +1,5 @@
main
radix-tree.c
idr.c
idr-test
main
multiorder
radix-tree.c

View 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

View 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;
}

View 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;
}