diff mbox series

[RFC] selftest/powerpc: Add rule file to address sub-folder test fail

Message ID 20240225163926.264286-1-maddy@linux.ibm.com (mailing list archive)
State New
Headers show
Series [RFC] selftest/powerpc: Add rule file to address sub-folder test fail | expand

Commit Message

Madhavan Srinivasan Feb. 25, 2024, 4:39 p.m. UTC
When running `make -C powerpc/pmu run_tests` from top level selftests
directory, currently this error is being reported

make: Entering directory '/home/maddy/linux/tools/testing/selftests/powerpc/pmu'
Makefile:40: warning: overriding recipe for target 'emit_tests'
../../lib.mk:111: warning: ignoring old recipe for target 'emit_tests'
gcc -m64    count_instructions.c ../harness.c event.c lib.c ../utils.c loop.S  -o /home/maddy/selftest_output//count_instructions
In file included from count_instructions.c:13:
event.h:12:10: fatal error: utils.h: No such file or directory
   12 | #include "utils.h"
      |          ^~~~~~~~~
compilation terminated.

This is due to missing of include path in CFLAGS. That is, CFLAGS and
GIT_VERSION macros are defined in the powerpc/ folder Makefile which
in this case not involved.

To address the failure incase of executing specific sub-folder test directly,
a new rule file has been addded by the patch called "include.mk" under
selftest/powerpc/ folder and is linked to all Makefile of powerpc/pmu
sub-folders.

Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
---
 tools/testing/selftests/powerpc/include.mk             | 10 ++++++++++
 tools/testing/selftests/powerpc/pmu/Makefile           |  1 +
 tools/testing/selftests/powerpc/pmu/ebb/Makefile       |  1 +
 .../selftests/powerpc/pmu/event_code_tests/Makefile    |  1 +
 .../selftests/powerpc/pmu/sampling_tests/Makefile      |  1 +
 5 files changed, 14 insertions(+)
 create mode 100644 tools/testing/selftests/powerpc/include.mk

Comments

Sachin Sant Feb. 27, 2024, 12:38 p.m. UTC | #1
> On 25-Feb-2024, at 10:09 PM, Madhavan Srinivasan <maddy@linux.ibm.com> wrote:
> 
> When running `make -C powerpc/pmu run_tests` from top level selftests
> directory, currently this error is being reported
> 
> make: Entering directory '/home/maddy/linux/tools/testing/selftests/powerpc/pmu'
> Makefile:40: warning: overriding recipe for target 'emit_tests'
> ../../lib.mk:111: warning: ignoring old recipe for target 'emit_tests'
> gcc -m64    count_instructions.c ../harness.c event.c lib.c ../utils.c loop.S  -o /home/maddy/selftest_output//count_instructions
> In file included from count_instructions.c:13:
> event.h:12:10: fatal error: utils.h: No such file or directory
>   12 | #include "utils.h"
>      |          ^~~~~~~~~
> compilation terminated.
> 
> This is due to missing of include path in CFLAGS. That is, CFLAGS and
> GIT_VERSION macros are defined in the powerpc/ folder Makefile which
> in this case not involved.
> 
> To address the failure incase of executing specific sub-folder test directly,
> a new rule file has been addded by the patch called "include.mk" under
> selftest/powerpc/ folder and is linked to all Makefile of powerpc/pmu
> sub-folders.
> 
> Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
> ---

Thanks for the fix Maddy. The patch fixes the reported problem
for me.

— Sachin
diff mbox series

Patch

diff --git a/tools/testing/selftests/powerpc/include.mk b/tools/testing/selftests/powerpc/include.mk
new file mode 100644
index 000000000000..18db36b94f36
--- /dev/null
+++ b/tools/testing/selftests/powerpc/include.mk
@@ -0,0 +1,10 @@ 
+#This checks for any specific ENV variables missing and add those.
+
+ifeq ($(GIT_VERSION),)
+GIT_VERSION = $(shell git describe --always --long --dirty || echo "unknown")
+endif
+
+ifeq ($(CFLAGS),)
+CFLAGS := -std=gnu99 -O2 -Wall -Werror -DGIT_VERSION='"$(GIT_VERSION)"' -I$(CURDIR)/../include $(CFLAGS)
+export CFLAGS
+endif
diff --git a/tools/testing/selftests/powerpc/pmu/Makefile b/tools/testing/selftests/powerpc/pmu/Makefile
index a284fa874a9f..93672f322027 100644
--- a/tools/testing/selftests/powerpc/pmu/Makefile
+++ b/tools/testing/selftests/powerpc/pmu/Makefile
@@ -7,6 +7,7 @@  EXTRA_SOURCES := ../harness.c event.c lib.c ../utils.c
 
 top_srcdir = ../../../../..
 include ../../lib.mk
+include ../include.mk
 
 all: $(TEST_GEN_PROGS) ebb sampling_tests event_code_tests
 
diff --git a/tools/testing/selftests/powerpc/pmu/ebb/Makefile b/tools/testing/selftests/powerpc/pmu/ebb/Makefile
index 010160690227..2faadb7fd3ad 100644
--- a/tools/testing/selftests/powerpc/pmu/ebb/Makefile
+++ b/tools/testing/selftests/powerpc/pmu/ebb/Makefile
@@ -28,6 +28,7 @@  TEST_GEN_PROGS := reg_access_test event_attributes_test cycles_test	\
 
 top_srcdir = ../../../../../..
 include ../../../lib.mk
+include ../../include.mk
 
 $(TEST_GEN_PROGS): ../../harness.c ../../utils.c ../event.c ../lib.c \
 	       ebb.c ebb_handler.S trace.c busy_loop.S
diff --git a/tools/testing/selftests/powerpc/pmu/event_code_tests/Makefile b/tools/testing/selftests/powerpc/pmu/event_code_tests/Makefile
index 4e07d7046457..7c7dd4cf9769 100644
--- a/tools/testing/selftests/powerpc/pmu/event_code_tests/Makefile
+++ b/tools/testing/selftests/powerpc/pmu/event_code_tests/Makefile
@@ -11,5 +11,6 @@  TEST_GEN_PROGS := group_constraint_pmc56_test group_pmc56_exclude_constraints_te
 
 top_srcdir = ../../../../../..
 include ../../../lib.mk
+include ../../include.mk
 
 $(TEST_GEN_PROGS): ../../harness.c ../../utils.c ../event.c ../lib.c ../sampling_tests/misc.h ../sampling_tests/misc.c
diff --git a/tools/testing/selftests/powerpc/pmu/sampling_tests/Makefile b/tools/testing/selftests/powerpc/pmu/sampling_tests/Makefile
index 9e67351fb252..51b02fe2c8ad 100644
--- a/tools/testing/selftests/powerpc/pmu/sampling_tests/Makefile
+++ b/tools/testing/selftests/powerpc/pmu/sampling_tests/Makefile
@@ -11,5 +11,6 @@  TEST_GEN_PROGS := mmcr0_exceptionbits_test mmcr0_cc56run_test mmcr0_pmccext_test
 
 top_srcdir = ../../../../../..
 include ../../../lib.mk
+include ../../include.mk
 
 $(TEST_GEN_PROGS): ../../harness.c ../../utils.c ../event.c ../lib.c misc.c misc.h ../loop.S ../branch_loops.S