aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2015-03-11 00:06:01 -0400
committerShuah Khan <shuahkh@osg.samsung.com>2015-03-19 14:38:51 -0400
commit6faeeea44b84ce24fc6c1f1beb07ee5de9885dc8 (patch)
treeee9e473870eea00b5672564825bfab7e374fed3b
parent5744de542dd4b963c2975e6f70844ce2899864e4 (diff)
selftests: Add install support for the powerpc tests
The bulk of the selftests are actually below the powerpc sub directory. This adds support for installing them, when on a powerpc machine, or if ARCH and CROSS_COMPILE are set appropriately. This is a little more complicated because of the sub directory structure under powerpc, but much of the common logic in lib.mk is still used. The net effect of the patch is still a reduction in code. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
-rw-r--r--tools/testing/selftests/powerpc/Makefile19
-rw-r--r--tools/testing/selftests/powerpc/copyloops/Makefile15
-rw-r--r--tools/testing/selftests/powerpc/mm/Makefile15
-rw-r--r--tools/testing/selftests/powerpc/pmu/Makefile48
-rw-r--r--tools/testing/selftests/powerpc/pmu/ebb/Makefile13
-rw-r--r--tools/testing/selftests/powerpc/primitives/Makefile15
-rw-r--r--tools/testing/selftests/powerpc/stringloops/Makefile15
-rw-r--r--tools/testing/selftests/powerpc/tm/Makefile15
8 files changed, 73 insertions, 82 deletions
diff --git a/tools/testing/selftests/powerpc/Makefile b/tools/testing/selftests/powerpc/Makefile
index 1d5e7ad2c460..22c4f8ffa422 100644
--- a/tools/testing/selftests/powerpc/Makefile
+++ b/tools/testing/selftests/powerpc/Makefile
@@ -22,10 +22,25 @@ all: $(TARGETS)
22$(TARGETS): 22$(TARGETS):
23 $(MAKE) -k -C $@ all 23 $(MAKE) -k -C $@ all
24 24
25run_tests: all 25include ../lib.mk
26
27override define RUN_TESTS
26 @for TARGET in $(TARGETS); do \ 28 @for TARGET in $(TARGETS); do \
27 $(MAKE) -C $$TARGET run_tests; \ 29 $(MAKE) -C $$TARGET run_tests; \
28 done; 30 done;
31endef
32
33override define INSTALL_RULE
34 @for TARGET in $(TARGETS); do \
35 $(MAKE) -C $$TARGET install; \
36 done;
37endef
38
39override define EMIT_TESTS
40 @for TARGET in $(TARGETS); do \
41 $(MAKE) -s -C $$TARGET emit_tests; \
42 done;
43endef
29 44
30clean: 45clean:
31 @for TARGET in $(TARGETS); do \ 46 @for TARGET in $(TARGETS); do \
@@ -36,4 +51,4 @@ clean:
36tags: 51tags:
37 find . -name '*.c' -o -name '*.h' | xargs ctags 52 find . -name '*.c' -o -name '*.h' | xargs ctags
38 53
39.PHONY: all run_tests clean tags $(TARGETS) 54.PHONY: tags $(TARGETS)
diff --git a/tools/testing/selftests/powerpc/copyloops/Makefile b/tools/testing/selftests/powerpc/copyloops/Makefile
index 6f2d3be227f9..c05023514ce8 100644
--- a/tools/testing/selftests/powerpc/copyloops/Makefile
+++ b/tools/testing/selftests/powerpc/copyloops/Makefile
@@ -6,24 +6,19 @@ CFLAGS += -D SELFTEST
6# Use our CFLAGS for the implicit .S rule 6# Use our CFLAGS for the implicit .S rule
7ASFLAGS = $(CFLAGS) 7ASFLAGS = $(CFLAGS)
8 8
9PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7 9TEST_PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7
10EXTRA_SOURCES := validate.c ../harness.c 10EXTRA_SOURCES := validate.c ../harness.c
11 11
12all: $(PROGS) 12all: $(TEST_PROGS)
13 13
14copyuser_64: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_base 14copyuser_64: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_base
15copyuser_power7: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_power7 15copyuser_power7: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_power7
16memcpy_64: CPPFLAGS += -D COPY_LOOP=test_memcpy 16memcpy_64: CPPFLAGS += -D COPY_LOOP=test_memcpy
17memcpy_power7: CPPFLAGS += -D COPY_LOOP=test_memcpy_power7 17memcpy_power7: CPPFLAGS += -D COPY_LOOP=test_memcpy_power7
18 18
19$(PROGS): $(EXTRA_SOURCES) 19$(TEST_PROGS): $(EXTRA_SOURCES)
20 20
21run_tests: all 21include ../../lib.mk
22 @-for PROG in $(PROGS); do \
23 ./$$PROG; \
24 done;
25 22
26clean: 23clean:
27 rm -f $(PROGS) *.o 24 rm -f $(TEST_PROGS) *.o
28
29.PHONY: all run_tests clean
diff --git a/tools/testing/selftests/powerpc/mm/Makefile b/tools/testing/selftests/powerpc/mm/Makefile
index a14c538dd7f8..41cc3ed66818 100644
--- a/tools/testing/selftests/powerpc/mm/Makefile
+++ b/tools/testing/selftests/powerpc/mm/Makefile
@@ -1,21 +1,16 @@
1noarg: 1noarg:
2 $(MAKE) -C ../ 2 $(MAKE) -C ../
3 3
4PROGS := hugetlb_vs_thp_test subpage_prot 4TEST_PROGS := hugetlb_vs_thp_test subpage_prot
5 5
6all: $(PROGS) tempfile 6all: $(TEST_PROGS) tempfile
7 7
8$(PROGS): ../harness.c 8$(TEST_PROGS): ../harness.c
9 9
10run_tests: all 10include ../../lib.mk
11 @-for PROG in $(PROGS); do \
12 ./$$PROG; \
13 done;
14 11
15tempfile: 12tempfile:
16 dd if=/dev/zero of=tempfile bs=64k count=1 13 dd if=/dev/zero of=tempfile bs=64k count=1
17 14
18clean: 15clean:
19 rm -f $(PROGS) tempfile 16 rm -f $(TEST_PROGS) tempfile
20
21.PHONY: all run_tests clean
diff --git a/tools/testing/selftests/powerpc/pmu/Makefile b/tools/testing/selftests/powerpc/pmu/Makefile
index c9f4263906a5..5a161175bbd4 100644
--- a/tools/testing/selftests/powerpc/pmu/Makefile
+++ b/tools/testing/selftests/powerpc/pmu/Makefile
@@ -1,38 +1,42 @@
1noarg: 1noarg:
2 $(MAKE) -C ../ 2 $(MAKE) -C ../
3 3
4PROGS := count_instructions l3_bank_test per_event_excludes 4TEST_PROGS := count_instructions l3_bank_test per_event_excludes
5EXTRA_SOURCES := ../harness.c event.c lib.c 5EXTRA_SOURCES := ../harness.c event.c lib.c
6 6
7SUB_TARGETS = ebb 7all: $(TEST_PROGS) ebb
8 8
9all: $(PROGS) $(SUB_TARGETS) 9$(TEST_PROGS): $(EXTRA_SOURCES)
10
11$(PROGS): $(EXTRA_SOURCES)
12 10
13# loop.S can only be built 64-bit 11# loop.S can only be built 64-bit
14count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES) 12count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES)
15 $(CC) $(CFLAGS) -m64 -o $@ $^ 13 $(CC) $(CFLAGS) -m64 -o $@ $^
16 14
17run_tests: all sub_run_tests 15include ../../lib.mk
18 @-for PROG in $(PROGS); do \
19 ./$$PROG; \
20 done;
21 16
22clean: sub_clean 17DEFAULT_RUN_TESTS := $(RUN_TESTS)
23 rm -f $(PROGS) loop.o 18override define RUN_TESTS
19 $(DEFAULT_RUN_TESTS)
20 $(MAKE) -C ebb run_tests
21endef
24 22
25$(SUB_TARGETS): 23DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
26 $(MAKE) -k -C $@ all 24override define EMIT_TESTS
25 $(DEFAULT_EMIT_TESTS)
26 $(MAKE) -s -C ebb emit_tests
27endef
27 28
28sub_run_tests: all 29DEFAULT_INSTALL := $(INSTALL_RULE)
29 @for TARGET in $(SUB_TARGETS); do \ 30override define INSTALL_RULE
30 $(MAKE) -C $$TARGET run_tests; \ 31 $(DEFAULT_INSTALL_RULE)
31 done; 32 $(MAKE) -C ebb install
33endef
32 34
33sub_clean: 35clean:
34 @for TARGET in $(SUB_TARGETS); do \ 36 rm -f $(TEST_PROGS) loop.o
35 $(MAKE) -C $$TARGET clean; \ 37 $(MAKE) -C ebb clean
36 done; 38
39ebb:
40 $(MAKE) -k -C $@ all
37 41
38.PHONY: all run_tests clean sub_run_tests sub_cle