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 /tools/testing | |
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>
Diffstat (limited to 'tools/testing')
-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_clean $(SUB_TARGETS) | 42 | .PHONY: all run_tests clean ebb |
diff --git a/tools/testing/selftests/powerpc/pmu/ebb/Makefile b/tools/testing/selftests/powerpc/pmu/ebb/Makefile index 3dc4332698cb..5cdc9dbf2b27 100644 --- a/tools/testing/selftests/powerpc/pmu/ebb/Makefile +++ b/tools/testing/selftests/powerpc/pmu/ebb/Makefile | |||
@@ -4,7 +4,7 @@ noarg: | |||
4 | # The EBB handler is 64-bit code and everything links against it | 4 | # The EBB handler is 64-bit code and everything links against it |
5 | CFLAGS += -m64 | 5 | CFLAGS += -m64 |
6 | 6 | ||
7 | PROGS := reg_access_test event_attributes_test cycles_test \ | 7 | TEST_PROGS := reg_access_test event_attributes_test cycles_test \ |
8 | cycles_with_freeze_test pmc56_overflow_test \ | 8 | cycles_with_freeze_test pmc56_overflow_test \ |
9 | ebb_vs_cpu_event_test cpu_event_vs_ebb_test \ | 9 | ebb_vs_cpu_event_test cpu_event_vs_ebb_test \ |
10 | cpu_event_pinned_vs_ebb_test task_event_vs_ebb_test \ | 10 | cpu_event_pinned_vs_ebb_test task_event_vs_ebb_test \ |
@@ -16,18 +16,15 @@ PROGS := reg_access_test event_attributes_test cycles_test \ | |||
16 | lost_exception_test no_handler_test \ | 16 | lost_exception_test no_handler_test \ |
17 | cycles_with_mmcr2_test | 17 | cycles_with_mmcr2_test |
18 | 18 | ||
19 | all: $(PROGS) | 19 | all: $(TEST_PROGS) |
20 | 20 | ||
21 | $(PROGS): ../../harness.c ../event.c ../lib.c ebb.c ebb_handler.S trace.c busy_loop.S | 21 | $(TEST_PROGS): ../../harness.c ../event.c ../lib.c ebb.c ebb_handler.S trace.c busy_loop.S |
22 | 22 | ||
23 | instruction_count_test: ../loop.S | 23 | instruction_count_test: ../loop.S |
24 | 24 | ||
25 | lost_exception_test: ../lib.c | 25 | lost_exception_test: ../lib.c |
26 | 26 | ||
27 | run_tests: all | 27 | include ../../../lib.mk |
28 | @-for PROG in $(PROGS); do \ | ||
29 | ./$$PROG; \ | ||
30 | done; | ||
31 | 28 | ||
32 | clean: | 29 | clean: |
33 | rm -f $(PROGS) | 30 | rm -f $(TEST_PROGS) |
diff --git a/tools/testing/selftests/powerpc/primitives/Makefile b/tools/testing/selftests/powerpc/primitives/Makefile index ea737ca01732..b68c6221d3d1 100644 --- a/tools/testing/selftests/powerpc/primitives/Makefile +++ b/tools/testing/selftests/powerpc/primitives/Makefile | |||
@@ -1,17 +1,12 @@ | |||
1 | CFLAGS += -I$(CURDIR) | 1 | CFLAGS += -I$(CURDIR) |
2 | 2 | ||
3 | PROGS := load_unaligned_zeropad | 3 | TEST_PROGS := load_unaligned_zeropad |
4 | 4 | ||
5 | all: $(PROGS) | 5 | all: $(TEST_PROGS) |
6 | 6 | ||
7 | $(PROGS): ../harness.c | 7 | $(TEST_PROGS): ../harness.c |
8 | 8 | ||
9 | run_tests: all | 9 | include ../../lib.mk |
10 | @-for PROG in $(PROGS); do \ | ||
11 | ./$$PROG; \ | ||
12 | done; | ||
13 | 10 | ||
14 | clean: | 11 | clean: |
15 | rm -f $(PROGS) *.o | 12 | rm -f $(TEST_PROGS) *.o |
16 | |||
17 | .PHONY: all run_tests clean | ||
diff --git a/tools/testing/selftests/powerpc/stringloops/Makefile b/tools/testing/selftests/powerpc/stringloops/Makefile index 506d77346477..2a728f4d2873 100644 --- a/tools/testing/selftests/powerpc/stringloops/Makefile +++ b/tools/testing/selftests/powerpc/stringloops/Makefile | |||
@@ -2,19 +2,14 @@ | |||
2 | CFLAGS += -m64 | 2 | CFLAGS += -m64 |
3 | CFLAGS += -I$(CURDIR) | 3 | CFLAGS += -I$(CURDIR) |
4 | 4 | ||
5 | PROGS := memcmp | 5 | TEST_PROGS := memcmp |
6 | EXTRA_SOURCES := memcmp_64.S ../harness.c | 6 | EXTRA_SOURCES := memcmp_64.S ../harness.c |
7 | 7 | ||
8 | all: $(PROGS) | 8 | all: $(TEST_PROGS) |
9 | 9 | ||
10 | $(PROGS): $(EXTRA_SOURCES) | 10 | $(TEST_PROGS): $(EXTRA_SOURCES) |
11 | 11 | ||
12 | run_tests: all | 12 | include ../../lib.mk |
13 | @-for PROG in $(PROGS); do \ | ||
14 | ./$$PROG; \ | ||
15 | done; | ||
16 | 13 | ||
17 | clean: | 14 | clean: |
18 | rm -f $(PROGS) *.o | 15 | rm -f $(TEST_PROGS) *.o |
19 | |||
20 | .PHONY: all run_tests clean | ||
diff --git a/tools/testing/selftests/powerpc/tm/Makefile b/tools/testing/selftests/powerpc/tm/Makefile index 2cede239a074..34f2ec634b40 100644 --- a/tools/testing/selftests/powerpc/tm/Makefile +++ b/tools/testing/selftests/powerpc/tm/Makefile | |||
@@ -1,15 +1,10 @@ | |||
1 | PROGS := tm-resched-dscr | 1 | TEST_PROGS := tm-resched-dscr |
2 | 2 | ||
3 | all: $(PROGS) | 3 | all: $(TEST_PROGS) |
4 | 4 | ||
5 | $(PROGS): ../harness.c | 5 | $(TEST_PROGS): ../harness.c |
6 | 6 | ||
7 | run_tests: all | 7 | include ../../lib.mk |
8 | @-for PROG in $(PROGS); do \ | ||
9 | ./$$PROG; \ | ||
10 | done; | ||
11 | 8 | ||
12 | clean: | 9 | clean: |
13 | rm -f $(PROGS) *.o | 10 | rm -f $(TEST_PROGS) *.o |
14 | |||
15 | .PHONY: all run_tests clean | ||