mirror of
https://github.com/opnsense/src.git
synced 2026-05-21 09:25:59 -04:00
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")
(cherry picked from commit 70dd30d49c)
This commit is contained in:
parent
95b7e4e0fe
commit
dedd9ee84b
1 changed files with 13 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue