From 5beef085978e7ab8edc0f8a2b2a4d91a44ba2a3c Mon Sep 17 00:00:00 2001 From: David Gibson Date: Thu, 18 Aug 2022 16:13:54 +1000 Subject: test: Only select a single interface or gateway in tests 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 --- test/dhcp/passt | 4 ++-- test/dhcp/pasta | 4 ++-- test/ndp/passt | 4 ++-- test/ndp/pasta | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'test') 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__ ] -- cgit v1.2.3