Changeset: 1856dea46ec5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1856dea46ec5
Modified Files:
        testing/Mtest.py.in
Branch: Oct2012
Log Message:

Mtest: don't use (too) long UNIX paths

Apparently UNIX sockets are limited in size, more than normal paths, so
we're forced to use a hard-coded short path, "/var/tmp/mtest-<pid>".  We
need to clean it up too.  This solves the very long timeouts of tests
all failing to run.


diffs (38 lines):

diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -3734,9 +3734,17 @@ def main(argv) :
 
     global SOCK, HOST
     if SOCK:
-        SOCK = "--set mapi_usock=%s/.s.monetdb.%s" % \
-                (env['GDK_DBFARM'], env['MAPIPORT'])
-        HOST = env['GDK_DBFARM']
+        # we cannot put the UNIX socket in the mtest root, because that
+        # makes the UNIX socket too long on most platforms, so use
+        # /var/tmp/mtest and try not to forget to clean that up
+        sockdir = "/var/tmp/mtest-%d" % os.getpid()
+        try:
+            os.mkdir(sockdir);
+            SOCK = "--set mapi_usock=%s/.s.monetdb.%s" % \
+                    (sockdir, env['MAPIPORT'])
+            HOST = sockdir
+        except:
+            SOCK = ""
     else:
         SOCK = ""
 
@@ -4076,6 +4084,13 @@ VALUES (%s, '%s', '%s', '%s',
         if not testweb:
             CreateHtmlIndex(env, *body)
 
+        # cleanup the place where we put our UNIX sockets
+        if SOCK:
+            try:
+                shutil.rmtree(sockdir);
+            except:
+                pass
+
         Failed = 0
         for f in Failure[1:-1]:
             Failed += len(f)
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to