mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-04 15:40:44 +00:00
914ec9c78d
Test the $nr expansion in labels is correct, even if the optimiser reduces the rule count. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D32489
41 lines
886 B
Bash
41 lines
886 B
Bash
. $(atf_get_srcdir)/utils.subr
|
|
|
|
atf_test_case "nr" "cleanup"
|
|
nr_head()
|
|
{
|
|
atf_set descr 'Test $nr expansion'
|
|
atf_set require.user root
|
|
}
|
|
|
|
nr_body()
|
|
{
|
|
# Ensure that when the optimiser collapses rules the macro expansion
|
|
# has the correct rule number
|
|
pft_init
|
|
|
|
vnet_mkjail alcatraz
|
|
jexec alcatraz ifconfig lo0 inet 127.0.0.1/8
|
|
jexec alcatraz ifconfig lo0 inet 127.0.0.2/32 alias
|
|
|
|
pft_set_rules alcatraz \
|
|
"pass quick on lo from lo:network to lo:network" \
|
|
"block quick all label \"ruleNo:\$nr\""
|
|
|
|
no=$(jexec alcatraz pfctl -sr -vv | awk '/ruleNo/ { gsub("@", "", $1); print $1; }')
|
|
ruleno=$(jexec alcatraz pfctl -sr -vv | awk '/ruleNo/ { gsub(/"ruleNo:/, "", $7); gsub(/"/, "", $7); print $7; }')
|
|
if [ "${no}" -ne "${ruleno}" ];
|
|
then
|
|
atf_fail "Expected ruleNo $no != $ruleno"
|
|
fi
|
|
}
|
|
|
|
nr_cleanup()
|
|
{
|
|
pft_cleanup
|
|
}
|
|
|
|
atf_init_test_cases()
|
|
{
|
|
atf_add_test_case "nr"
|
|
}
|