Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tests: Check python path on attr and binding test

Current perf test code tries to execute python version 2 in order to
test attributes on perf_event_open syscall. However it's not default
python version anymore a system can have python v3 only or v2 with a
different name (e.g. python2). So if there's no such python interpreter
with the name 'python', the test would fail like this (yes, it's
happened on my new archlinux laptop :).

13: struct perf_event_attr setup :sh: python: command not found
FAILED!

As we can pass name of the python interpreter on make, use it for
the attr test also.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1355729101-31317-1-git-send-email-namhyung@kernel.org
[ committer note: Added the same mechanism to the python binding test ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Namhyung Kim and committed by
Arnaldo Carvalho de Melo
000ae33f 82ce75d9

+8 -5
+5 -2
tools/perf/Makefile
··· 953 953 954 954 $(OUTPUT)tests/attr.o: tests/attr.c $(OUTPUT)PERF-CFLAGS 955 955 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \ 956 - '-DBINDIR="$(bindir_SQ)"' \ 956 + '-DBINDIR="$(bindir_SQ)"' -DPYTHON='"$(PYTHON_WORD)"' \ 957 957 $< 958 958 959 959 $(OUTPUT)tests/python-use.o: tests/python-use.c $(OUTPUT)PERF-CFLAGS 960 - $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DPYTHONPATH='"$(OUTPUT)/python"' $< 960 + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \ 961 + -DPYTHONPATH='"$(OUTPUT)/python"' \ 962 + -DPYTHON='"$(PYTHON_WORD)"' \ 963 + $< 961 964 962 965 $(OUTPUT)util/config.o: util/config.c $(OUTPUT)PERF-CFLAGS 963 966 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
+1 -1
tools/perf/tests/attr.c
··· 144 144 { 145 145 char cmd[3*PATH_MAX]; 146 146 147 - snprintf(cmd, 3*PATH_MAX, "python %s/attr.py -d %s/attr/ -p %s %s", 147 + snprintf(cmd, 3*PATH_MAX, PYTHON " %s/attr.py -d %s/attr/ -p %s %s", 148 148 d, d, perf, verbose ? "-v" : ""); 149 149 150 150 return system(cmd);
+2 -2
tools/perf/tests/python-use.c
··· 13 13 char *cmd; 14 14 int ret; 15 15 16 - if (asprintf(&cmd, "echo \"import sys ; sys.path.append('%s'); import perf\" | python %s", 17 - PYTHONPATH, verbose ? "" : "2> /dev/null") < 0) 16 + if (asprintf(&cmd, "echo \"import sys ; sys.path.append('%s'); import perf\" | %s %s", 17 + PYTHONPATH, PYTHON, verbose ? "" : "2> /dev/null") < 0) 18 18 return -1; 19 19 20 20 ret = system(cmd) ? -1 : 0;