From 82ddc6a883e49a22976965a44cf4858507dd7c3e Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Wed, 13 Jan 2021 17:01:01 +0100 Subject: [PATCH] test: support ss as netstat replacement netstat is considered obsolete on Linux. It is replaced by ss from iproute. Support both tools for the test port selection. --- test/system/test.common | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/system/test.common b/test/system/test.common index 4e5fa02..905974b 100644 --- a/test/system/test.common +++ b/test/system/test.common @@ -89,7 +89,13 @@ chronyc=$(command -v chronyc) [ -x "$chronyd" ] || test_skip "chronyd not found" [ -x "$chronyc" ] || test_skip "chronyc not found" -netstat -aln > /dev/null 2> /dev/null || test_skip "missing netstat" +if netstat -aln > /dev/null 2> /dev/null; then + port_list_command="netstat -aln" +elif ss -atun > /dev/null 2> /dev/null; then + port_list_command="ss -atun" +else + test_skip "missing netstat or ss" +fi # Default test testings default_minimal_config=0 @@ -180,7 +186,7 @@ get_free_port() { while true; do port=$((RANDOM % 10000 + 10000)) - netstat -aln | grep -q '^\(tcp\|udp\).*[:.]'"$port " && continue + $port_list_command | grep -q '^\(tcp\|udp\).*[:.]'"$port " && continue break done