1914ec9c7SKristof Provost. $(atf_get_srcdir)/utils.subr 2914ec9c7SKristof Provost 3914ec9c7SKristof Provostatf_test_case "nr" "cleanup" 4914ec9c7SKristof Provostnr_head() 5914ec9c7SKristof Provost{ 6914ec9c7SKristof Provost atf_set descr 'Test $nr expansion' 7914ec9c7SKristof Provost atf_set require.user root 8914ec9c7SKristof Provost} 9914ec9c7SKristof Provost 10914ec9c7SKristof Provostnr_body() 11914ec9c7SKristof Provost{ 12914ec9c7SKristof Provost # Ensure that when the optimiser collapses rules the macro expansion 13914ec9c7SKristof Provost # has the correct rule number 14914ec9c7SKristof Provost pft_init 15914ec9c7SKristof Provost 16914ec9c7SKristof Provost vnet_mkjail alcatraz 17914ec9c7SKristof Provost jexec alcatraz ifconfig lo0 inet 127.0.0.1/8 18914ec9c7SKristof Provost jexec alcatraz ifconfig lo0 inet 127.0.0.2/32 alias 19914ec9c7SKristof Provost 20914ec9c7SKristof Provost pft_set_rules alcatraz \ 21914ec9c7SKristof Provost "pass quick on lo from lo:network to lo:network" \ 22914ec9c7SKristof Provost "block quick all label \"ruleNo:\$nr\"" 23914ec9c7SKristof Provost 24914ec9c7SKristof Provost no=$(jexec alcatraz pfctl -sr -vv | awk '/ruleNo/ { gsub("@", "", $1); print $1; }') 25914ec9c7SKristof Provost ruleno=$(jexec alcatraz pfctl -sr -vv | awk '/ruleNo/ { gsub(/"ruleNo:/, "", $7); gsub(/"/, "", $7); print $7; }') 26914ec9c7SKristof Provost if [ "${no}" -ne "${ruleno}" ]; 27914ec9c7SKristof Provost then 28914ec9c7SKristof Provost atf_fail "Expected ruleNo $no != $ruleno" 29914ec9c7SKristof Provost fi 30914ec9c7SKristof Provost} 31914ec9c7SKristof Provost 32914ec9c7SKristof Provostnr_cleanup() 33914ec9c7SKristof Provost{ 34914ec9c7SKristof Provost pft_cleanup 35914ec9c7SKristof Provost} 36914ec9c7SKristof Provost 37914ec9c7SKristof Provostatf_init_test_cases() 38914ec9c7SKristof Provost{ 39914ec9c7SKristof Provost atf_add_test_case "nr" 40914ec9c7SKristof Provost} 41