[ovs-dev] [PATCH 48/55] library.at: Run tests for Python 2 and 3.

Russell Bryant russell at ovn.org
Mon Dec 21 20:47:48 UTC 2015


Update Python tests to run for both Python 2 and 3.

Signed-off-by: Russell Bryant <russell at ovn.org>
---
 tests/library.at | 34 ++++++++++++++++++++++------------
 1 file changed, 22 insertions(+), 12 deletions(-)

diff --git a/tests/library.at b/tests/library.at
index d5dcb12..11a405b 100644
--- a/tests/library.at
+++ b/tests/library.at
@@ -154,24 +154,34 @@ cd $longname
 AT_CHECK([ovstest test-unix-socket ../$longname/socket socket])
 AT_CLEANUP
 
-AT_SETUP([test unix socket, short pathname - Python])
-AT_SKIP_IF([test $HAVE_PYTHON = no || test "$IS_WIN32" = "yes"])
-AT_CHECK([$PYTHON $srcdir/test-unix-socket.py x])
-AT_CLEANUP
+m4_define([UNIX_SOCKET_SHORT_PATHNAME_PYN],
+  [AT_SETUP([test unix socket, short pathname - $1])
+   AT_SKIP_IF([test $2 = no || test "$IS_WIN32" = "yes"])
+   AT_KEYWORDS([python unixsocket])
+   AT_CHECK([$3 $srcdir/test-unix-socket.py x])
+   AT_CLEANUP])
+
+UNIX_SOCKET_SHORT_PATHNAME_PYN([Python2], [$HAVE_PYTHON], [$PYTHON])
+UNIX_SOCKET_SHORT_PATHNAME_PYN([Python3], [$HAVE_PYTHON3], [$PYTHON3])
 
 dnl Unix sockets with long names are problematic because the name has to
 dnl go in a fixed-length field in struct sockaddr_un.  Generally the limit
 dnl is about 100 bytes.  On Linux, we work around this by indirecting through
 dnl a directory fd using /proc/self/fd/<dirfd>.  We do not have a workaround
 dnl for other platforms, so we skip the test there.
-AT_SETUP([test unix socket, long pathname - Python])
-AT_SKIP_IF([test $HAVE_PYTHON = no || test "$IS_WIN32" = "yes"])
-dnl Linux has a 108 byte limit; this is 150 bytes long.
-longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
-mkdir $longname
-cd $longname
-AT_CHECK([$PYTHON $abs_srcdir/test-unix-socket.py ../$longname/socket socket])
-AT_CLEANUP
+m4_define([UNIX_SOCKET_LONG_PATHNAME_PYN],
+  [AT_SETUP([test unix socket, long pathname - $1])
+   AT_SKIP_IF([test $2 = no || test "$IS_WIN32" = "yes"])
+   AT_KEYWORDS([python unixsocket])
+   dnl Linux has a 108 byte limit; this is 150 bytes long.
+   longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+   mkdir $longname
+   cd $longname
+   AT_CHECK([$3 $abs_srcdir/test-unix-socket.py ../$longname/socket socket])
+   AT_CLEANUP])
+
+UNIX_SOCKET_LONG_PATHNAME_PYN([Python2], [$HAVE_PYTHON], [$PYTHON])
+UNIX_SOCKET_LONG_PATHNAME_PYN([Python3], [$HAVE_PYTHON3], [$PYTHON3])
 
 AT_SETUP([ovs_assert])
 if test "$IS_WIN32" = "yes"; then
-- 
2.5.0




More information about the dev mailing list