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

📄 mtest.py.in

📁 这个是内存数据库中的一个管理工具
💻 IN
📖 第 1 页 / 共 5 页
字号:
                TST_BATS = eval(b.group(1))    else:        Warn("No output from Mserver when checking for Bats!?")        if qErr:            STDERR.write(cmd + "\n\n")            STDERR.write(qErr)            STDERR.write("\n")            STDERR.flush()    if os.path.isfile(TST+".BATs"):        for b in fileinput.input(TST+".BATs"):            b = b.strip()            if b  and  b[0] != "#"  and  b not in TST_BATS:                missing.append(b)    return missing### CheckBATs(env, TST, TSTDB) #def StartAt(cmd) :    pOut,pIn,pErr = popen2.popen3(cmd)    pIn.close()    qOut, qErr = ReadMultiple([pOut, pErr])    return qOut.split('\n', 1)[0].strip()### StartAt(cmd) #def StopAt(ATJOB,ME) :    while  os.path.isfile(path("/tmp/.MkillUsers."+ME)):        time.sleep(9)    if OS == "IRIX" or OS == "IRIX64":        ATRM = 'at -r '    else:        ATRM = 'atrm '    os.system(ATRM+ATJOB)    #TODO:    #LOG1x at -l >&2### StopAt(ATJOB,ME) #def StableOutErr(env,par,TST,OS,RELEASE) :    BITS = env['TST_BITS']    OIDS = env['TST_OIDS']    FIVE = env['TST_FIVE']    STATIC = env['TST_STATIC']    if FIVE:        FIVE = "(\.Five)?"    if STATIC:        STATIC = "(\.STATIC)?"    dir,file = os.path.split(TST)    outre = re.compile('^'+re.escape(file)+'\.stable\.(?P<tp>out|err)(\.%s(%s)?)?(\.%s)?(\.%s)?%s%s$' % (re.escape(OS), re.escape(RELEASE), BITS, OIDS, FIVE, STATIC))    bestout = besterr = ''    for f in os.listdir(dir or os.curdir):        res = outre.match(f)        if res is not None:            if res.group('tp') == 'out':                if len(bestout) < len(f):                    bestout = f            else:                   # res.group('tp') == 'err'                if len(besterr) < len(f):                    besterr = f    if bestout:        STABLEout = os.path.join(dir, bestout)[len(TST):]    else:        STABLEout = '.stable.out'    if besterr:        STABLEerr = os.path.join(dir, besterr)[len(TST):]    else:        STABLEerr = '.stable.err'    return STABLEout, STABLEerr### StableOutErr(env,par,TST,OS,RELEASE) #def RunTest(env, TST, BusyPorts, COND) :    Failed = -1    FailedOut = -1    FailedErr = -1    TSTDB = env['TSTDB']    TSTDIR  = env['TSTDIR']    TSTSRCDIR = env['TSTSRCDIR']    RELSRCDIR = env['RELSRCDIR']    TSTTRGDIR = env['TSTTRGDIR']    TSTTRGBASE = env['TSTTRGBASE']    os.chdir(TSTSRCDIR)    elem = None    quiet = env['QUIET']    TX = 0    EXT = CALL = SERVER = ""    x  = isexecutable(TST)    xS = isexecutable(TST+".SQL")    xM = isexecutable(TST+".MAPI")    xQ = isexecutable(TST+".XQUERY")    if   x[0]:        EXT = x[1]          ; CALL = "other"    elif xS[0]:        EXT = ".SQL"+xS[1]  ; CALL = "other"  ; SERVER = "SQL"    elif xM[0]:        EXT = ".MAPI"+xM[1] ; CALL = "other"  ; SERVER = "MAPI"    elif xQ[0]:        EXT = ".XQUERY"+xQ[1] ; CALL = "other" ; SERVER = "XQUERY"    elif os.path.isfile(TST+".py")            or  os.path.isfile(TST+".py.src"):        EXT = ".py"         ; CALL = "python"    elif os.path.isfile(TST+".SQL"+".py")     or  os.path.isfile(TST+".SQL"+".py.src")     or  os.path.isfile(TST+".SQL"+".py.in"):        EXT = ".SQL.py"     ; CALL = "python" ; SERVER = "SQL"    elif os.path.isfile(TST+".MAPI"+".py")    or  os.path.isfile(TST+".MAPI"+".py.src")    or  os.path.isfile(TST+".MAPI"+".py.in"):        EXT = ".MAPI.py"    ; CALL = "python" ; SERVER = "MAPI"    elif os.path.isfile(TST+".XQUERY"+".py")  or  os.path.isfile(TST+".XQUERY"+".py.src")  or  os.path.isfile(TST+".XQUERY"+".py.in"):        EXT = ".XQUERY.py"  ; CALL = "python" ; SERVER = "XQUERY"    elif os.path.isfile(TST+".mal")           or  os.path.isfile(TST+".mal.src")           or  os.path.isfile(TST+".mal.in"):        EXT = ".mal"       ; CALL = "mal"    elif os.path.isfile(TST+".milM")          or  os.path.isfile(TST+".milM.src")          or  os.path.isfile(TST+".milM.in"):        EXT = ".milM"       ; CALL = "milM"    elif os.path.isfile(TST+".milS")          or  os.path.isfile(TST+".milS.src")          or  os.path.isfile(TST+".milS.in"):        EXT = ".milS"       ; CALL = "milS"    elif os.path.isfile(TST+".milC")          or  os.path.isfile(TST+".milC.src")          or  os.path.isfile(TST+".milC.in"):        EXT = ".milC"       ; CALL = "milC"   ; SERVER = "MAPI"    elif os.path.isfile(TST+"_s00.milM")      or  os.path.isfile(TST+"_s00.milM.src")      or  os.path.isfile(TST+"_s00.milM.in"):        EXT = ".milM"       ; CALL = "milMXs"    elif os.path.isfile(TST+"_s00.milS")      or  os.path.isfile(TST+"_s00.milS.src")      or  os.path.isfile(TST+"_s00.milS.in"):        EXT = ".milS"       ; CALL = "milSXs"    elif os.path.isfile(TST+"_s00.milC")      or  os.path.isfile(TST+"_s00.milC.src")      or  os.path.isfile(TST+"_s00.milC.in"):        EXT = ".milC"       ; CALL = "milCXs" ; SERVER = "MAPI"    elif os.path.isfile(TST+"_p00.milC")      or  os.path.isfile(TST+"_p00.milC.src")      or  os.path.isfile(TST+"_p00.milC.in"):        EXT = ".milC"       ; CALL = "milCXp" ; SERVER = "MAPI"    elif os.path.isfile(TST+".sql")           or  os.path.isfile(TST+".sql.src")           or  os.path.isfile(TST+".sql.in"):        EXT = ".sql"        ; CALL = "sql"    ; SERVER = "SQL"    elif os.path.isfile(TST+"_s00.sql")       or  os.path.isfile(TST+"_s00.sql.src")       or  os.path.isfile(TST+"_s00.sql.in"):        EXT = ".sql"        ; CALL = "sqlXs"  ; SERVER = "SQL"    elif os.path.isfile(TST+"_p00.sql")       or  os.path.isfile(TST+"_p00.sql.src")       or  os.path.isfile(TST+"_p00.sql.in"):        EXT = ".sql"        ; CALL = "sqlXp"  ; SERVER = "SQL"    elif os.path.isfile(TST+".xq")            or  os.path.isfile(TST+".xq.src")            or  os.path.isfile(TST+".xq.in"):        EXT = ".xq"         ; CALL = "xq"     ; SERVER = "XQUERY"    elif os.path.isfile(TST+"_s00.xq")        or  os.path.isfile(TST+"_s00.xq.src")        or  os.path.isfile(TST+"_s00.xq.in"):        EXT = ".xq"         ; CALL = "xqXs"   ; SERVER = "XQUERY"    elif os.path.isfile(TST+"_p00.xq")        or  os.path.isfile(TST+"_p00.xq.src")        or  os.path.isfile(TST+"_p00.xq.in"):        EXT = ".xq"         ; CALL = "xqXp"   ; SERVER = "XQUERY"    elif os.path.isfile(TST+".x100")          or  os.path.isfile(TST+".x100.src")          or  os.path.isfile(TST+".x100.in"):        EXT = ".x100"       ; CALL = "x100"   ; SERVER = "MAPI"    elif os.path.isfile(TST+"_s00.x100")      or  os.path.isfile(TST+"_s00.x100.src")      or  os.path.isfile(TST+"_s00.x100.in"):        EXT = ".x100"       ; CALL = "x100Xs" ; SERVER = "MAPI"        #TODO:        #elif [ -f "$TST.java"       ] ; then  EXT="java" ; CALL="Java   "+TST+" "+EXT        #elif [ -f "${TST}_s00.java" ] ; then  EXT="java" ; CALL="JavaXs "+TST+" "+EXT        #elif [ -f "${TST}_p00.java" ] ; then  EXT="java" ; CALL="JavaXp "+TST+" "+EXT        #elif [ -f "$TST.odmg"       ] ; then  EXT="odmg" ; CALL="odmg   "+TST+" "+EXT    else:        i = TST.rfind('.')        if i > 0:            return RunTest(env, TST[:i], BusyPorts, COND)        EXT = CALL = SERVER = ""        if os.name == "nt":            ErrMsg("test missing: '"+os.path.join(TSTSRCDIR,TST)+".(exe|com|bat|cmd|py|mal|milM|milS|milC|sql|xq|x100)`")            #TODO:            #elif os.name == "posix":        else:            ErrMsg("test missing: '"+os.path.join(TSTSRCDIR,TST)+"[.py|.mal|.milM|.milS|.milC|.sql|.xq|.x100]`")        return TX,Failed,Failed,elem    MissingMods = CheckMods(env, TST, SERVER, CALL)    MissingBATs = CheckBATs(env, TST, TSTDB)    os.chdir(TSTTRGDIR)    NotOnNT = []    #["src/modules/contrib/salgebra"]    #\    #       ["src/modules/plain/tcpip1", "src/modules/plain/tcpip2"]    #\    #       "src/modules/contrib/salgebra", "tests/by_Peter/tst_priv", \    #       "scripts/gold/tst100", "scripts/gold/tstvoid", "src/gdk/reload", "src/modules/plain/mprof", "src/modules/plain/mprof2", \    #       "tests/Availability/00_Mserver", "tests/BugReports/no.073", "tests/BugReports/no.089"]    NotOnCYG = []    #[ "tests/BugReports/no.147", "tests/by_Peter/recursion" ]    if   COND and not CONDITIONALS.has_key(COND):        elem = SkipTest(env, TST, EXT, "as conditional '%s' is unknown." % COND)    elif COND and not CONDITIONALS[COND]:        elem = SkipTest(env, TST, EXT, "as conditional '%s' does not hold." % COND)    elif os.name == "nt"  and  url(TSTDIR)+"/"+TST in NotOnNT:        elem = SkipTest(env, TST, EXT, "as it currently crashes/hangs on WindowsNT.")    elif sys.platform == "cygwin"  and  url(TSTDIR)+"/"+TST in NotOnCYG:        elem = SkipTest(env, TST, EXT, "as it currently crashes/hangs on CYGWIN.")    elif ( EXT[:4] == ".mil" or SERVER == "MAPI" ) and env['VERSION'] >= 49900:        elem = SkipTest(env, TST, EXT, "as Monet5 does not support MIL.")    elif EXT == ".milC" and  not env['exe']['Mapi_Client'][0]:        elem = SkipTest(env, TST, EXT, "as "+env['MAPICLIENT'].split(None, 1)[0]+" is not available.")    elif EXT == ".sql" and  not env['exe']['SQL_Client'][0]:        elem = SkipTest(env, TST, EXT, "as "+env['SQLCLIENT'].split(None, 1)[0]+" is not available.")    elif EXT == ".sql" and  not env['exe']['SQL_Dump'][0]:        elem = SkipTest(env, TST, EXT, "as "+env['SQLDUMP'].split(None, 1)[0]+" is not available.")    elif EXT == ".xq" and  not env['exe']['XQuery_Client'][0]:        elem = SkipTest(env, TST, EXT, "as "+env['XQUERYCLIENT'].split(None, 1)[0]+" is not available.")    elif EXT == ".x100" and  not env['exe']['X100_Client'][0]:        elem = SkipTest(env, TST, EXT, "as "+env['X100CLIENT'].split(None, 1)[0]+" is not available.")    elif CALL == "python"  and  not env['exe']['python'][0]:        elem = SkipTest(env, TST, EXT, "as python is not available.")        #TODO:        #elif EXT == ".milC":        #elem = SkipTest(env, TST, EXT, "as MapiClient-tests are temporary not supported by "+THISFILE+".")        #TODO:        #elif [ "$EXT" = "java"  -a  ! "`type -path java`" ] ; then        #elem = SkipTest(env, TST, EXT, "as java is not in $PATH.")    elif MissingMods:        elem = SkipTest(env, TST, EXT, "as modules '"+str(MissingMods)+"` are missing.")    elif MissingBATs:        elem = SkipTest(env, TST, EXT, "as BATs '"+str(MissingBATs)+"` are missing in database '"+TSTDB+"`.")    elif CALL == "milCXp":        elem = SkipTest(env, TST, EXT, "as multiple MapiClients in parallel are currently not supported by "+THISFILE+".")    elif CALL == "sqlXp":        elem = SkipTest(env, TST, EXT, "as multiple SQL clients in parallel are currently not supported by "+THISFILE+".")    elif CALL == "xqXp":        elem = SkipTest(env, TST, EXT, "as multiple XQuery clients in parallel are currently not supported by "+THISFILE+".")    elif SERVER in BusyPorts:        elem = SkipTest(env, TST, EXT, "as %sPORT=%s is not available." % (SERVER,env[SERVER+'PORT']))    elif SERVER == "XQUERY" and "XRPC" in BusyPorts:        elem = SkipTest(env, TST, EXT, "as XRPCPORT=%s is not available." % (env['XRPCPORT']))    else:        test = re.compile("^"+TST+"((_[sp][0-9][0-9])?\..*)?$", re.MULTILINE)        for f in os.listdir(RELSRCDIR):            if test.match(f):                SymlinkOrCopy(os.path.join(RELSRCDIR,f),os.path.join(TSTTRGDIR,f))        if SERVER == "MAPI":            CheckSocket2(env, "MAPI")	#, SrvrErr)        if SERVER == "XQUERY":            CheckSocket2(env, "XRPC")	#, SrvrErr)        if os.path.isfile(TST+EXT+".src")  and not os.path.isfile(TST+EXT):            f = open(TST+EXT+".src","r")            TSTSRC = expandvars(path(f.readline().strip()))            f.close()            if os.path.isfile(TSTSRC):                SymlinkOrCopy(TSTSRC,TST+EXT)            else:                elem = SkipTest(env, TST, EXT+".src", "as source file '"+TSTSRC+"` is missing.")                return TX,Failed,Failed,elem        test = re.compile("^"+TST+"((_[sp][0-9][0-9])?\..*)?\.src$", re.MULTILINE)        for ff in os.listdir(TSTTRGDIR):            if test.match(ff) and not os.path.isfile(ff[:-4]):                f = open(ff,"r")                TSTSRC = expandvars(path(f.readline().strip()))                f.close()                if os.path.isfile(TSTSRC):                    SymlinkOrCopy(TSTSRC,ff[:-4])                else:                    Warn("source file '"+TSTSRC+"` is missing.")        test = re.compile("^"+TST+"(_[sp][0-9][0-9])?\..*\.in$", re.MULTILINE)        for ff in os.listdir(TSTTRGDIR):            fff = ff[:-3]            if test.match(ff) and not os.path.isfile(fff):                f = open(fff,"w")                for l in fileinput.input(ff):                    f.write(expandvars(l))                f.close()        if THISFILE == "Mprofile.py":            test = re.compile("^"+TST+"(_[sp][0-9][0-9])?\..*mil.*$", re.MULTILINE)            d = os.listdir(os.getcwd())            for f in d:                if test.match(f)  and  f != TST+EXT+".src":                    prof.prof(f, env['CMDLST'])                    os.rename(f,f+".no_prof")                    os.rename("prof_"+f,f)                    if not quiet:                        os.system('%s -I"%s" "%s" -A%d "%s.no_prof" "%s" "%s.prof.diff.html"' % (env['exe']['Mdiff'][1],par['IGNORE'],par['CONTEXT'],par['ACCURACY'],f,f,f))                    else:                        os.system('%s -q -I"%s" "%s" -A%d "%s.no_prof" "%s" "%s.prof.diff.html"' % (env['exe']['Mdiff'][1],par['IGNORE'],par['CONTEXT'],par['ACCURACY'],f,f,f))        ACCURACYout = par['ACCURACY']        ACCURACYerr = par['ACCURACY']        STABLEout,STABLEerr = StableOutErr(env,par,TST,OS,RELEASE)        if not os.path.isfile(TST+STABLEout):            open(TST+STABLEout,"w").close()            ACCURACYout = 0        if not os.path.isfile(TST+STABLEerr):            open(TST+STABLEerr,"w").close()            ACCURACYerr = 0        PRELUDE = ""        #if EXT not in  ['.milC','.sql','.xq','.x100']:        if EXT not in  ['.sql','.xq','.x100']:            if os.path.isfile(TST+".prelude")  and  env['VERSION'] < 49900:                PRELUDE = TST+".prelude"            if os.path.isfile(TST+".prelude5")  and  env['VERSION'] >= 49900:                PRELUDE = TST+".prelude5"        TIMEOUTED = "Mtimeout"        for v in env['exe'].keys():            TIMEOUTED = TIMEOUTED+"|"+v.upper()        test = re.compile("^[^#]*("+TIMEOUTED+")[^#]*(# ([0-9]+)x|#.*)?$", re.MULTILINE)        TIMEOUT = par['TIMEOUT']        if os.path.isfile(TST+".timeout"):            for f in fileinput.input(TST+".timeout"):                TOf = int(f.strip())                if TOf > 1:                    TIMEOUT = TIMEOUT * TOf        if env['exe']['Mtimeout'][0]:            env['exe']['Mtimeout'] = env['exe']['Mtimeout'][0], 'Mtimeout -timeout '+str(TIMEOUT)+' '            SetExecEnv(env['exe'],0)        CTIMEOUT = 0        if   CALL in ["other", "python"]:            if TIMEOUT > 0:                CTIMEOUT = CTIMEOUT + 60            for l in fileinput.input(TST+EXT):                TOm = test.match(l)                if TOm:                    TOx = TOm.group(3)                    if TOx and (int(TOx) > 1):                        TOx = int(TOx)                    else:                        TOx = 1                    CTIMEOUT = CTIMEOUT + ( TOx * TIMEOUT )        elif CALL in ["milMXs", "milSXs", "milCXs", "sqlXs", "xqXs", "x100Xs"]:            test = re.compile("^"+TST+"_s[0-9][0-9]"+EXT+"$", re.MULTILINE)            d = os.listdir(os.getcwd())            for f in d:                if test.match(f):                    CTIMEOUT = CTIMEOUT + TIMEOUT        elif CALL in ["mal", "milM", "milS", "milC", "sql", "xq", "x100"]:            CTIMEOUT = CTIMEOUT + TIMEOUT        if  CTIMEOUT < TIMEOUT:            CTIMEOUT = TIMEOUT        STIMEOUT = CTIMEOUT        if  SERVER in ["MAPI", "SQL", "XQUERY"] and TIMEOUT > 0:            STIMEOUT = STIMEOUT + TIMEOUT + 60        ME = ""        ATJOB1 = ""        MkillUsers =

⌨️ 快捷键说明

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