[ovs-dev] [PATCH] tests: Make compatible with FreeBSD's xargs

Ed Maste emaste at freebsd.org
Mon Jul 30 23:23:48 UTC 2012


The FreeBSD version of xargs does not run the utility argument on empty
input, while GNU xargs runs it at least once, even with empty input.  As
a result on FreeBSD VSCTL_CHECK_FIND returned no output for an empty
bridge list while on Linux it returned a single blank line.  Add a new
VSCTL_CHECK_FIND_EMPTY to explicitly match an empty bridge list.

Signed-off-by: Ed Maste <emaste at freebsd.org>
---
 tests/ovs-vsctl.at |   21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index 71c46cd..13d5329 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -771,13 +771,16 @@ AT_CHECK(
 m4_define([VSCTL_CHECK_FIND],
   [AT_CHECK([ovs-vsctl --bare --timeout=5 --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge '$1' | sort | xargs echo], [0], [$2
 ])])
+m4_define([VSCTL_CHECK_FIND_EMPTY],
+  [AT_CHECK([ovs-vsctl --bare --timeout=5 --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge '$1'])])
+
 
 # Arithmetic relational operators without keys.
 VSCTL_CHECK_FIND([flood_vlans=0], [br1])
 VSCTL_CHECK_FIND([flood_vlans=1], [br2])
 VSCTL_CHECK_FIND([flood_vlans=0,2], [br5])
 VSCTL_CHECK_FIND([flood_vlans=0,1,2], [br7])
-VSCTL_CHECK_FIND([flood_vlans=3], [])
+VSCTL_CHECK_FIND_EMPTY([flood_vlans=3])
 
 VSCTL_CHECK_FIND([flood_vlans!=0], [br0 br2 br3 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([flood_vlans!=1], [br0 br1 br3 br4 br5 br6 br7])
@@ -799,7 +802,7 @@ VSCTL_CHECK_FIND([flood_vlans{=}0], [br1])
 VSCTL_CHECK_FIND([flood_vlans{=}1], [br2])
 VSCTL_CHECK_FIND([flood_vlans{=}0,2], [br5])
 VSCTL_CHECK_FIND([flood_vlans{=}0,1,2], [br7])
-VSCTL_CHECK_FIND([flood_vlans{=}3], [])
+VSCTL_CHECK_FIND_EMPTY([flood_vlans{=}3])
 
 VSCTL_CHECK_FIND([flood_vlans{!=}0], [br0 br2 br3 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([flood_vlans{!=}1], [br0 br1 br3 br4 br5 br6 br7])
@@ -807,7 +810,7 @@ VSCTL_CHECK_FIND([flood_vlans{!=}0,2], [br0 br1 br2 br3 br4 br6 br7])
 VSCTL_CHECK_FIND([flood_vlans{!=}0,1,2], [br0 br1 br2 br3 br4 br5 br6])
 VSCTL_CHECK_FIND([flood_vlans{!=}3], [br0 br1 br2 br3 br4 br5 br6 br7])
 
-VSCTL_CHECK_FIND([flood_vlans{<}[[]]], [])
+VSCTL_CHECK_FIND_EMPTY([flood_vlans{<}[[]]])
 VSCTL_CHECK_FIND([flood_vlans{<=}[[]]], [br0])
 VSCTL_CHECK_FIND([flood_vlans{<}0], [br0])
 VSCTL_CHECK_FIND([flood_vlans{<=}0], [br0 br1])
@@ -854,23 +857,23 @@ VSCTL_CHECK_FIND([other-config:x{<=}y], [br0 br2 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([other-config:x{<=}z], [br0 br3 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([other-config:x{<=}x,y,z], [br0 br2 br3 br4 br5 br6 br7])
 
-VSCTL_CHECK_FIND([other-config:x{<}[[]]], [])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{<}[[]]])
 VSCTL_CHECK_FIND([other-config:x{<}x], [br0 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([other-config:x{<}""], [br0 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([other-config:x{<}y], [br0 br4 br5 br6 br7])
 VSCTL_CHECK_FIND([other-config:x{<}z], [br0 br4 br5 br6 br7])
 
 VSCTL_CHECK_FIND([other-config:x{>=}[[]]], [br0 br1 br2 br3 br4 br5 br6 br7])
-VSCTL_CHECK_FIND([other-config:x{>=}x], [])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{>=}x])
 VSCTL_CHECK_FIND([other-config:x{>=}""], [br1])
 VSCTL_CHECK_FIND([other-config:x{>=}y], [br2])
 VSCTL_CHECK_FIND([other-config:x{>=}z], [br3])
 
 VSCTL_CHECK_FIND([other-config:x{>}[[]]], [br1 br2 br3])
-VSCTL_CHECK_FIND([other-config:x{>}x], [])
-VSCTL_CHECK_FIND([other-config:x{>}""], [])
-VSCTL_CHECK_FIND([other-config:x{>}y], [])
-VSCTL_CHECK_FIND([other-config:x{>}z], [])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{>}x])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{>}""])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{>}y])
+VSCTL_CHECK_FIND_EMPTY([other-config:x{>}z])
 OVS_VSCTL_CLEANUP
 AT_CLEANUP
 
-- 
1.7.10.3



More information about the dev mailing list