From: Jérémie Galarneau Date: Thu, 20 Apr 2023 15:07:44 +0000 (-0400) Subject: Tests: utils: lttng_pgrep spams output when racing with a process X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=commitdiff_plain;h=1098ec7b02bbfd71e0b84f79f86212173831652f Tests: utils: lttng_pgrep spams output when racing with a process lttng_pgrep is often used to check if a process is alive. As such, it is often used on PIDs which are tearing down. The file redirection used in `tr '\0' '\n' < /proc/"$pid"/cmdline` often fails (which is correct) because the /proc/$pid folder no longer exists. When this occurs, the test output is cluttered with annoying errors like: ./tests/regression/kernel//../../utils/utils.sh: line 151: /proc/845/cmdline: No such file or directory This part of the command now runs under a subshell to hide the error when it occurs. Signed-off-by: Jérémie Galarneau Change-Id: I6a26cb63cd56c46557a73e2e475b0cac729cc67f --- diff --git a/tests/utils/utils.sh b/tests/utils/utils.sh index 9ffcc6ff2..3e1a81ce5 100644 --- a/tests/utils/utils.sh +++ b/tests/utils/utils.sh @@ -148,7 +148,7 @@ function lttng_pgrep () while IFS= read -r pid ; do # /proc/pid/cmdline is null separated. - if full_command_no_argument=$(tr '\0' '\n' < /proc/"$pid"/cmdline 2>/dev/null | head -n1); then + if full_command_no_argument=$( (tr '\0' '\n' < /proc/"$pid"/cmdline) 2>/dev/null | head -n1); then command_basename=$(basename "$full_command_no_argument") if grep -q "$pattern" <<< "$command_basename"; then echo "$pid"