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 ]]
>>  }
> 

Reply via email to