⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtest.py

📁 这个是内存数据库中的一个管理工具
💻 PY
📖 第 1 页 / 共 5 页
字号:
#TODO?# <A HREF='.Mtest.Slave.Log.OutErr' TARGET='"""+OSVER+"_"+TSTDIR+"_"+TST+"_"+WHAT[1:]+"""_body'>LOG</A>).### CreateTstWhatXhtml (env, TST, stableWHAT, EXT) #def CreateSrcIndex (env, TST, EXT) :    TSTSRCDIR = env['TSTSRCDIR']    TSTDIR    = env['TSTDIR']    if URLPREFIX:        framesrc = '%s%s/%s/%s%s%s' % (URLPREFIX, url(TSTDIR), TSTSUFF, TST, EXT, URLSUFFIX_F)    else:        f = open("."+TST+".nosrc.index.html","w")        html = Element('html', {},                       Element('head', {},                               Element('title', {},                                       Text(HTMLTITLE)),                               stylesheet),                       Element('body',                               {'bgcolor': white,                                'text': black,                                'link': green,                                'vlink': darkgreen,                                'alink': lime},                               Element('center', {},                                       Text('no source available'))))        framesrc = '.%s.nosrc.index.html' % TST    html = Element('html', {},                   Element('head', {},                           Element('title', {}, Text(HTMLTITLE))),                   Element('frameset',                           {'rows': '54,*',                            'frameborder': 'yes',                            'border': '1',                            'bordercolor': white,                            'marginwidth': '0',                            'marginheight': '0'},                           Element('frame',                                   {'src': '.%s.src.index.head.html' % TST,                                    'scrolling': 'auto',                                    'name': '%s_%s_%s_head' % (OSVER, TSTDIR, TST),                                    'frameborder': 'yes',                                    'bordercolor': white,                                    'marginwidth': '0',                                    'marginheight': '0'}),                           Element('frame',                                   {'src': framesrc,                                    'scrolling': 'auto',                                    'name': '%s_%s_%s_body' % (OSVER, TSTDIR, TST),                                    'frameborder': 'yes',                                    'bordercolor': white,                                    'marginwidth': '0',                                    'marginheight': '0'})))    f = open("."+TST+".src.index.html","w")    html.write(f, True)    f.close()    tr = Element('tr', {},                 Element('th', {'class': 'header'},                         Text(TST)))    for s in os.listdir(TSTSRCDIR):        if len(s) >= len(TST)  and  s[:len(TST)] == TST:            slink = Text(s)            if URLPREFIX:                slink = Element('a',                                {'href': '%s%s/%s/%s%s' % (URLPREFIX, url(TSTDIR), TSTSUFF, s, URLSUFFIX_F),                                 'target': '%s_%s_%s_body' % (OSVER, TSTDIR, TST)},                                slink)            tr.addchild(Element('td', {'class': 'header'},                                slink))    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("."+TST+".src.index.head.html","w")    html.write(f, True)    f.close()### CreateSrcIndex (env, TST, EXT) #def AddHref (href, target, linktext, diff) :    if   diff == 2:        klass = 'error'    elif diff == 1:        klass = 'warning'    else:        klass = 'good'    a = Element('a', {'href': href, 'target': target, 'class': klass},                Text(linktext))    if klass == 'good':        return [Text('('), a, Text(')')]    else:        return [a]### AddHref (TSTDIR, TST, WHAT, diff) #def AddTstToHtmlIndex (env, TST, STABLEout, STABLEerr, EXT) :    TSTDIR = env['TSTDIR']    CreateTstWhatXhtml(env, TST, STABLEout, EXT)    CreateTstWhatXhtml(env, TST, STABLEerr, EXT)    for l in fileinput.input(TST+".out.diff.html"):        pass    if   l[:14] == '<!--NoDiffs-->':        o = 0    elif l[:17] == '<!--MinorDiffs-->':        o = 1    elif l[:17] == '<!--MajorDiffs-->':        o = 2    else:        Warn("Unexpected last line in %s:\n%s" % (TST+".out.diff.html",l))        ff = open(TST+WHAT+".out.diff.html","a")        ff.write("\n<!--MajorDiffs-->\n")        ff.close()        o = 2    for l in fileinput.input(TST+".err.diff.html"):        pass    if   l[:14] == '<!--NoDiffs-->':        e = 0    elif l[:17] == '<!--MinorDiffs-->':        e = 1    elif l[:17] == '<!--MajorDiffs-->':        e = 2    else:        Warn("Unexpected last line in %s:\n%s" % (TST+".err.diff.html",l))        ff = open(TST+WHAT+".err.diff.html","a")        ff.write("\n<!--MajorDiffs-->\n")        ff.close()        e = 2    if o == 2 or e == 2:        tstclass = 'error'    elif o == 1 or e == 1:        tstclass = 'warning'    else:        tstclass = 'good'    td = Element('td', {'class': 'header'},                 Element('a', {'href': '.%s.src.index.html' % TST,                               'target': '%s_%s_body' % (OSVER, TSTDIR),                               'class': tstclass},                         Text(TST)),                 Element('br'))    td.addchildren(AddHref('.%s%s.html' % (TST, '.out'),                           '%s_%s_body' % (OSVER, TSTDIR),                           'out', o))    td.addchild(Text("&nbsp;|&nbsp;", raw = True))    td.addchildren(AddHref('.%s%s.html' % (TST, '.err'),                           '%s_%s_body' % (OSVER, 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 e and not o:            env['_'+TSTDIR+'_BODY_'] = ["."+TST+".err.html", e]        else:            env['_'+TSTDIR+'_BODY_'] = ["."+TST+".out.html", o]    CreateSrcIndex(env, TST, EXT)    return o, e, 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' % OSVER,                           TSTDIR, diff))    if not env.has_key('__BODY_')  or  \       not env['__BODY_'][0]  or  \       ( (not env['__BODY_'][1])  and  diff ):        env['__BODY_'] = [TSTDIR+"/.index.html", diff]    return td### AddSubToHtmlIndex (env, TSTDIR, diff) #def SkipTest(env, TST, EXT, REASON) :    TSTDIR = env['TSTDIR']    TEXT = "Skipping test %s%s %s" % (TST, EXT, REASON)    if not env['QUIET']:    	Warn(TEXT)    else:        STDOUT.write("-");    f = open("."+TST+".SKIPPED","w")    f.write("\n%s  Warning:  %s\n\n" % (THISFILE, TEXT))    f.close()    target = '%s_%s_body' % (OSVER, TSTDIR)    td = Element('td', {'class': 'header'},                 Element('a', {'href': '.%s.src.index.html' % TST,                               'target': target,                               'class': 'black'},                         Text(TST)),                 Element('br'),                 Element('a', {'href': '.%s.SKIPPED' % TST,                               'target': target},                         Text('(skipped)')))    if not env.has_key('_'+TSTDIR+'_BODY_')  or  \       not env['_'+TSTDIR+'_BODY_'][0]  or  \       not env['_'+TSTDIR+'_BODY_'][1]:        env['_'+TSTDIR+'_BODY_'] = ["."+TST+".SKIPPED", 1]    CreateSrcIndex(env, TST, EXT)    return td### SkipTest(env, TST, EXT, REASON) #def find_test_dirs(thisdir) :    testdirs = []    thisdir = os.path.abspath(thisdir)    dirnme = os.path.basename(thisdir)    dirlst = os.listdir(thisdir)    if dirnme == TSTSUFF  and  "All" in dirlst  and  os.path.isfile(os.path.join(thisdir,"All")):        testdirs.append(os.path.dirname(thisdir))    for d in dirlst:        d = os.path.join(thisdir,d)        if os.path.isdir(d):            testdirs = testdirs + find_test_dirs(d)    return testdirs### find_test_dirs(thisdir) #def PerformDir(env, testdir, testlist, BusyPorts) :    td = 0    elem = None    FdOut = -1    FdErr = -1    TSTSRCBASE = env['TSTSRCBASE']    TSTPREF = env['TSTPREF']    if testdir == TSTSRCBASE:        TSTDIR = os.curdir    else:        TSTDIR = testdir[len(TSTSRCBASE+os.sep):]    TSTSRCDIR = os.path.normpath(os.path.join(testdir,TSTSUFF))    TSTBLDDIR = os.path.normpath(os.path.join(env['TSTBLDBASE'],TSTDIR,TSTSUFF))    TSTTRGDIR = os.path.normpath(os.path.join(env['TSTTRGBASE'],TSTPREF,TSTDIR))    if THISFILE in ["Mtest.py", "Mprofile.py"]:        TSTDB = TSTPREF+"_"+TSTDIR.replace(os.sep, '_')    else: # THISFILE == "Mapprove.py"        TSTDB = ""    if testlist:        tl = []        for tst in testlist:            tl.append((tst,None))        testlist = tl    else:        for tc in fileinput.input(os.path.join(TSTSRCDIR,"All")):            tc = tc.strip()            if tc  and  tc[0] != "#":                if tc.find('?') > -1:                    cond,tst = tc.split('?')                else:                    cond,tst = None,tc                testlist.append((tst,cond))    if not testlist:        Warn("No tests found in '"+TSTSRCDIR+"`; skipping directory!")        return td, elem    env['TSTDB']     = TSTDB    env['TSTDIR']    = TSTDIR    env['TSTSRCDIR'] = TSTSRCDIR    env['TSTBLDDIR'] = TSTBLDDIR    env['TSTTRGDIR'] = TSTTRGDIR    env['RELSRCDIR'] = os.path.join(((os.pardir+os.sep)*(len(TSTDIR.split(os.sep))+1))+env['RELSRCBASE'],TSTDIR,TSTSUFF).replace(os.sep+os.sep,os.sep)    env['RELBLDDIR'] = os.path.join(((os.pardir+os.sep)*(len(TSTDIR.split(os.sep))+1))+env['RELBLDBASE'],TSTDIR,TSTSUFF).replace(os.sep+os.sep,os.sep)    os.environ['TSTDB']     = TSTDB    os.environ['TSTDIR']    = TSTDIR    os.environ['TSTSRCDIR'] = TSTSRCDIR    os.environ['TSTBLDDIR'] = TSTBLDDIR    os.environ['TSTTRGDIR'] = TSTTRGDIR    os.environ['RELSRCDIR'] = env['RELSRCDIR']    os.environ['RELBLDDIR'] = env['RELBLDDIR']    #STDERR.flush()    #for v in 'RELSRCDIR', 'RELBLDDIR':    #       print v+" = "+str(env[v])    #STDOUT.flush()    if THISFILE in ["Mtest.py", "Mprofile.py"]:        for LogDBvar in 'GDK_DBFARM', 'SQL_LOGDIR', 'XQUERY_LOGDIR':            LogDBdir = os.path.join(env[LogDBvar],TSTDB)            if LogDBvar in 'SQL_LOGDIR':                LogDBtxt = "sql log directory for "            elif LogDBvar in 'XQUERY_LOGDIR':                LogDBtxt = "xquery log directory for "            else:                LogDBtxt = ""            if os.path.exists(LogDBdir):                try:                    shutil.rmtree(LogDBdir)                except:                    Warn(LogDBtxt+"database '"+TSTDB+"` exists, but destroying it failed; skipping tests in '"+TSTSRCDIR+"`!")                    #TODO:                    # add "something" to HTML output                    return td, elem            try:                os.makedirs(LogDBdir)            except:                Warn("creating "+LogDBtxt+"database '"+TSTDB+" failed; skipping tests in '"+TSTSRCDIR+"`!")                #TODO:                # add "something" to HTML output                return td, elem        if not os.path.exists(TSTTRGDIR):            #TODO: set mode to umask            os.makedirs(TSTTRGDIR)        body = []        for TST,COND in testlist:            os.environ['TST'] = TST            tt, FtOut, FtErr, bodyline = RunTest(env, TST, BusyPorts, COND)            if tt:                t = "%7.3f" % tt            else:                t = '-.---'            TIMES.append([TSTDIR,TST,t,tt,FtOut,FtErr])            td = td + tt            FdOut = max(FdOut,FtOut)            FdErr = max(FdErr,FtErr)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -