diff options
| author | Michael Ellerman <mpe@ellerman.id.au> | 2015-03-11 00:06:01 -0400 |
|---|---|---|
| committer | Shuah Khan <shuahkh@osg.samsung.com> | 2015-03-19 14:38:51 -0400 |
| commit | 6faeeea44b84ce24fc6c1f1beb07ee5de9885dc8 (patch) | |
| tree | ee9e473870eea00b5672564825bfab7e374fed3b | |
| parent | 5744de542dd4b963c2975e6f70844ce2899864e4 (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/Makefile | 19 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/copyloops/Makefile | 15 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/mm/Makefile | 15 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/pmu/Makefile | 48 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/pmu/ebb/Makefile | 13 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/primitives/Makefile | 15 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/stringloops/Makefile | 15 | ||||
| -rw-r--r-- | tools/testing/selftests/powerpc/tm/Makefile | 15 |
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 | ||
| 25 | run_tests: all | 25 | include ../lib.mk |
| 26 | |||
| 27 | override 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; |
| 31 | endef | ||
| 32 | |||
| 33 | override define INSTALL_RULE | ||
| 34 | @for TARGET in $(TARGETS); do \ | ||
| 35 | $(MAKE) -C $$TARGET install; \ | ||
| 36 | done; | ||
| 37 | endef | ||
| 38 | |||
| 39 | override define EMIT_TESTS | ||
| 40 | @for TARGET in $(TARGETS); do \ | ||
| 41 | $(MAKE) -s -C $$TARGET emit_tests; \ | ||
| 42 | done; | ||
| 43 | endef | ||
| 29 | 44 | ||
| 30 | clean: | 45 | clean: |
| 31 | @for TARGET in $(TARGETS); do \ | 46 | @for TARGET in $(TARGETS); do \ |
| @@ -36,4 +51,4 @@ clean: | |||
| 36 | tags: | 51 | tags: |
| 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 |
| 7 | ASFLAGS = $(CFLAGS) | 7 | ASFLAGS = $(CFLAGS) |
| 8 | 8 | ||
| 9 | PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7 | 9 | TEST_PROGS := copyuser_64 copyuser_power7 memcpy_64 memcpy_power7 |
| 10 | EXTRA_SOURCES := validate.c ../harness.c | 10 | EXTRA_SOURCES := validate.c ../harness.c |
| 11 | 11 | ||
| 12 | all: $(PROGS) | 12 | all: $(TEST_PROGS) |
| 13 | 13 | ||
| 14 | copyuser_64: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_base | 14 | copyuser_64: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_base |
| 15 | copyuser_power7: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_power7 | 15 | copyuser_power7: CPPFLAGS += -D COPY_LOOP=test___copy_tofrom_user_power7 |
| 16 | memcpy_64: CPPFLAGS += -D COPY_LOOP=test_memcpy | 16 | memcpy_64: CPPFLAGS += -D COPY_LOOP=test_memcpy |
| 17 | memcpy_power7: CPPFLAGS += -D COPY_LOOP=test_memcpy_power7 | 17 | memcpy_power7: CPPFLAGS += -D COPY_LOOP=test_memcpy_power7 |
| 18 | 18 | ||
| 19 | $(PROGS): $(EXTRA_SOURCES) | 19 | $(TEST_PROGS): $(EXTRA_SOURCES) |
| 20 | 20 | ||
| 21 | run_tests: all | 21 | include ../../lib.mk |
| 22 | @-for PROG in $(PROGS); do \ | ||
| 23 | ./$$PROG; \ | ||
| 24 | done; | ||
| 25 | 22 | ||
| 26 | clean: | 23 | clean: |
| 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 @@ | |||
| 1 | noarg: | 1 | noarg: |
| 2 | $(MAKE) -C ../ | 2 | $(MAKE) -C ../ |
| 3 | 3 | ||
| 4 | PROGS := hugetlb_vs_thp_test subpage_prot | 4 | TEST_PROGS := hugetlb_vs_thp_test subpage_prot |
| 5 | 5 | ||
| 6 | all: $(PROGS) tempfile | 6 | all: $(TEST_PROGS) tempfile |
| 7 | 7 | ||
| 8 | $(PROGS): ../harness.c | 8 | $(TEST_PROGS): ../harness.c |
| 9 | 9 | ||
| 10 | run_tests: all | 10 | include ../../lib.mk |
| 11 | @-for PROG in $(PROGS); do \ | ||
| 12 | ./$$PROG; \ | ||
| 13 | done; | ||
| 14 | 11 | ||
| 15 | tempfile: | 12 | tempfile: |
| 16 | dd if=/dev/zero of=tempfile bs=64k count=1 | 13 | dd if=/dev/zero of=tempfile bs=64k count=1 |
| 17 | 14 | ||
| 18 | clean: | 15 | clean: |
| 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 @@ | |||
| 1 | noarg: | 1 | noarg: |
| 2 | $(MAKE) -C ../ | 2 | $(MAKE) -C ../ |
| 3 | 3 | ||
| 4 | PROGS := count_instructions l3_bank_test per_event_excludes | 4 | TEST_PROGS := count_instructions l3_bank_test per_event_excludes |
| 5 | EXTRA_SOURCES := ../harness.c event.c lib.c | 5 | EXTRA_SOURCES := ../harness.c event.c lib.c |
| 6 | 6 | ||
| 7 | SUB_TARGETS = ebb | 7 | all: $(TEST_PROGS) ebb |
| 8 | 8 | ||
| 9 | all: $(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 |
| 14 | count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES) | 12 | count_instructions: loop.S count_instructions.c $(EXTRA_SOURCES) |
| 15 | $(CC) $(CFLAGS) -m64 -o $@ $^ | 13 | $(CC) $(CFLAGS) -m64 -o $@ $^ |
| 16 | 14 | ||
| 17 | run_tests: all sub_run_tests | 15 | include ../../lib.mk |
| 18 | @-for PROG in $(PROGS); do \ | ||
| 19 | ./$$PROG; \ | ||
| 20 | done; | ||
| 21 | 16 | ||
| 22 | clean: sub_clean | 17 | DEFAULT_RUN_TESTS := $(RUN_TESTS) |
| 23 | rm -f $(PROGS) loop.o | 18 | override define RUN_TESTS |
| 19 | $(DEFAULT_RUN_TESTS) | ||
| 20 | $(MAKE) -C ebb run_tests | ||
| 21 | endef | ||
| 24 | 22 | ||
| 25 | $(SUB_TARGETS): | 23 | DEFAULT_EMIT_TESTS := $(EMIT_TESTS) |
| 26 | $(MAKE) -k -C $@ all | 24 | override define EMIT_TESTS |
| 25 | $(DEFAULT_EMIT_TESTS) | ||
| 26 | $(MAKE) -s -C ebb emit_tests | ||
| 27 | endef | ||
| 27 | 28 | ||
| 28 | sub_run_tests: all | 29 | DEFAULT_INSTALL := $(INSTALL_RULE) |
| 29 | @for TARGET in $(SUB_TARGETS); do \ | 30 | override define INSTALL_RULE |
| 30 | $(MAKE) -C $$TARGET run_tests; \ | 31 | $(DEFAULT_INSTALL_RULE) |
| 31 | done; | 32 | $(MAKE) -C ebb install |
| 33 | endef | ||
| 32 | 34 | ||
| 33 | sub_clean: | 35 | clean: |
| 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 | |
| 39 | ebb: | ||
| 40 | $(MAKE) -k -C $@ all | ||
| 37 | 41 | ||
| 38 | .PHONY: all run_tests clean sub_run_tests sub_cle | ||
