I'm not an autoconf expert, but having NS_CHECK_EXEC and NS_CHECK_EXEC_UNQUOTED for this purpose might be confusing, since there already are AT_CHECK and AT_CHECK_UNQUOTED, and the "UNQUOTED" refers to comparison text.
How about this? # NS_EXEC([namespace], [command]) # # Execute 'command' in 'namespace' m4_define([NS_EXEC], [ip netns exec $1 sh << NS_EXEC_HEREDOC $2 NS_EXEC_HEREDOC ]) On 10/08/2015 21:17, "Joe Stringer" <joestrin...@nicira.com> wrote: >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