View | Details | Raw Unified | Return to bug 282984 | Differences between
and this patch

Collapse All | Expand All

(-)b/tests/sys/netpfil/pf/table.sh (-3 / +31 lines)
Lines 116-121 zero_one_head() Link Here
116
	atf_set require.user root
116
	atf_set require.user root
117
}
117
}
118
118
119
pfctl_alcatraz_cleared_ctime()
120
{
121
	jexec alcatraz pfctl -t "$1" -vvT show | awk -v ip="$2" '
122
	  ($1 == ip) { m = 1 }
123
	  ($1 == "Cleared:" && m) {
124
	    sub("[[:space:]]*Cleared:[[:space:]]*", ""); print; exit }'
125
}
126
127
ctime_to_unixtime()
128
{
129
	# NB: it's not TZ=UTC, it's TZ=/etc/localtime
130
	date -jf '%a %b %d %H:%M:%S %Y' "$1" '+%s'
131
}
132
119
zero_one_body()
133
zero_one_body()
120
{
134
{
121
	epair_send=$(vnet_mkepair)
135
	epair_send=$(vnet_mkepair)
Lines 145-160 zero_one_body() Link Here
145
	    -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
159
	    -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
146
	    jexec alcatraz pfctl -t foo -T show -vv
160
	    jexec alcatraz pfctl -t foo -T show -vv
147
161
162
	local uniq base ts1 ts3
163
	uniq=`jexec alcatraz pfctl -t foo -vvT show | sort -u | grep -c Cleared`
164
	atf_check_equal 1 "$uniq" # time they were added
165
166
	base=`pfctl_alcatraz_cleared_ctime foo 192.0.2.1`
167
148
	atf_check -s exit:0 -e ignore \
168
	atf_check -s exit:0 -e ignore \
149
	    jexec alcatraz pfctl -t foo -T zero 192.0.2.3
169
	    jexec alcatraz pfctl -t foo -T zero 192.0.2.3
150
170
171
	ts1=`pfctl_alcatraz_cleared_ctime foo 192.0.2.1`
172
	atf_check_equal "$base" "$ts1"
173
174
	ts3=`pfctl_alcatraz_cleared_ctime foo 192.0.2.3`
175
	atf_check test "$ts1" != "$ts3"
176
177
	ts1=`ctime_to_unixtime "$ts1"`
178
	ts3=`ctime_to_unixtime "$ts3"`
179
	atf_check test $(( "$ts3" - "$ts1" )) -lt 10 # (3 pings * 2) + epsilon
180
	atf_check test "$ts1" -lt "$ts3"
181
151
	# We now have a zeroed and a non-zeroed counter, so both patterns
182
	# We now have a zeroed and a non-zeroed counter, so both patterns
152
	# should match
183
	# should match
153
	atf_check -s exit:0 -e ignore \
184
	atf_check -s exit:0 -e ignore \
154
	    -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
185
	    -o match:'In/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
155
	    -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
186
	    -o match:'Out/Pass:.*'"$TABLE_STATS_NONZERO_REGEXP" \
156
	    jexec alcatraz pfctl -t foo -T show -vv
157
	atf_check -s exit:0 -e ignore \
158
	    -o match:'In/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \
187
	    -o match:'In/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \
159
	    -o match:'Out/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \
188
	    -o match:'Out/Pass:.*'"$TABLE_STATS_ZERO_REGEXP" \
160
	    jexec alcatraz pfctl -t foo -T show -vv
189
	    jexec alcatraz pfctl -t foo -T show -vv
161
- 

Return to bug 282984