[LTP] [PATCH] netns_helper: Make iproute version check work correctly
Petr Vorel
pvorel@suse.cz
Wed Feb 10 09:07:58 CET 2021
Hi Zhu,
thank you for working on this. I also started to work on this before LTP
release, trying to fix it in the API, because there are more tests affected by
this (there is also mc_cmds.sh).
My WIP is to create tst_iproute_version.c, which would be used by shell and C tests.
I actually wanted to go little bit further to have general C helper for getting
version (but that'd have to wait after this is fixed). But as you were faster
I'll let you to finish it.
...
> diff --git a/testcases/kernel/containers/netns/netns_helper.sh b/testcases/kernel/containers/netns/netns_helper.sh
> index a5b77a0..bec43ac 100755
> --- a/testcases/kernel/containers/netns/netns_helper.sh
> +++ b/testcases/kernel/containers/netns/netns_helper.sh
> @@ -50,6 +50,15 @@ tst_check_iproute()
> local cur_ipver="$(ip -V)"
> local spe_ipver="$1"
> + echo $cur_ipver | grep "ip utility, iproute2-ss" > /dev/null
> + ret1=$?
> + echo $cur_ipver | grep "ip utility, iproute2-" > /dev/null
> + ret2=$?
> +
> + if [ $ret1 -ne 0 -a $ret2 -eq 0 ]; then
> + return
> + fi
> +
FYI my shell version.
Kind regards,
Petr
--- testcases/kernel/containers/netns/netns_helper.sh
+++ testcases/kernel/containers/netns/netns_helper.sh
@@ -47,16 +47,21 @@ IFCONF_IN6_ARG=
tst_check_iproute()
{
- local cur_ipver="$(ip -V)"
- local spe_ipver="$1"
+ local current_ver="$(ip -V)"
+ local expected_ver="111010"
- cur_ipver=${cur_ipver##*s}
+ current_ver=${current_ver##*s}
- if [ -z "$cur_ipver" -o -z "$spe_ipver" ]; then
+ if [ -z "$current_ver" -o -z "$expected_ver" ]; then
tst_brk TBROK "failed to obtain valid iproute version"
fi
- if [ $cur_ipver -lt $spe_ipver ]; then
+ # new version scheme since v5.7.0-77-gb687d1067169
+ if echo "$current_ver" | grep -q 'iproute2-v\?[0-9]\+\.'; then
+ return
+ fi
+
+ if [ $current_ver -lt $expected_ver ]; then
tst_brk TCONF "too old iproute version"
fi
}
More information about the ltp
mailing list