Re: [PATCH net] selftests: net: lib: Fix jq parsing error
From: Yue Haibing
Date: Wed Feb 11 2026 - 20:20:54 EST
On 2026/2/12 0:01, Petr Machata wrote:
>
> Yue Haibing <yuehaibing@xxxxxxxxxx> 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 <yuehaibing@xxxxxxxxxx>
>
> 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 <petrm@xxxxxxxxxx>
>
>> ---
>> 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 ]]
>> }
>