tools/perf: Fix parallel-perf python script to replace new python syntax ":=" usage
perf test "perf script tests" fails as below in systems with python 3.6 File "/home/athira/linux/tools/perf/tests/shell/../../scripts/python/parallel-perf.py", line 442 if line := p.stdout.readline(): ^ SyntaxError: invalid syntax --- Cleaning up --- ---- end(-1) ---- 92: perf script tests: FAILED! This happens because ":=" is a new syntax that assigns values to variables as part of a larger expression. This is introduced from python 3.8 and hence fails in setup with python 3.6 Address this by splitting the large expression and check the value in two steps: Previous line: if line := p.stdout.readline(): Current change: line = p.stdout.readline() if line: With patch ./perf test "perf script tests" 93: perf script tests: Ok Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Cc: akanksha@linux.ibm.com Cc: kjain@linux.ibm.com Cc: maddy@linux.ibm.com Cc: disgoel@linux.vnet.ibm.com Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20240623064850.83720-3-atrajeev@linux.vnet.ibm.com
This commit is contained in:
parent
b9241f150a
commit
7d49ced808
@ -439,7 +439,8 @@ def ProcessCommandOutputLines(cmd, per_cpu, fn, *x):
|
||||
pat = re.compile(r"\s*\[[0-9]+\]")
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
while True:
|
||||
if line := p.stdout.readline():
|
||||
line = p.stdout.readline()
|
||||
if line:
|
||||
line = line.decode("utf-8")
|
||||
if pat.match(line):
|
||||
line = line.split()
|
||||
|
Loading…
x
Reference in New Issue
Block a user