git: 70dd30d49c29 - main - pf tests: Make killstate:match more robust

Kristof Provost kp at FreeBSD.org
Thu Jun 3 15:19:47 UTC 2021


The branch main has been updated by kp:

URL: https://cgit.FreeBSD.org/src/commit/?id=70dd30d49c29a27e1ef159660a7e3dbb84082674

commit 70dd30d49c29a27e1ef159660a7e3dbb84082674
Author:     Kristof Provost <kp at FreeBSD.org>
AuthorDate: 2021-06-03 13:22:19 +0000
Commit:     Kristof Provost <kp at FreeBSD.org>
CommitDate: 2021-06-03 13:22:19 +0000

    pf tests: Make killstate:match more robust
    
    The killstate:match test starts nc as a background process. There was no
    guarantee that the nc process would have connected by the time we check
    for states, so this test occasionally failed without good reason.
    
    Teach the test to wait for at least some states to turn up before
    executing the critical checks.
    
    MFC after:      3 days
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 tests/sys/netpfil/pf/killstate.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tests/sys/netpfil/pf/killstate.sh b/tests/sys/netpfil/pf/killstate.sh
index b3d94a245548..f53ede8c7578 100644
--- a/tests/sys/netpfil/pf/killstate.sh
+++ b/tests/sys/netpfil/pf/killstate.sh
@@ -384,6 +384,17 @@ match_head()
 	atf_set require.user root
 }
 
+wait_for_state()
+{
+	jail=$1
+	addr=$2
+
+	while ! jexec $jail pfctl -s s | grep $addr >/dev/null;
+	do
+		sleep .1
+	done
+}
+
 match_body()
 {
 	pft_init
@@ -412,6 +423,7 @@ match_body()
 		"pass all"
 
 	nc 198.51.100.2 7 &
+	wait_for_state alcatraz 192.0.2.1
 
 	# Expect two states
 	states=$(jexec alcatraz pfctl -s s | wc -l)
@@ -432,6 +444,7 @@ match_body()
 	jexec alcatraz pfctl -F states
 
 	nc 198.51.100.2 7 &
+	wait_for_state alcatraz 192.0.2.1
 
 	# Kill matching states, expect all of them to be gone
 	jexec alcatraz pfctl -M -k 192.0.2.1


More information about the dev-commits-src-all mailing list