Use terse output from lsof
This both simplifies parsing a little, and suppresses warnings. Suppressing
warnings is both good and bad: on the one hand it resolves problems such as
https://github.com/Mbed-TLS/mbedtls/issues/5731, on the other hand it may
hide clues as to why lsof wouldn't be working as expected.
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index c0fae35..b65e070 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -760,13 +760,11 @@
fi
# Make a tight loop, server normally takes less than 1s to start.
while true; do
- SERVER_PIDS=$(lsof -a -n -b -i "$proto:$1" -F p)
+ SERVER_PIDS=$(lsof -a -n -b -i "$proto:$1" -t)
# When we use a proxy, it will be listening on the same port we
# are checking for as well as the server and lsof will list both.
- # If multiple PIDs are returned, each one will be on a separate
- # line, each prepended with 'p'.
case ${newline}${SERVER_PIDS}${newline} in
- *${newline}p${2}${newline}*) break;;
+ *${newline}${2}${newline}*) break;;
esac
if [ $(( $(date +%s) - $START_TIME )) -gt $DOG_DELAY ]; then
echo "$3 START TIMEOUT"