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