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

Mtest: Implemented --testweb option.
If --testweb is given we assume that we're running on behalf of the
nightly testing infrastructure.  In that case we don't produce the
.*.html files which are used to create static frames around the test
output, and we remove all files that pertain to tests that were
completely successful.
A successful run now only produces two files: times.lst and times.sql.
In the process, there was some cleanup of the sources.


diffs (truncated from 1190 to 300 lines):

diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -134,14 +134,14 @@ except ImportError:
                 _configure(os.path.join('@QXprefix@', p))
                 sys.path.insert(0, p)
                 if os.environ.has_key('PYTHONPATH'):
-                    p = p + os.pathsep + os.environ['PYTHONPATH']
+                    p += os.pathsep + os.environ['PYTHONPATH']
                 os.environ['PYTHONPATH'] = p
                 p = distutils.sysconfig.get_python_lib(0, 0, '')
             p = _configure(os.path.join('@QXprefix@', p))
         sys.path.insert(0, p)
         import MonetDBtesting.subprocess26 as subprocess
         if os.environ.has_key('PYTHONPATH'):
-            p = p + os.pathsep + os.environ['PYTHONPATH']
+            p += os.pathsep + os.environ['PYTHONPATH']
         os.environ['PYTHONPATH'] = p
 
 import string                   # for whitespace
@@ -180,7 +180,7 @@ def isexecutable(TST, ext = '.sh') :
     elif os.name == "posix":
         #TODO:
         # check with "file", and set executable
-        TST = TST + ext
+        TST += ext
         if ( os.path.isfile(TST       ) and os.access(TST       ,os.X_OK) ) or 
\
            ( os.path.isfile(TST+".src") and os.access(TST+".src",os.X_OK) ):
             return [ 1, ext ]
@@ -212,7 +212,7 @@ except ImportError:
         sys.path.insert(0, p)
         from MonetDBtesting import monet_options
         if os.environ.has_key('PYTHONPATH'):
-            p = p + os.pathsep + os.environ['PYTHONPATH']
+            p += os.pathsep + os.environ['PYTHONPATH']
         os.environ['PYTHONPATH'] = p
 
 import threading, signal
@@ -513,7 +513,7 @@ def Usage (options) :
 
 def ErrMsg(TEXT) :
     STDOUT.flush()
-    STDERR.write("\n"+THISFILE+":  ERROR:  %s\n\n" % TEXT)
+    STDERR.write("\n%s:  ERROR:  %s\n\n" % (THISFILE, TEXT))
     STDERR.flush()
 ### ErrMsg(TEXT) #
 
@@ -528,7 +528,7 @@ def Warn(TEXT) :
     except IOError:
         pass
     try:
-        STDERR.write("\n"+THISFILE+"  Warning:  %s\n\n" % TEXT)
+        STDERR.write("\n%s  Warning:  %s\n\n" % (THISFILE, TEXT))
         STDERR.flush()
     except IOError:
         pass
@@ -560,7 +560,6 @@ def try_open(path, mode) :
 
 def CreateHtmlIndex (env, *body) :
     TSTDIR=env['TSTDIR']
-    TSTTRGBASE=env['TSTTRGBASE']
     TSTTRGDIR=env['TSTTRGDIR']
 
     if TSTDIR:
@@ -605,7 +604,7 @@ def CreateHtmlIndex (env, *body) :
                                                 'cellspacing': '0',
                                                 'cellpadding': '3'},
                                                tr))))
-        f = open(INDEX+".head.html","w")
+        f = open("%s.head.html" % INDEX,"w")
         html.write(f, True)
         f.close()
 
@@ -632,64 +631,55 @@ def CreateHtmlIndex (env, *body) :
                                         'marginwidth': '0',
                                         'marginheight': '0'}),
                                Element('frame',
-                                       {'src': 
url(env['_'+TSTDIR+'_BODY_'][0]),
+                                       {'src': url(env['_%s_BODY_' % 
TSTDIR][0]),
                                         'scrolling': 'auto',
                                         'name': '%s_%s_body' % (DISTVER, 
TSTDIR),
                                         'frameborder': 'yes',
                                         'bordercolor': white,
                                         'marginwidth': '0',
                                         'marginheight': '0'})))
-        f = open(INDEX+".html","w")
+        f = open("%s.html" % INDEX, "w")
         html.write(f, True)
         f.close()
-        env['_'+TSTDIR+'_BODY_'] = ["",0]
+        env['_%s_BODY_' % TSTDIR] = ["", 0]
         os.chdir(BACK)
 ### CreateHtmlIndex (env, *body) #
 
-def CreateTstWhatXhtml (env, TST, stableWHAT, EXT, SockTime) :
+def CreateTstWhatXhtml (env, TST, stableWHAT, EXT, result) :
     WHAT = stableWHAT[7:11]
     TSTDIR    = env['TSTDIR']
     TSTSRCDIR = env['TSTSRCDIR']
 
-    l = ''
-    for l in open(TST+WHAT+".diff.html"):
-        pass
-    if   l[:14] == '<!--NoDiffs-->':
+    if result == F_OK:
         diffclass = 'good'
         difftext = 'No differences'
-    elif l[:17] == '<!--MinorDiffs-->':
+    elif result == F_WARN:
         diffclass = 'warning'
         difftext = 'Minor differences'
-    elif l[:17] == '<!--MajorDiffs-->':
-        diffclass = 'error'
+    else:                       # result == F_ERROR:
         difftext = 'Major differences'
+        if result == F_SOCK:
+            diffclass = 'socket'
+            difftext += ' (Socket)'
+        elif result == F_TIME:
+            diffclass = 'timeout'
+            difftext += ' (Timeout)'
+        elif result == F_RECU:
+            diffclass = 'recursion'
+            difftext += ' (Recursion)'
+        elif result == F_ABRT:
+            diffclass = 'abort'
+            difftext += ' (Aborted)'
+        elif result == F_SEGV:
+            diffclass = 'segfault'
+            difftext += ' (Crash)'
+        else:
+            diffclass = 'error'
+
+    if COMPBITSOIDSLINK:
+        SYSTEM = '%s, %s:' % (DISTVER, COMPBITSOIDSLINK)
     else:
-        Warn("Unexpected last line in %s:\n%s" % (TST+WHAT+".diff.html",l))
-        f = open(TST+WHAT+".diff.html","a")
-        f.write("\n<!--MajorDiffs-->\n")
-        f.close()
-        diffclass = 'error'
-        difftext = 'Major differences'
-    if diffclass == 'error' and SockTime in (F_SOCK, F_TIME, F_RECU, F_ABRT, 
F_SEGV):
-        if SockTime == F_SOCK:
-            diffclass = 'socket'
-            difftext = difftext + ' (Socket)'
-        if SockTime == F_TIME:
-            diffclass = 'timeout'
-            difftext = difftext + ' (Timeout)'
-        if SockTime == F_RECU:
-            diffclass = 'recursion'
-            difftext = difftext + ' (Recursion)'
-        if SockTime == F_ABRT:
-            diffclass = 'abort'
-            difftext = difftext + ' (Aborted)'
-        if SockTime == F_SEGV:
-            diffclass = 'segfault'
-            difftext = difftext + ' (Crash)'
-    if COMPBITSOIDSLINK:
-        SYSTEM = DISTVER+", "+COMPBITSOIDSLINK+":"
-    else:
-        SYSTEM = DISTVER+":"
+        SYSTEM = "%s:" % DISTVER
 
     html = Element('html', {},
                    Element('head', {},
@@ -717,7 +707,7 @@ def CreateTstWhatXhtml (env, TST, stable
                                     'bordercolor': white,
                                     'marginwidth': '0',
                                     'marginheight': '0'})))
-    f = open(".%s%s.html" % (TST, WHAT),"w")
+    f = open(".%s%s.html" % (TST, WHAT), "w")
     html.write(f, True)
     f.close()
     f = open(".%s%s.head.html" % (TST, WHAT),"w")
@@ -765,7 +755,7 @@ def CreateTstWhatXhtml (env, TST, stable
                     Text('test%s' % WHAT)),
             Text(' of '),
             Element('a', {'href': TST + EXT, 'target': target},
-                    Text('%s%s' % (TST, EXT)))])
+                    Text(TST + EXT))])
     if REV:
         d = urlpref
         if os.path.isfile(TST + EXT + '.src'):
@@ -815,7 +805,7 @@ def CreateTstWhatXhtml (env, TST, stable
     f.close()
 #TODO?
 # <A HREF='.Mtest.Slave.Log.OutErr' 
TARGET='"""+DISTVER+"_"+TSTDIR+"_"+TST+"_"+WHAT[1:]+"""_body'>LOG</A>).
-### CreateTstWhatXhtml (env, TST, stableWHAT, EXT) #
+### CreateTstWhatXhtml (env, TST, stableWHAT, EXT, results) #
 
 def CreateSrcIndex (env, TST, EXT) :
     TSTSRCDIR = env['TSTSRCDIR']
@@ -824,7 +814,7 @@ def CreateSrcIndex (env, TST, EXT) :
     if URLPREFIX:
         framesrc = '%s%s/%s/%s%s' % (URLPREFIX, url(TSTDIR), TSTSUFF, TST, EXT)
     else:
-        f = open("."+TST+".nosrc.index.html","w")
+        f = open(".%s.nosrc.index.html" % TST, "w")
         html = Element('html', {},
                        Element('head', {},
                                Element('title', {},
@@ -865,7 +855,7 @@ def CreateSrcIndex (env, TST, EXT) :
                                     'bordercolor': white,
                                     'marginwidth': '0',
                                     'marginheight': '0'})))
-    f = open("."+TST+".src.index.html","w")
+    f = open(".%s.src.index.html" % TST,"w")
     html.write(f, True)
     f.close()
 
@@ -900,7 +890,7 @@ def CreateSrcIndex (env, TST, EXT) :
                                             'cellspacing': '0',
                                             'cellpadding': '3'},
                                            tr))))
-    f = open("."+TST+".src.index.head.html","w")
+    f = open(".%s.src.index.head.html" % TST, "w")
     html.write(f, True)
     f.close()
 ### CreateSrcIndex (env, TST, EXT) #
@@ -930,42 +920,12 @@ def AddHref (href, target, linktext, dif
         return [a]
 ### AddHref (TSTDIR, TST, WHAT, diff) #
 
-def AddTstToHtmlIndex (env, TST, STABLEout, STABLEerr, EXT, SockTime) :
+def AddTstToHtmlIndex (env, TST, STABLEout, STABLEerr, EXT, o, e) :
     TSTDIR = env['TSTDIR']
 
-    CreateTstWhatXhtml(env, TST, STABLEout, EXT, F_OK)
-    CreateTstWhatXhtml(env, TST, STABLEerr, EXT, SockTime)
-
-    for l in open(TST+".out.diff.html"):
-        pass
-    if   l[:14] == '<!--NoDiffs-->':
-        o = F_OK
-    elif l[:17] == '<!--MinorDiffs-->':
-        o = F_WARN
-    elif l[:17] == '<!--MajorDiffs-->':
-        o = F_ERROR
-    else:
-        Warn("Unexpected last line in %s:\n%s" % (TST+".out.diff.html",l))
-        ff = open(TST+".out.diff.html","a")
-        ff.write("\n<!--MajorDiffs-->\n")
-        ff.close()
-        o = F_ERROR
-    for l in open(TST+".err.diff.html"):
-        pass
-    if   l[:14] == '<!--NoDiffs-->':
-        e = F_OK
-    elif l[:17] == '<!--MinorDiffs-->':
-        e = F_WARN
-    elif l[:17] == '<!--MajorDiffs-->':
-        e = F_ERROR
-    else:
-        Warn("Unexpected last line in %s:\n%s" % (TST+".err.diff.html",l))
-        ff = open(TST+".err.diff.html","a")
-        ff.write("\n<!--MajorDiffs-->\n")
-        ff.close()
-        e = F_ERROR
-    if e == F_ERROR and SockTime in (F_SOCK, F_TIME, F_RECU, F_ABRT, F_SEGV):
-        e = SockTime
+    CreateTstWhatXhtml(env, TST, STABLEout, EXT, o)
+    CreateTstWhatXhtml(env, TST, STABLEerr, EXT, e)
+
     if o == F_ERROR or e == F_ERROR:
         tstclass = 'error'
     elif e == F_RECU:
@@ -996,30 +956,27 @@ def AddTstToHtmlIndex (env, TST, STABLEo
     td.addchildren(AddHref('.%s%s.html' % (TST, '.err'),
                            '%s_%s_body' % (DISTVER, TSTDIR),
                            'err', e))
-    if not env.has_key('_'+TSTDIR+'_BODY_')  or  \
-       not env['_'+TSTDIR+'_BODY_'][0]  or  \
-       ( (not env['_'+TSTDIR+'_BODY_'][1])  and  (o or e) ):
+    if not env.has_key('_%s_BODY_' % TSTDIR)  or  \
+       not env['_%s_BODY_' % TSTDIR][0]  or  \
+       ( (not env['_%s_BODY_' % TSTDIR][1])  and  (o or e) ):
         if e and not o:
-            env['_'+TSTDIR+'_BODY_'] = ["."+TST+".err.html", e]
+            env['_%s_BODY_' % TSTDIR] = [".%s.err.html" % TST, e]
         else:
-            env['_'+TSTDIR+'_BODY_'] = ["."+TST+".out.html", o]
+            env['_%s_BODY_' % TSTDIR] = [".%s.out.html" % TST, o]
 
     CreateSrcIndex(env, TST, EXT)
 
-    return o, e, td
+    return td
 ### AddTstToHtmlIndex (env, TST, STABLEout, STABLEerr, EXT) #
 
 def AddSubToHtmlIndex (env, TSTDIR, diff) :
-    TSTTRGBASE = env['TSTTRGBASE']
-    TSTPREF = env['TSTPREF']
-
     td = Element('td', {'class': 'header'})
     td.addchildren(AddHref('%s/.index.html' % url(TSTDIR), '%s__body' % 
DISTVER,
                            TSTDIR, diff))
     if not env.has_key('__BODY_')  or  \
        not env['__BODY_'][0]  or  \
        ( (not env['__BODY_'][1])  and  diff ):
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to