Hmm. The problem I was having is that if we wrap 'command' in quotes here, and 'command' itself includes quotes (eg, command='echo "foo" | bar'), then rather than quoting "foo", the command ends up quoting everything up to 'foo', then unquoting 'foo', then quoting everything after 'foo'. The ICMP related test in the conntrack branch has an instance of this.
Maybe the right solution is to have two variants: NS_CHECK_EXEC() and NS_CHECK_EXEC_UNQUOTED(). I've seen this other places in OVS testsuite. On 10 August 2015 at 11:40, Daniele Di Proietto <diproiet...@vmware.com> wrote: > I guess you need this to use quotes("") inside 'command'. > > One effect of this change is that if 'command' contains a pipe > (or &&, or ||) just the first command will be executed inside > the namespace. I'm not sure if it's a big problem. What do you > think? > > On 08/08/2015 00:28, "Joe Stringer" <joestrin...@nicira.com> wrote: > >>ip netns exec $namespace $command doesn't need to use bash to execute >>the command. Remove it. >> >>Signed-off-by: Joe Stringer <joestrin...@nicira.com> >>--- >> tests/system-common-macros.at | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >>diff --git a/tests/system-common-macros.at b/tests/system-common-macros.at >>index 1321e58..fdc2bc7 100644 >>--- a/tests/system-common-macros.at >>+++ b/tests/system-common-macros.at >>@@ -25,7 +25,7 @@ m4_define([ADD_NAMESPACES], >> # >> # Execute 'command' in 'namespace' >> m4_define([NS_EXEC], >>- [ip netns exec $1 bash -c "$2"] >>+ [ip netns exec $1 $2] >> ) >> >> # NS_CHECK_EXEC([namespace], [command], other_params...) >>-- >>2.1.4 >> > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev