mirror of
https://github.com/torvalds/linux.git
synced 2026-01-25 15:03:52 +08:00
perf test: Change all remaining #!/bin/sh to #!/bin/bash
There are 43 instances of posix shell tests and 35 instances of bash. To give us a single consistent language for testing in, replace all #!/bin/sh to #!/bin/bash. Common sources that are included in both different shells will now work as expected. And we no longer have to fix up bashisms that appear to work when someone's system has sh symlinked to bash, but don't work on other systems that have both shells installed. Although we could have chosen sh, it's not backwards compatible so it wouldn't be possible to bulk convert without re-writing the existing bash tests. Choosing bash also gives us some nicer features including 'local' variable definitions and regexes in if statements that are already widely used in the tests. It's not expected that there are any users with only sh available due to the large number of bash tests that exist. Discussed in relation to running shellcheck here: https://lore.kernel.org/linux-perf-users/e3751a74be34bbf3781c4644f518702a7270220b.1749785642.git.collin.funk1@gmail.com/ Signed-off-by: James Clark <james.clark@linaro.org> Reviewed-by: Collin Funk <collin.funk1@gmail.com> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Link: https://lore.kernel.org/r/20250623-james-perf-bash-tests-v1-1-f572f54d4559@linaro.org Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
committed by
Namhyung Kim
parent
f0d0f978f3
commit
2f5d370dec
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Test one of the main kernel Makefile targets to generate a perf sources tarball
|
||||
# suitable for build outside the full kernel sources.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# AMD IBS software filtering
|
||||
|
||||
echo "check availability of IBS swfilt"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# build id cache operations
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/bash -e
|
||||
# CoreSight / ASM Pure Loop (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/bash -e
|
||||
# CoreSight / Memcpy 16k 10 Threads (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/bash -e
|
||||
# CoreSight / Thread Loop 10 Threads - Check TID (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/bash -e
|
||||
# CoreSight / Thread Loop 2 Threads - Check TID (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh -e
|
||||
#!/bin/bash -e
|
||||
# CoreSight / Unroll Loop Thread 10 (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf diff tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf ftrace tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
perf_has_symbol()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Arnaldo Carvalho de Melo <acme@kernel.org>, 2017
|
||||
|
||||
perf probe -l 2>&1 | grep -q probe:vfs_getname
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
if [ "x$PYTHON" = "x" ]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
tenths=date\ +%s%1N
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf list tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# kernel lock contention analysis test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf report --hierarchy
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Arnaldo Carvalho de Melo <acme@redhat.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Add vfs_getname probe to get syscall args filenames (exclusive)
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# probe libc's inet_pton & backtrace it with ping (exclusive)
|
||||
|
||||
# Installs a probe on libc's inet_pton function, that will use uprobes,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Use vfs_getname probe to get syscall args filenames (exclusive)
|
||||
|
||||
# Uses the 'perf test shell' library to add probe:vfs_getname to the system
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Zstd perf.data compression/decompression
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf record sample filtering (by BPF) tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf record offcpu profiling tests (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf record sideband tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf script tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf stat csv summary test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf stat metrics (shadow stat) test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf all libpfm4 events test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf stat --bpf-counters test (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf stat --bpf-counters --for-each-cgroup test
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check Arm64 callgraphs are complete in fp mode
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check Arm CoreSight trace data recording and synthesized samples (exclusive)
|
||||
|
||||
# Uses the 'perf record' to record trace data with Arm CoreSight sinks;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check Arm CoreSight disassembly script completes without errors (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check Arm SPE trace data recording and synthesized samples (exclusive)
|
||||
|
||||
# Uses the 'perf record' to record trace data of Arm SPE events;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check Arm SPE doesn't hang when there are forks
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# BPF metadata collection test.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Miscellaneous Intel PT testing (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# Check open filename arg using perf trace + vfs_getname (exclusive)
|
||||
|
||||
# Uses the 'perf test shell' library to add probe:vfs_getname to the system
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf trace enum augmentation tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf trace exit race
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf trace record and replay
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
# perf trace summary (exclusive)
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ static char *shell_test__description(int dir_fd, const char *name)
|
||||
if (io.fd < 0)
|
||||
return NULL;
|
||||
|
||||
/* Skip first line - should be #!/bin/sh Shebang */
|
||||
/* Skip first line - should be #!/bin/bash Shebang */
|
||||
if (io__get_char(&io) != '#')
|
||||
goto err_out;
|
||||
if (io__get_char(&io) != '!')
|
||||
|
||||
Reference in New Issue
Block a user