Thread (12 messages) 12 messages, 4 authors, 2024-02-02

Re: [PATCH net-next 5/5] selftests/net: Adding test cases of replacing routes and route advertisements.

From: Kui-Feng Lee <hidden>
Date: 2024-02-01 17:14:20


On 2/1/24 00:46, Hangbin Liu wrote:
Hi,

On Tue, Jan 30, 2024 at 10:40:41PM -0800, thinker.li@gmail.com wrote:
quoted
+# Create a new dummy_10 to remove all associated routes.
+reset_dummy_10()
+{
+	$IP link del dev dummy_10
+
+	$IP link add dummy_10 type dummy
+	$IP link set dev dummy_10 up
+	$IP -6 address add 2001:10::1/64 dev dummy_10
+}
+
  fib6_gc_test()
  {
  	setup
@@ -768,15 +778,19 @@ fib6_gc_test()
  	    $IP -6 route add 2001:20::$i \
  		via 2001:10::2 dev dummy_10 expires $EXPIRE
  	done
-	sleep $(($EXPIRE * 2))
-	N_EXP_SLEEP=$($IP -6 route list |grep expires|wc -l)
-	if [ $N_EXP_SLEEP -ne 0 ]; then
-	    echo "FAIL: expected 0 routes with expires, got $N_EXP_SLEEP"
+	sleep $(($EXPIRE * 2 + 1))
+	N_EXP=$($IP -6 route list |grep expires|wc -l)
+	if [ $N_EXP -ne 0 ]; then
+	    echo "FAIL: expected 0 routes with expires, got $N_EXP"
  	    ret=1
  	else
  	    ret=0
  	fi
  
+	log_test $ret 0 "ipv6 route garbage collection"
+
+	reset_dummy_10
Since you reset the dummy device and will not affect the later tests. Maybe
you can log the test directly, e.g.

	if [ "$($IP -6 route list |grep expires|wc -l)" -ne 0 ]; then
		log_test $ret 0 "ipv6 route garbage collection"
	fi

Or, if you want to keep ret and also report passed log, you can wrapper the
number checking like

check_exp_number()
{
	local exp=$1
	local n_exp=$($IP -6 route list |grep expires|wc -l)
	if [ "$n_exp" -ne "$exp" ]; then
		echo "FAIL: expected $exp routes with expires, got $n_exp"
		ret=1
	else
		ret=0
	fi
}

Then we can call it without repeating the if/else lines

	check_exp_number 0
	log_test $ret 0 "ipv6 route garbage collection"
If I read it correctly, the point here is too many boilerplate checks,
and you prefer to reduce them. Right?
No problem! I will do it.

Thanks
Hangbin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help