📄 mtest.py
字号:
<tests> : list of tests to be processed; if none or 'All' is given, all tests listed in 'Tests/All' are processed (defaults to 'All' if -r is used) <dirs> : list of directories to be processed; if present, %(prog)s processes 'All' tests in each directory of <dirs>; -r may be used also See %(readme)s for details about %(prog)s.""" % {'prog': THISFILE, 'readme': os.path.join(GetMonetConfig('--source'),'src','testing','README'), }) raise### Usage () ##TODO:#class TimeoutError:# def __init__(self, text):# self.text = text# def __str__(self):# return self.text##def AlarmHandler(signum, frame) :# raise TimeoutError, "Timeout"#### AlarmHandler(signum, frame) #def ErrMsg(TEXT) : STDOUT.flush() STDERR.write("\n"+THISFILE+": ERROR: %s\n\n" % TEXT) STDERR.flush()### ErrMsg(TEXT) #def ErrXit(TEXT) : ErrMsg(TEXT) sys.exit(1)### ErrXit(TEXT) #def Warn(TEXT) : try: STDOUT.flush() except IOError: pass try: STDERR.write("\n"+THISFILE+" Warning: %s\n\n" % TEXT) STDERR.flush() except IOError: pass### Warn(TEXT) #def startswith(str,pre) : return str[:len(pre)] == pre### startswith(str,pre) #import urllib##def path(str) :## return str.replace('/', os.sep)path = urllib.url2pathname### path(str) ###def url(str) :## return str.replace(os.sep, '/')url = urllib.pathname2url### url(str) #def try_open(path, mode) : try: f = open(path, mode) except IOError, (IOerrNo, IOerrStr): Warn("Opening file '%s' in mode '%s' failed with #%d: '%s'." % (path, mode, IOerrNo, IOerrStr)) f = None return f### try_open(path, mode) #def CreateHtmlIndex (env, *body) : TSTDIR=env['TSTDIR'] TSTTRGBASE=env['TSTTRGBASE'] TSTTRGDIR=env['TSTTRGDIR'] if TSTDIR: INDEX=".index" else: INDEX="index" if body: BACK = os.getcwd() os.chdir(TSTTRGDIR) if TSTDIR: header = Text(TSTDIR) if URLPREFIX: header = Element('a', {'href': '%s%s/%s' % (URLPREFIX, url(TSTDIR), TSTSUFF), 'target': '%s%s_%s_body' % (URLSUFFIX_D, OSVER, TSTDIR), 'class': 'black'}, header) else: header = Element('span', {'class': 'black'}, Text(OSVER)) tr = Element('tr', {}, Element('th', {'class': 'header'}, header)) tr.addchildren(body) html = Element('html', {}, Element('head', {}, Element('title', {}, Text(HTMLTITLE)), stylesheet), Element('body', {'bgcolor': white, 'text': black, 'link': green, 'vlink': darkgreen, 'alink': lime}, Element('center', {}, Element('table', {'align': 'abscenter', 'border': '1', 'cellspacing': '0', 'cellpadding': '3'}, tr)))) f = open(INDEX+".head.html","w") html.write(f, True) f.close() if TSTDIR: ROWS="72" else: ROWS="54" html = Element('html', {}, Element('head', {}, Element('title', {}, Text(HTMLTITLE))), Element('frameset', {'rows': '%s,*' % ROWS, 'frameborder': 'yes', 'border': '1', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}, Element('frame', {'src': '%s.head.html' % INDEX, 'scrolling': 'auto', 'name': '%s_%s_head' % (OSVER, TSTDIR), 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}), Element('frame', {'src': url(env['_'+TSTDIR+'_BODY_'][0]), 'scrolling': 'auto', 'name': '%s_%s_body' % (OSVER, TSTDIR), 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}))) f = open(INDEX+".html","w") html.write(f, True) f.close() env['_'+TSTDIR+'_BODY_'] = ["",0] os.chdir(BACK)### CreateHtmlIndex (env, *body) #def CreateTstWhatXhtml (env, TST, stableWHAT, EXT) : WHAT = stableWHAT[7:11] TSTDIR = env['TSTDIR'] TSTSRCDIR = env['TSTSRCDIR'] testT = re.compile("^/"+TST+EXT+"/([^/]*)/", re.MULTILINE) testS = re.compile("^/"+TST+stableWHAT+"/([^/]*)/", re.MULTILINE) REVt="?" REVs="?" entries = os.path.join(TSTSRCDIR,"CVS","Entries") if os.path.isfile(entries): for l in fileinput.input(entries): mT = testT.match(l) if mT: REVt=mT.group(1) mS = testS.match(l) if mS: REVs=mS.group(1) l = '' for l in fileinput.input(TST+WHAT+".diff.html"): pass if l[:14] == '<!--NoDiffs-->': diffclass = 'good' difftext = 'No differences' elif l[:17] == '<!--MinorDiffs-->': diffclass = 'warning' difftext = 'Minor differences' elif l[:17] == '<!--MajorDiffs-->': diffclass = 'error' difftext = 'Major differences' 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' SYSTEM = OSVER+":" if COMPILER: SYSTEM = COMPILER+", "+SYSTEM xWHAT = WHAT if THISFILE == "Mprofile.py": test = re.compile("^"+TST+"(_[sp][0-9][0-9])?\..*mil.*\.prof\.diff\.html$", re.MULTILINE) d = os.listdir(os.getcwd()) d.sort() rows = "" frames = "" frameset = Element('frameset', {'frameborder': 'yes', 'border': '1', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}) for f in d: if test.match(f): rows = rows+",*" frameset.addchild(Element('frame', {'src': f, 'scrolling': 'auto', 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'})) if rows: xWHAT = ".prof-"+WHAT[1:] rows = "*"+rows frameset.inschild(0, Element('frame', {'src': TST+WHAT+'.diff.html', 'scrolling': 'auto', 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'})) frameset.attrdict['rows'] = rows html = Element('html', {}, Element('head', {}. Element('title', {}, Text(HTMLTITLE))), frameset) f = open(TST+xWHAT+".diff.html","w") html.write(f, True) f.close() html = Element('html', {}, Element('head', {}, Element('title', {}, Text(HTMLTITLE)), stylesheet), Element('frameset', {'rows': '42,*', 'frameborder': 'yes', 'border': '1', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}, Element('frame', {'src': '.%s%s.head.html' % (TST, WHAT), 'scrolling': 'auto', 'name': '%s_%s_%s_%s_head' % (OSVER, TSTDIR, TST, WHAT[1:]), 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}), Element('frame', {'src': '%s%s.diff.html' % (TST, xWHAT), 'scrolling': 'auto', 'name': '%s_%s_%s_%s_body' % (OSVER, TSTDIR, TST, WHAT[1:]), 'frameborder': 'yes', 'bordercolor': white, 'marginwidth': '0', 'marginheight': '0'}))) f = open(".%s%s.html" % (TST, WHAT),"w") html.write(f, True) f.close() f = open(".%s%s.head.html" % (TST, WHAT),"w") target = '%s_%s_%s_%s_body' % (OSVER, TSTDIR, TST, WHAT[1:]) cvs = Text('cvs') if URLPREFIX: cvs = Element('a', {'href': '%s%s/%s%s' % (URLPREFIX, url(TSTDIR), TSTSUFF, URLSUFFIX_D), 'target': target}, cvs) text = Element('div', {'class': 'header'}, Text(SYSTEM), Text(' '), Element('a', {'href': '%s%s.diff.html' % (TST, xWHAT), 'target': target, 'class': diffclass}, Text(difftext)), Text(' between '), Element('a', {'href': '%s%s' % (TST, stableWHAT), 'target': target}, Text('%s (r%s)' % (stableWHAT[1:], REVs))), Text(' and '), Element('a', {'href': '%s.test%s' % (TST, WHAT), 'target': target}, Text('test%s' % WHAT)), Text(' of '), Element('a', {'href': TST + EXT, 'target': target}, Text('%s%s (r%s)' % (TST, EXT, REVt))), Text(' in '), Element('a', {'href': './', 'target': target}, Text(TSTDIR)), Text(' ('), cvs, Text(', '), Element('a', {'href': url(env['RELSRCDIR']), 'target': target}, Text('src'))) for d in env['RELBLDDIR'], os.path.dirname(env['RELBLDDIR']), env['RELBLDBASE']: if os.path.isdir(d): text.addchild(Text(', ')) text.addchild(Element('a', {'href': url(d), 'target': target}, Text('BLD'))) text.addchild(Text(')')) html = Element('html', {}, Element('head', {}, Element('title', {}, Text(HTMLTITLE)), stylesheet), Element('body', {'bgcolor': white, 'text': black, 'link': green, 'vlink': darkgreen, 'alink': lime}, text)) html.write(f, True) f.close()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -