tests: figure out correct version of sed to run 38/40638/1
authorMatthew Smith <mgsmith@netgate.com>
Tue, 2 Apr 2024 18:27:19 +0000 (18:27 +0000)
committerMatthew Smith <mgsmith@netgate.com>
Tue, 2 Apr 2024 18:35:06 +0000 (18:35 +0000)
In run_in_venv_with_cleanup.sh, sed was changed to gsed to allow the
script to run properly on FreeBSD because the sed script uses an
expression that is specific to the gnu sed. Gnu sed is available to
be invoked as gsed on FreeBSD systems, but there is no executable or
symlink which allows sed to be run by the name gsed on ubuntu 22.04.

Check for the existence of gsed. If it's found, use it. Otherwise, just
use sed.

Type: fix
Fixes: b3c863eae4

Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Change-Id: I487197e486f500711aa3e87ec7ba899a53606b40

test/scripts/run_in_venv_with_cleanup.sh

index 454c9c9..e87afde 100755 (executable)
@@ -21,7 +21,9 @@ panic() {
 atexit() {
        group_id=`ps -p $$ -o pgid=`
        my_id=$$
-       ids=`pgrep -g $group_id -d ' ' | gsed "s/\b$my_id\b//g"`
+       SED=`which gsed`
+       SED=$(basename "${SED:-sed}")
+       ids=`pgrep -g $group_id -d ' ' | ${SED} "s/\b$my_id\b//g"`
        echo "Killing possible remaining process IDs: $ids"
        for id in $ids
        do