On 5/11/23 15:49, Stefan Hoffmann wrote: > On Thu, 2023-05-11 at 15:38 +0200, Stefan Hoffmann wrote: >> This tests stream.c and stream.py with ssl connection at >> CHECK_STREAM_OPEN_BLOCK. >> For the tests, ovsdb needs to be build with libssl. >> >> Signed-off-by: Stefan Hoffmann <[email protected]> >> --- >> >> Changes based on comments from Ilya Maximets: >> use m4_join; use m4_substr directly at call, without using variable in >> between >> >> Hint: at some places we can't use brackets, as m4 seems to not resolve the >> variables otherwise. Mail with comments at this places will follow. >> >> tests/ovsdb-idl.at | 31 +++++++++++++++++++++++++++---- >> tests/test-stream.c | 12 +++++++++++- >> tests/test-stream.py | 18 ++++++++++++++++++ >> 3 files changed, 56 insertions(+), 5 deletions(-) >> >> diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at >> index 258d79fe9..978a6677b 100644 >> --- a/tests/ovsdb-idl.at >> +++ b/tests/ovsdb-idl.at >> @@ -28,8 +28,13 @@ m4_define([OVSDB_START_IDLTEST], >> [ >> AT_CHECK([ovsdb-tool create db dnl >> m4_if([$2], [], [$abs_srcdir/idltest.ovsschema], [$2])]) >> + PKIDIR=$abs_top_builddir/tests >> AT_CHECK([ovsdb-server -vconsole:warn --log-file --detach --no-chdir dnl >> --pidfile --remote=punix:socket dnl >> + m4_if(m4_substr($1, 0, 5), [pssl:], >> + [--private-key=$PKIDIR/testpki-privkey2.pem dnl >> + --certificate=$PKIDIR/testpki-cert2.pem dnl >> + --ca-cert=$PKIDIR/testpki-cacert.pem], []) dnl >> m4_if([$1], [], [], [--remote=$1]) db dnl >> ]) >> on_exit 'kill `cat ovsdb-server.pid`' >> @@ -2286,14 +2291,26 @@ m4_define([CHECK_STREAM_OPEN_BLOCK], >> [AT_SETUP([Check stream open block - $1 - $3]) >> AT_SKIP_IF([test "$3" = "tcp6" && test "$IS_WIN32" = "yes"]) >> AT_SKIP_IF([test "$3" = "tcp6" && test "$HAVE_IPV6" = "no"]) >> + AT_SKIP_IF([test "$3" = "ssl6" && test "$IS_WIN32" = "yes"]) >> + AT_SKIP_IF([test "$3" = "ssl6" && test "$HAVE_IPV6" = "no"]) >> + AT_SKIP_IF([test "$3" = "ssl" && test "$HAVE_OPENSSL" = "no"]) >> + $PYTHON3 -c "import ssl" >> + SSL_PRESENT=$? >> + AT_SKIP_IF([test "$3" = "ssl" && test $SSL_PRESENT != 0]) >> + AT_SKIP_IF([test "$3" = "ssl6" && test "$HAVE_OPENSSL" = "no"]) >> + AT_SKIP_IF([test "$3" = "ssl6" && test $SSL_PRESENT != 0]) >> AT_KEYWORDS([ovsdb server stream open_block $3]) >> - OVSDB_START_IDLTEST(["ptcp:0:$4"]) >> + PKIDIR=$abs_top_builddir/tests >> + m4_define([PROTOCOL], [m4_substr([$3], [0], [3])]) >> + OVSDB_START_IDLTEST([m4_join([], [p], PROTOCOL, [:0:], $4)]) > > Badly we must not use brackets here for the arguments that are > variables (PROTOCOL), we want to get resolved. > I guess, otherwise, m4 takes them as text instead. > > Also we need to handover `$4` directly without brackets, else we get > issues with IPv6 IPs. > The ovsdb-server call would be '--remote=ptcp:0:[[::1]]' instead of '-- > remote=ptcp:0:[::1]'. > We could use brackets here but would need to remove them above at > OVSDB_START_IDLTEST (--remote=$4 instead of [--remote=$4]). I decidet > to miss the brackets here is the better way. > Another solution would be to remove one pair of brackets at the > CHECK_STREAM_OPEN_BLOCK function call below, but than we also more or > less handover the plain value without brackets there. > > Do you have a better idea how to solve that or should I add a comment > to the code therefore?
I guess, we can keep as-is. No need for extra comments. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
