The queries we use in the test scripts to locate the external interface or gateway can return multiple results. We get away with this because the way we parse command output only looks at the last line. It's not really correct, though, and improvements to our handling of command output will mean it breaks. Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au> --- test/dhcp/passt | 4 ++-- test/dhcp/pasta | 4 ++-- test/ndp/passt | 4 ++-- test/ndp/pasta | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/dhcp/passt b/test/dhcp/passt index 11e0eb3..37bf6b5 100644 --- a/test/dhcp/passt +++ b/test/dhcp/passt @@ -28,7 +28,7 @@ check [ "__ADDR__" = "__HOST_ADDR__" ] test DHCP: route gout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW ip -j -4 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ "__GW__" = "__HOST_GW__" ] test DHCP: MTU @@ -55,7 +55,7 @@ check [ "__ADDR6__" = "__HOST_ADDR6__" ] test DHCPv6: route gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ "__GW6__" = "__HOST_GW6__" ] # Strip interface specifier: interface names might differ between host and guest diff --git a/test/dhcp/pasta b/test/dhcp/pasta index 076ec8d..d1e9611 100644 --- a/test/dhcp/pasta +++ b/test/dhcp/pasta @@ -26,7 +26,7 @@ check [ __ADDR__ = __HOST_ADDR__ ] test DHCP: route nsout GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW ip -j -4 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW ip -j -4 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ __GW__ = __HOST_GW__ ] test DHCP: MTU @@ -42,5 +42,5 @@ check [ __ADDR6__ = __HOST_ADDR6__ ] test DHCPv6: route nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ __GW6__ = __HOST_GW6__ ] diff --git a/test/ndp/passt b/test/ndp/passt index 8ef15e7..c73fd4d 100644 --- a/test/ndp/passt +++ b/test/ndp/passt @@ -17,7 +17,7 @@ htools ip jq sipcalc grep cut test Interface name gout IFNAME ip -j link show | jq -rM '.[] | select(.link_type == "ether").ifname' guest ip link set dev __IFNAME__ up && sleep 2 -hout HOST_IFNAME6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").dev' +hout HOST_IFNAME6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").dev] | .[0]' check [ -n "__IFNAME__" ] test SLAAC: prefix @@ -29,5 +29,5 @@ check [ "__PREFIX6__" = "__HOST_PREFIX6__" ] test SLAAC: route gout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ __GW6__ = __HOST_GW6__ ] diff --git a/test/ndp/pasta b/test/ndp/pasta index 28fdd72..d776055 100644 --- a/test/ndp/pasta +++ b/test/ndp/pasta @@ -29,5 +29,5 @@ check [ "__PREFIX6__" = "__HOST_PREFIX6__" ] test SLAAC: route nsout GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' -hout HOST_GW6 ip -j -6 route show|jq -rM '.[] | select(.dst == "default").gateway' +hout HOST_GW6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").gateway] | .[0]' check [ __GW6__ = __HOST_GW6__ ] -- 2.37.2