selftests: nft_flowtable.sh: monitor result file sizes
authorBoris Sukholitko <boris.sukholitko@broadcom.com>
Thu, 4 May 2023 08:48:14 +0000 (11:48 +0300)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 10 May 2023 07:31:07 +0000 (09:31 +0200)
When running nft_flowtable.sh in VM on a busy server we've found that
the time of the netcat file transfers vary wildly.

Therefore replace hardcoded 3 second sleep with the loop checking for
a change in the file sizes. Once no change in detected we test the results.

Nice side effect is that we shave 1 second sleep in the fast case
(hard-coded 3 second sleep vs two 1 second sleeps).

Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Boris Sukholitko <boris.sukholitko@broadcom.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
tools/testing/selftests/netfilter/nft_flowtable.sh

index 92bc308bf1686a5f4d6b7d971c8cb26197066b4d..51f986f19fee1309d64790104cf4abd611f35fa3 100755 (executable)
@@ -286,7 +286,15 @@ test_tcp_forwarding_ip()
        ip netns exec $nsa nc -w 4 "$dstip" "$dstport" < "$nsin" > "$ns1out" &
        cpid=$!
 
-       sleep 3
+       sleep 1
+
+       prev="$(ls -l $ns1out $ns2out)"
+       sleep 1
+
+       while [[ "$prev" != "$(ls -l $ns1out $ns2out)" ]]; do
+               sleep 1;
+               prev="$(ls -l $ns1out $ns2out)"
+       done
 
        if test -d /proc/"$lpid"/; then
                kill $lpid