This looks like a reasonable solution, I'll have a play around with it.
On 11 August 2015 at 05:25, Daniele Di Proietto <diproiet...@vmware.com> wrote: > 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