On 2026/2/12 0:01, Petr Machata wrote: > > Yue Haibing <[email protected]> writes: > >> The testcase failed as below: >> $./vlan_bridge_binding.sh >> ... >> + adf_ip_link_set_up d1 >> + local name=d1 >> + shift >> + ip_link_is_up d1 >> + ip_link_has_flag d1 UP >> + local name=d1 >> + shift >> + local flag=UP >> + shift >> ++ ip -j link show d1 >> ++ jq --arg flag UP 'any(.[].flags.[]; . == $flag)' >> jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START >> (Unix shell quoting issues?) at <top-level>, line 1: >> any(.[].flags.[]; . == $flag) >> jq: 1 compile error >> >> Remove the extra dot (.) after flags array to fix this. >> >> Fixes: 4baa1d3a5080 ("selftests: net: lib: Add ip_link_has_flag()") >> Signed-off-by: Yue Haibing <[email protected]> > > Interesting, both work for me on 1.7.1. What jq version do you use?
I run this on Ubuntu 23.04, jq - commandline JSON processor [version 1.6] > > Nevertheless, I believe the fix is correct. > > Reviewed-by: Petr Machata <[email protected]> > >> --- >> tools/testing/selftests/net/lib.sh | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/tools/testing/selftests/net/lib.sh >> b/tools/testing/selftests/net/lib.sh >> index 0ec131b339bc..b40694573f4c 100644 >> --- a/tools/testing/selftests/net/lib.sh >> +++ b/tools/testing/selftests/net/lib.sh >> @@ -577,7 +577,7 @@ ip_link_has_flag() >> local flag=$1; shift >> >> local state=$(ip -j link show "$name" | >> - jq --arg flag "$flag" 'any(.[].flags.[]; . == $flag)') >> + jq --arg flag "$flag" 'any(.[].flags[]; . == $flag)') >> [[ $state == true ]] >> } >

