@@ -48,12 +48,31 @@ logread_pid=$!
4848trap ' kill $logread_pid; rm -f $logfile $rulefile' EXIT
4949exec 3< " $logfile "
5050
51+ lsplit=' s/^\(.*\) entries=\([^ ]*\) \(.*\)$/pfx="\1"\nval="\2"\nsfx="\3"/'
52+ summarize_logs () {
53+ sum=0
54+ while read line; do
55+ eval $( sed " $lsplit " <<< " $line" )
56+ [[ $sum -gt 0 ]] && {
57+ [[ " $pfx $sfx " == " $tpfx $tsfx " ]] && {
58+ let " sum += val"
59+ continue
60+ }
61+ echo " $tpfx entries=$sum $tsfx "
62+ }
63+ tpfx=" $pfx "
64+ tsfx=" $sfx "
65+ sum=$val
66+ done
67+ echo " $tpfx entries=$sum $tsfx "
68+ }
69+
5170do_test () { # (cmd, log)
5271 echo -n " testing for cmd: $1 ... "
5372 cat < & 3 > /dev/null
5473 $1 > /dev/null || exit 1
5574 sleep 0.1
56- res=$( diff -a -u <( echo " $2 " ) - < & 3)
75+ res=$( diff -a -u <( echo " $2 " ) <( summarize_logs < & 3) )
5776 [ $? -eq 0 ] && { echo " OK" ; return ; }
5877 echo " FAIL"
5978 grep -v ' ^\(---\|+++\|@@\)' <<< " $res"
@@ -152,31 +171,17 @@ do_test 'nft reset rules t1 c2' \
152171' table=t1 family=2 entries=3 op=nft_reset_rule'
153172
154173do_test ' nft reset rules table t1' \
155- ' table=t1 family=2 entries=3 op=nft_reset_rule
156- table=t1 family=2 entries=3 op=nft_reset_rule
157- table=t1 family=2 entries=3 op=nft_reset_rule'
174+ ' table=t1 family=2 entries=9 op=nft_reset_rule'
158175
159176do_test ' nft reset rules t2 c3' \
160- ' table=t2 family=2 entries=189 op=nft_reset_rule
161- table=t2 family=2 entries=188 op=nft_reset_rule
162- table=t2 family=2 entries=126 op=nft_reset_rule'
177+ ' table=t2 family=2 entries=503 op=nft_reset_rule'
163178
164179do_test ' nft reset rules t2' \
165- ' table=t2 family=2 entries=3 op=nft_reset_rule
166- table=t2 family=2 entries=3 op=nft_reset_rule
167- table=t2 family=2 entries=186 op=nft_reset_rule
168- table=t2 family=2 entries=188 op=nft_reset_rule
169- table=t2 family=2 entries=129 op=nft_reset_rule'
180+ ' table=t2 family=2 entries=509 op=nft_reset_rule'
170181
171182do_test ' nft reset rules' \
172- ' table=t1 family=2 entries=3 op=nft_reset_rule
173- table=t1 family=2 entries=3 op=nft_reset_rule
174- table=t1 family=2 entries=3 op=nft_reset_rule
175- table=t2 family=2 entries=3 op=nft_reset_rule
176- table=t2 family=2 entries=3 op=nft_reset_rule
177- table=t2 family=2 entries=180 op=nft_reset_rule
178- table=t2 family=2 entries=188 op=nft_reset_rule
179- table=t2 family=2 entries=135 op=nft_reset_rule'
183+ ' table=t1 family=2 entries=9 op=nft_reset_rule
184+ table=t2 family=2 entries=509 op=nft_reset_rule'
180185
181186# resetting sets and elements
182187
@@ -200,13 +205,11 @@ do_test 'nft reset counters t1' \
200205' table=t1 family=2 entries=1 op=nft_reset_obj'
201206
202207do_test ' nft reset counters t2' \
203- ' table=t2 family=2 entries=342 op=nft_reset_obj
204- table=t2 family=2 entries=158 op=nft_reset_obj'
208+ ' table=t2 family=2 entries=500 op=nft_reset_obj'
205209
206210do_test ' nft reset counters' \
207211' table=t1 family=2 entries=1 op=nft_reset_obj
208- table=t2 family=2 entries=341 op=nft_reset_obj
209- table=t2 family=2 entries=159 op=nft_reset_obj'
212+ table=t2 family=2 entries=500 op=nft_reset_obj'
210213
211214# resetting quotas
212215
@@ -217,13 +220,11 @@ do_test 'nft reset quotas t1' \
217220' table=t1 family=2 entries=1 op=nft_reset_obj'
218221
219222do_test ' nft reset quotas t2' \
220- ' table=t2 family=2 entries=315 op=nft_reset_obj
221- table=t2 family=2 entries=185 op=nft_reset_obj'
223+ ' table=t2 family=2 entries=500 op=nft_reset_obj'
222224
223225do_test ' nft reset quotas' \
224226' table=t1 family=2 entries=1 op=nft_reset_obj
225- table=t2 family=2 entries=314 op=nft_reset_obj
226- table=t2 family=2 entries=186 op=nft_reset_obj'
227+ table=t2 family=2 entries=500 op=nft_reset_obj'
227228
228229# deleting rules
229230
0 commit comments