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 |
- |
|
|