Functions | |
| def | verbose_print |
| def | err_print |
| def | js_print |
| def | usage |
| def | istest |
| def | parents |
| def | run_pipe |
| def | list_match |
| def | dict_match |
| def | parseArgStringToList |
| def | parseAscArgs |
| def | loadAscArgs |
| def | compile_test |
| def | compileWithAsh |
| def | fail |
| def | build_incfiles |
| def | log_print |
| def | verbose_print |
| def | mean |
| def | variance |
| def | standard_deviation |
| def | standard_error |
| def | formatMemoryList |
| def | formatMemory |
| def | formatExceptionInfo |
| def | tDist |
| def | socketlog |
| def | parsePerfm |
| def | calcPerfm |
| def | calcConf |
| def | perfmSocketlog |
Variables | |
| dictionary | globs |
| verbose = False | |
| timestamps = True | |
| forcerebuild = False | |
| runESC = False | |
| runSource = False | |
| string | sourceExt = '.as' |
| int | testTimeOut = 1 |
| debug = False | |
| string | pf = 'runtests.properties' |
| tuple | fd = open(pf,'r') |
| tuple | setting = l.strip() |
| list | val = setting[1] |
| list | option = setting[0] |
| list | nm = option[0] |
| list | val = globs[nm] |
| list | args = ['.'] |
| verbose = True | |
| timestamps = False | |
| forcerebuild = True | |
| sourceExt = v | |
| tuple | testTimeOut = int(v) |
| runESC = True | |
| debug = True | |
| list | exclude = globs['exclude'] |
| list | tests = [a for a in args if isfile(a) and istest(a)] |
| list | utils = [d for d in dirs if d+sourceExt in files] |
| tuple | now = datetime.today() |
| string | js_output = '%d-%s-%s.%d.html' |
| tuple | js_output_f = open(js_output, 'w') |
| tuple | start_time = datetime.today() |
| int | allpasses = 0 |
| int | allfails = 0 |
| int | allunpass = 0 |
| int | allexpfails = 0 |
| int | allexceptions = 0 |
| int | allskips = 0 |
| int | alltimeouts = 0 |
| list | failmsgs = [] |
| list | expfailmsgs = [] |
| list | unpassmsgs = [] |
| list | timeoutmsgs = [] |
| tuple | absArgPath = abspath(args[0]) |
| list | vmargs = globs['vmargs'] |
| list | avm = globs['avm'] |
| runSource = True | |
| list | escAbcs |
| string | vmtype = 'release' |
| tuple | f = run_pipe('%s' % avm) |
| string | vmtype = 'releasedebugger' |
| nop = True | |
| dictionary | ostype = {'CYGWIN_NT-5.1':'win','CYGWIN_NT-5.2':'win','CYGWIN_NT-5.2-WOW64':'win64','CYGWIN_NT-6.0-WOW64':'win64','Windows':'win','Darwin':'mac','Linux':'lnx','SunOS':'sol',} |
| dictionary | cputype = {'i386':'x86','i686':'x86','i86pc':'x86','Power Macintosh':'ppc','sun4u':'x86','':'x86'} |
| tuple | testnum = len(tests) |
| list | ast = ast[2:] |
| int | lpass = 0 |
| int | lfail = 0 |
| int | lexpfail = 0 |
| int | lunpass = 0 |
| int | ltimeout = 0 |
| list | dir = ast[0:ast.rfind('/')] |
| testName = ast | |
| string | testName = '.abc' |
| tuple | settings = dict() |
| names = None | |
| list | lines = [] |
| includes = None | |
| tuple | lines = open(dir+'/testconfig.txt') |
| tuple | fields = line.split(',') |
| list | names = fields[0] |
| string | rs = '^%s$' |
| list | includes = [] |
| tuple | incfiles = build_incfiles(testName) |
| string | testName = " " |
| tuple | f = run_pipe('%s %s %s' % (avm, vmargs, testName)) |
| list | outputLines = [] |
| string | testcase = '' |
| tuple | testcase = line.strip() |
| tuple | res = dict_match(settings,testcase,'expectedfail') |
| tuple | res = dict_match(settings,testcase,'expectedfail') |
| tuple | res = dict_match(settings,'*','expectedfail') |
| int | lfail = 1 |
| tuple | end_time = datetime.today() |
| verbose = False | |
| timestamps = True | |
| forcerebuild = False | |
| logresults = False | |
| int | iterations = 1 |
| js_output_f = False | |
| dictionary | globs |
| list | args = ["."] |
| verbose = True | |
| timestamps = False | |
| forcerebuild = True | |
| tuple | iterations = int(v) |
| tuple | now = datetime.today() |
| string | js_output = "%d-%s-%s.%d.log" |
| tuple | js_output_f = open(js_output, "w") |
| logresults = True | |
| list | tests = [a for a in args if isfile(a) and istest(a)] |
| list | utils = [d for d in dirs if d+".as" in files] |
| list | tDistribution = [ 999, 999, 12.71, 4.30, 3.18, 2.78, 2.57, 2.45, 2.36, 2.31, 2.26, 2.23, 2.20, 2.18, 2.16, 2.14, 2.13, 2.12, 2.11, 2.10, 2.09, 2.09, 2.08, 2.07, 2.07, 2.06, 2.06, 2.06, 2.05, 2.05, 2.05, 2.04, 2.04, 2.04, 2.03, 2.03, 2.03, 2.03, 2.03, 2.02, 2.02, 2.02, 2.02, 2.02, 2.02, 2.02, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.96] |
| tuple | tMax = len(tDistribution) |
| float | tLimit = 1.96 |
| string | VM_version = '' |
| list | VM_name = globs['vmname'] |
| list | VM_version = globs['vmversion'] |
| tuple | f = run_pipe("%s" % globs['avm']) |
| tuple | version = line.split() |
| list | version = version[len(version)-1] |
| tuple | version = version.split(":") |
| list | version = version[0] |
| VM_version = version | |
| nop = True | |
| dictionary | OS_name = {'CYGWIN_NT-5.1':'WIN','CYGWIN_NT-5.2':'WIN','CYGWIN_NT-6.0-WOW64':'WIN','Windows':'WIN','Darwin':'MAC','Linux':'LNX','Solaris':'SOL','SunOS':'SOL',} |
| string | VM_reporting = '%s %s %s' |
| string | serverHost = '10.60.48.47' |
| int | serverPort = 1188 |
| tuple | fields = line.split(',') |
| list | vmargs = globs['vmargs'] |
| list | vmargs2 = globs['vmargs2'] |
| list | avm = globs['avm'] |
| list | avm2 = globs['avm2'] |
| tuple | testnum = len(tests) |
| list | ast = ast[2:] |
| skip = False | |
| skip = True | |
| list | dir = ast[0:ast.rfind('/')] |
| list | tname = root[root.rfind('/')+1:] |
| string | abc = "%s.abc" |
| int | result1 = 9999999 |
| list | resultList = [] |
| list | resultList2 = [] |
| list | rl1 = [] |
| list | rl2 = [] |
| int | result2 = 9999999 |
| string | vmargs = "%s -memstats" |
| string | vmargs2 = "%s -memstats" |
| dictionary | perfm1Dict = {'verify':[], 'code':[], 'compile':[], 'irbytes':[], 'ir':[], 'count':[] } |
| dictionary | perfm2Dict = {'verify':[], 'code':[], 'compile':[], 'irbytes':[], 'ir':[], 'count':[] } |
| int | memoryhigh = 0 |
| int | memoryhigh2 = 0 |
| tuple | f1 = run_pipe("%s %s %s" % (avm, vmargs, abc)) |
| tuple | f2 = run_pipe("%s %s %s" % (avm2, vmargs2, abc)) |
| tuple | f2 = run_pipe("%s %s %s" % (avm2, vmargs, abc)) |
| tuple | tokens = line.rsplit() |
| list | _mem = tokens[3] |
| list | _mem = _mem[1:] |
| list | _mem = _mem[:-1] |
| tuple | val = float(_mem[:-1]) |
| tuple | val = float(_mem[:-1]) |
| memoryhigh = val | |
| tuple | result1list = line.rsplit() |
| tuple | result1 = float(result1list[2]) |
| tuple | tokens = line.rsplit() |
| list | _mem = tokens[3] |
| list | _mem = _mem[1:] |
| list | _mem = _mem[:-1] |
| tuple | val = float(_mem[:-1]) |
| tuple | val = float(_mem[:-1]) |
| memoryhigh2 = val | |
| tuple | result2list = line.rsplit() |
| tuple | result2 = float(result2list[2]) |
| int | spdup = 9999 |
| tuple | spdup = ((memoryhigh2-memoryhigh)/memoryhigh) |
| int | spdup = 9999 |
| tuple | spdup = ((result1-result2)/result2) |
| int | confidence = 0 |
| meanRes = memoryhigh | |
| tuple | meanRes = mean(resultList) |
| tuple | confidence = ((tDist(len(resultList)) * standard_error(resultList) / meanRes) * 100) |
| string | config = "%s%s" |
| tuple | config = config.replace("-memstats","") |
| tuple | rl1_avg = sum(rl1) |
| tuple | rl2_avg = sum(rl2) |
| tuple | meanRes = mean(resultList) |
| int | confidence = 0 |
| tuple | confidence = ((tDist(len(resultList)) * standard_error(resultList) / meanRes) * 100) |
| string | config = "%s%s" |
|
|
Definition at line 480 of file runtests.py. 00480 : 00481 files=[] 00482 (dir, file) = split(as) 00483 for p in parents(dir): 00484 shell = join(p,'shell'+sourceExt) 00485 if isfile(shell): 00486 files.append(shell) 00487 (testdir, ext) = splitext(as) 00488 for util in glob(join(testdir,'*'+sourceExt)) + glob(join(dir,'*Util'+sourceExt)): 00489 files.append(string.replace(util, "$", "\$")) 00490 return files 00491 00492 00493 if globs['config'] == '':
|
|
|
Definition at line 582 of file runtests.py. 00582 : 00583 return ((tDist(len(list)) * standard_error(list) / mean(list)) * 100) def perfmSocketlog(metric,key):
|
|
||||||||||||
|
Definition at line 549 of file runtests.py. 00549 : 00550 # calculate min, max, average and %diff of averages 00551 try: 00552 if iterations == 1: 00553 log_print( ' %-45s %7s %7s %7.1f' % (desc, perfm1Dict[key][0], perfm2Dict[key][0], 00554 ((perfm1Dict[key][0]-perfm2Dict[key][0])/float(perfm2Dict[key][0])*100.0))) 00555 else: 00556 avg1 = sum(perfm1Dict[key])/len(perfm1Dict[key]) 00557 avg2 = sum(perfm2Dict[key])/len(perfm2Dict[key]) 00558 log_print(' %-45s [%6s :%6s] %6s [%6s :%6s] %6s %7.1f' % (desc, min(perfm1Dict[key]), max(perfm1Dict[key]), avg1, 00559 min(perfm2Dict[key]), max(perfm2Dict[key]), avg2, 00560 ((avg1-avg2)/float(avg2))*100.0)) 00561 except: 00562 pass 00563 00564 calcPerfm('verify & IR gen (time)','verify') calcPerfm('compile (time)','compile')
|
|
|
Definition at line 357 of file runtests.py. 00357 : 00358 asc, builtinabc, shellabc, ascargs = globs['asc'], globs['builtinabc'], globs['shellabc'], globs['ascargs'] 00359 if not isfile(asc): 00360 exit('ERROR: cannot build %s, ASC environment variable or --asc must be set to asc.jar' % as) 00361 if not isfile(builtinabc): 00362 exit('ERROR: builtin.abc (formerly global.abc) %s does not exist, BUILTINABC environment variable or --builtinabc must be set to builtin.abc' % builtinabc) 00363 00364 if asc.endswith('.jar'): 00365 cmd = 'java -jar ' + asc 00366 else: 00367 cmd = asc 00368 00369 arglist = parseArgStringToList(ascargs) 00370 00371 (dir, file) = split(as) 00372 # look for .asc_args files to specify dir / file level compile args, arglist is passed by ref 00373 loadAscArgs(arglist, dir, as) 00374 00375 cmd += ' -import %s' % builtinabc 00376 for arg in arglist: 00377 cmd += ' %s' % arg 00378 verbose_print(' compiling %s' % file) 00379 for p in parents(dir): 00380 shell = join(p,'shell'+sourceExt) 00381 if isfile(shell): 00382 cmd += ' -in ' + shell 00383 break 00384 (testdir, ext) = splitext(as) 00385 deps = glob(join(testdir,'*'+sourceExt)) 00386 deps.sort() 00387 for util in deps + glob(join(dir,'*Util'+sourceExt)): 00388 cmd += ' -in %s' % string.replace(util, '$', '\$') 00389 try: 00390 f = run_pipe('%s %s' % (cmd,as)) 00391 for line in f: 00392 verbose_print(line.strip()) 00393 except: 00394 print 'Exception' 00395 def compileWithAsh(tests):
|
|
|
Definition at line 396 of file runtests.py. 00396 : 00397 start_time = datetime.today() 00398 print("starting compile of %d tests at %s" % (len(tests),start_time)) 00399 total=len(tests) 00400 counter=0 00401 if not globs['pexpect']: 00402 for test in tests: 00403 print 'compiling %s' % test 00404 compile_test(test) 00405 (testdir, ext) = splitext(test) 00406 if exists(testdir+".abc")==False: 00407 print("ERROR abc files %s.abc not created" % (testdir)) 00408 counter += 1; 00409 print("%d remaining" % (total-counter)) 00410 else: #pexpect available 00411 child = pexpect.spawn("java -classpath %s macromedia.asc.embedding.Shell" % globs['asc']) 00412 child.logfile = sys.stdout 00413 child.expect("\(ash\)") 00414 child.expect("\(ash\)") 00415 00416 for test in tests: 00417 arglist = parseArgStringToList(globs['ascargs']) 00418 00419 (dir, file) = split(test) 00420 # look for .asc_args files to specify dir / file level compile args 00421 loadAscArgs(arglist, dir, file) 00422 00423 cmd = "asc -import %s " % (globs['builtinabc']) 00424 for arg in arglist: 00425 cmd += ' %s' % arg 00426 00427 for p in parents(dir): 00428 shell = join(p,"shell.as") 00429 if isfile(shell): 00430 cmd += " -in " + shell 00431 break 00432 (testdir, ext) = splitext(test) 00433 deps = glob(join(testdir,"*.as")) 00434 deps.sort() 00435 for util in deps + glob(join(dir,"*Util.as")): 00436 cmd += " -in %s" % string.replace(util, "$", "\$") 00437 cmd += " %s" % test 00438 00439 if exists(testdir+".abc"): 00440 os.unlink(testdir+".abc") 00441 00442 child.sendline(cmd) 00443 child.expect("\(ash\)") 00444 if exists(testdir+".abc")==False: 00445 print("ERROR abc files %s.abc not created" % (testdir)) 00446 counter += 1; 00447 print("%d remaining, %s" % (total-counter,cmd)) 00448 end_time = datetime.today() 00449 print("finished compile of %d tests at %s elapsed time is %s" % (len(tests),start_time,end_time-start_time)) 00450 def fail(abc, msg, failmsgs):
|
|
||||||||||||||||
|
Definition at line 282 of file runtests.py. 00282 : 00283 for k in dict.keys(): 00284 if re.search(k,test): 00285 if dict[k].has_key(value): 00286 return dict[k][value] 00287 def parseArgStringToList(argStr):
|
|
|
Definition at line 100 of file runtests.py. 00100 : 00101 js_print(m, '<font color=#990000>', '</font><br/>') 00102 def js_print(m, start_tag='<p><tt>', end_tag='</tt></p>'):
|
|
||||||||||||||||
|
Definition at line 451 of file runtests.py. Referenced by emit(), new_trie_node(), read_code(), read_samples(), safemalloc(), and avmplus::NativeID::shell_toplevel_d2d_oaou_thunkc(). 00451 : 00452 msg = msg.strip() 00453 err_print(' %s' % msg) 00454 failmsgs += ['%s : %s' % (abc, msg)] 00455 vmargs = globs['vmargs']
|
|
|
Definition at line 268 of file runtests.py. 00268 : 00269 cla, exc, trbk = sys.exc_info() 00270 excName = cla.__name__ 00271 try: 00272 excArgs = exc.__dict__["args"] 00273 except KeyError: 00274 excArgs = "<no args>" 00275 excTb = traceback.format_tb(trbk, maxTBlevel) 00276 return (excName, excArgs, excTb) 00277 tDistribution = [ 999, 999, 12.71, 4.30, 3.18, 2.78, 2.57, 2.45, 2.36, 2.31, 2.26, 2.23, 2.20, 2.18, 2.16, 2.14, 2.13, 2.12, 2.11, 2.10, 2.09, 2.09, 2.08, 2.07, 2.07, 2.06, 2.06, 2.06, 2.05, 2.05, 2.05, 2.04, 2.04, 2.04, 2.03, 2.03, 2.03, 2.03, 2.03, 2.02, 2.02, 2.02, 2.02, 2.02, 2.02, 2.02, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.01, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 2.00, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.99, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.98, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.97, 1.96]
|
|
|
Definition at line 260 of file runtests.py. 00260 : 00261 if mem<1024: 00262 out="%dK" % mem 00263 else: 00264 out="%.1fM" % (mem/1024.0) 00265 return out 00266 00267 def formatExceptionInfo(maxTBlevel=5):
|
|
|
Definition at line 253 of file runtests.py. 00253 : 00254 out="" 00255 for mem in lst: 00256 out="%s%s, " %(out,formatMemory(mem)) 00257 out=out[:-2] 00258 return out 00259 def formatMemory(mem):
|
|
|
Definition at line 199 of file runtests.py. 00199 : 00200 return f.endswith(sourceExt) and basename(f) != ('shell'+sourceExt) and not f.endswith('Util'+sourceExt) 00201 tests = [a for a in args if isfile(a) and istest(a)]
|
|
||||||||||||||||
|
Definition at line 103 of file runtests.py. 00103 : 00104 print m 00105 if js_output: 00106 js_output_f.write('%s %s %s\n' % (start_tag, m, end_tag)) 00107 js_output_f.flush() 00108 00109 # yet another way to specify asc,avm,builtinabc ...from a file pf = 'runtests.properties'
|
|
||||||||||||
|
Definition at line 276 of file runtests.py. 00276 : 00277 for k in list: 00278 if re.search(k,test): 00279 return True 00280 return False 00281 def dict_match(dict,test,value):
|
|
||||||||||||||||
|
Definition at line 331 of file runtests.py. 00331 : 00332 mode = '' 00333 newArgList = [] 00334 removeArgList = [] 00335 # Loads an asc_args file and modifies arglist accordingly 00336 if file and isfile('%s.asc_args' % file): #file takes precendence over directory 00337 mode, newArgList, removeArgList = parseAscArgs('%s.asc_args' % file, dir) 00338 elif isfile(dir+'/dir.asc_args'): 00339 mode, newArgList, removeArgList = parseAscArgs(dir+'/dir.asc_args', dir) 00340 elif isfile('./dir.asc_args'): 00341 mode, newArgList, removeArgList = parseAscArgs('./dir.asc_args', './') 00342 00343 if mode == 'merge': 00344 arglist.extend(newArgList) 00345 elif mode == 'override': 00346 arglist = newArgList 00347 # remove any duplicate args 00348 arglist = list(set(arglist)) 00349 if removeArgList: 00350 for removeArg in removeArgList: 00351 try: 00352 arglist.remove(removeArg) 00353 except: 00354 pass 00355 00356 def compile_test(as):
|
|
|
Definition at line 79 of file runtests.py. 00079 : 00080 print(m) 00081 if (js_output_f): 00082 js_output_f.write("%s\n" % m) 00083 js_output_f.flush() 00084 00085 def verbose_print(m):
|
|
|
Definition at line 227 of file runtests.py. 00227 : 00228 mean = 0.0 00229 for x in population: 00230 mean = mean + float(x) 00231 return mean / len(population) 00232 def variance(population):
|
|
|
Definition at line 258 of file runtests.py. 00258 : 00259 while d != absArgPath and d != '': 00260 yield d 00261 d = dirname(d) 00262 yield d 00263 00264 # run a command and return its output def run_pipe(cmd):
|
|
|
Definition at line 288 of file runtests.py. 00288 : 00289 args = argStr.strip().split(' ') 00290 # recombine any args that have spaces in them 00291 argList = [] 00292 for a in args: 00293 if a == '': 00294 pass 00295 elif a[0] == '-': 00296 argList.append(a) 00297 else: # append the space and text to the last arg 00298 argList[len(argList)-1] += ' ' + a 00299 return argList 00300 def parseAscArgs(ascArgFile, currentdir):
|
|
||||||||||||
|
Definition at line 301 of file runtests.py. 00301 : 00302 # reads an .asc_args file and returns a tuple of the arg mode (override or merge) and a list of args 00303 f = open(ascArgFile,'r') 00304 while True: # skip comment lines 00305 ascargs = f.readline() 00306 if (ascargs[0] != '#'): 00307 break 00308 ascargs = ascargs.split(':') 00309 ascargs[0] = ascargs[0].strip() 00310 if (len(ascargs) == 1): #treat no keyword as a merge 00311 ascargs.insert(0,'merge') 00312 elif (ascargs[0] != 'override') or (ascargs[0] != 'merge'): # default to merge if mode not recognized 00313 ascargs[0] = 'merge' 00314 # replace the $DIR keyword with actual directory 00315 ascargs[1] = string.replace(ascargs[1], '$DIR', currentdir) 00316 if ascargs[1].find('$SHELLABC') != -1: 00317 if not isfile(globs['shellabc']): # TODO: not the best place to check for this 00318 exit('ERROR: shell.abc %s does not exist, SHELLABC environment variable or --shellabc must be set to shell_toplevel.abc' % globs['shellabc']) 00319 ascargs[1] = string.replace(ascargs[1], '$SHELLABC', globs['shellabc']) 00320 ascargs[1] = parseArgStringToList(ascargs[1]) 00321 removeArgList = [] 00322 argList = [] 00323 for a in ascargs[1]: 00324 if a[0:3] == '-no': 00325 removeArgList.append(a[3:]) 00326 else: 00327 argList.append(a) 00328 00329 return ascargs[0], argList, removeArgList 00330 def loadAscArgs(arglist,dir,file):
|
|
||||||||||||
|
Definition at line 344 of file runtests.py. 00344 : 00345 try: 00346 result = line.strip().split(' ')[-2] 00347 if 'verify & IR gen' in line: 00348 dic['verify'].append(int(result)) 00349 elif 'code ' in line: 00350 dic['code'].append(int(result)) 00351 elif 'compile ' in line: 00352 dic['compile'].append(int(result)) 00353 elif ('IR-bytes' in line) or ('mir bytes' in line): 00354 dic['irbytes'].append(int(result)) 00355 elif ('IR ' in line) or ('mir ' in line): #note trailing space 00356 dic['ir'].append(int(result)) 00357 dic['count'].append(int(line.strip().split(' ')[-1])) 00358 except: 00359 pass 00360 00361 00362 00363 skips=[] if isfile('./testconfig.txt'):
|
|
||||||||||||
|
Definition at line 584 of file runtests.py. 00584 : 00585 socketlog("addresult2::%s::%s::%s::%0.1f::%s::%s::%s::%s::%s;" % 00586 (ast, metric,min(perfm1Dict[key]), calcConf(perfm1Dict[key]), mean(perfm1Dict[key]), iterations, OS_name, config, VM_version)) 00587 perfmSocketlog('vprof-compile-time','compile') perfmSocketlog('vprof-code-size','code')
|
|
|
Definition at line 265 of file runtests.py. 00265 : 00266 if debug: 00267 print('cmd: %s' % cmd) 00268 p = Popen((cmd), shell=True, stdout=PIPE, stderr=STDOUT) 00269 output = p.stdout.readlines() 00270 starttime=time() 00271 exitCode = p.wait(testTimeOut) #abort if it takes longer than 60 seconds 00272 if exitCode < 0 and testTimeOut>-1 and time()-starttime>testTimeOut: # process timed out 00273 return 'timedOut' 00274 return output 00275 def list_match(list,test):
|
|
|
Definition at line 324 of file runtests.py. 00324 : 00325 if logresults: 00326 if globs['socketlog']=='': 00327 file="socketlog-%s.txt" % globs['vmversion'] 00328 ctr=0 00329 while os.path.exists(file): 00330 ctr+=1 00331 file="socketlog-%s-%s.txt" % (globs['vmversion'],ctr) 00332 globs['socketlog']=file 00333 open(globs['socketlog'],'a').write(msg) 00334 s = socket(AF_INET, SOCK_STREAM) # create a TCP socket 00335 s.connect((serverHost, serverPort)) # connect to server on the port 00336 s.send("%s;exit\r\n" % msg) # send the data 00337 data = s.recv(1024) 00338 #print('Sent: %s' % msg) 00339 #print('Received: %s \n\n' % data) 00340 #s.shutdown(SHUT_RDWR) 00341 s.close() 00342 00343 def parsePerfm(line,dic):
|
|
|
Definition at line 247 of file runtests.py. 00247 : 00248 return sqrt(variance(population)) 00249 def standard_error(population):
|
|
|
Definition at line 250 of file runtests.py. 00250 : 00251 return standard_deviation(population) / sqrt(len(population)) 00252 def formatMemoryList(lst):
|
|
|
Definition at line 282 of file runtests.py. 00282 : 00283 if (n > tMax): 00284 return tLimit 00285 return tDistribution[n] 00286 00287 00288 # ================================================ 00289 # Determine the version number associated with the 00290 # VM, will be cyclone if not from build machine 00291 # ================================================ VM_version = ''
|
|
|
Definition at line 126 of file runtests.py. 00126 : 00127 print 'usage: %s [options] [tests]' % basename(argv[0]) 00128 print ' -v --verbose enable additional output' 00129 print ' -E --avm avmplus command to use' 00130 print ' -a --asc compiler to use' 00131 print ' -g --globalabc DEPRECATED but still works - use builtin.abc (used to be location of global.abc)' 00132 print ' -b --builtinabc location of builtin.abc' 00133 print ' -s --shellabc location of shell_toplevel.abc' 00134 print ' -x --exclude comma separated list of directories to skip' 00135 print ' -h --help display help and exit' 00136 print ' -t --notime do not generate timestamps (cleaner diffs)' 00137 print ' -f --forcerebuild force rebuild all test files' 00138 print ' -c --config sets the config string [default OS-tvm]' 00139 print ' --rebuildtests rebuild the tests only - do not run against VM' 00140 print ' --esc run esc instead of avm' 00141 print ' --escbin location of esc/bin directory - defaults to ../../esc/bin' 00142 print ' --ext set the testfile extension (defaults to .as)' 00143 print ' --ascargs args to pass to asc on rebuild of test files' 00144 print ' --vmargs args to pass to vm' 00145 print ' --timeout max time to let a test run, in sec (default -1 = never timeout)' 00146 exit(c) 00147 00148 try: 00149 opts, args = getopt(argv[1:], 'vE:a:g:b:s:x:htfc:d', ['verbose','avm=','asc=','globalabc=','builtinabc=','shellabc=', 00150 'exclude=','help','notime','forcerebuild','config=','ascargs=','vmargs=', 00151 'ext=','timeout=','esc','escbin=', 'rebuildtests']) 00152 except: 00153 usage(2) 00154 if not args:
|
|
|
Definition at line 233 of file runtests.py. 00233 : 00234 n = 0 00235 mean = 0.0 00236 s = 0.0 00237 for x in population: 00238 n = n + 1 00239 delta = int(x) - mean 00240 mean = mean + (delta / n) 00241 s = s + delta * (int(x) - mean) 00242 00243 # if you want to calculate std deviation 00244 # of a sample change this to "s / (n-1)" 00245 return s / (n-1) 00246 def standard_deviation(population):
|
|
|
Definition at line 86 of file runtests.py.
|
|
||||||||||||||||
|
Definition at line 96 of file runtests.py.
|
|
|
Definition at line 489 of file runtests.py. |
|
|
Definition at line 487 of file runtests.py. |
|
|
Definition at line 485 of file runtests.py. |
|
|
Definition at line 463 of file runtests.py. |
|
|
Definition at line 461 of file runtests.py. |
|
|
Definition at line 459 of file runtests.py. |
|
|
Definition at line 420 of file runtests.py. |
|
|
Definition at line 256 of file runtests.py. |
|
|
Definition at line 247 of file runtests.py. |
|
|
Definition at line 246 of file runtests.py. |
|
|
Definition at line 244 of file runtests.py. |
|
|
Definition at line 243 of file runtests.py. |
|
|
Definition at line 248 of file runtests.py. |
|
|
Definition at line 249 of file runtests.py. |
|
|
Definition at line 245 of file runtests.py. |
|
|
Definition at line 123 of file runtests.py. |
|
|
|
Definition at line 406 of file runtests.py. |
|
|
Definition at line 533 of file runtests.py. |
|
|
Definition at line 377 of file runtests.py. |
|
|
Definition at line 457 of file runtests.py. |
|
|
Definition at line 378 of file runtests.py. |
|
|
Definition at line 578 of file runtests.py. |
|
|
Definition at line 576 of file runtests.py. |
|
|
Definition at line 529 of file runtests.py. |
|
|
Definition at line 524 of file runtests.py. |
|
|
Definition at line 579 of file runtests.py. |
|
|
Definition at line 534 of file runtests.py. |
|
|
Definition at line 533 of file runtests.py. |
|
|
Definition at line 517 of file runtests.py. |
|
|
Definition at line 193 of file runtests.py. |
|
|
Definition at line 69 of file runtests.py. Referenced by avmplus::Hashtable::find(), and main(). |
|
|
Definition at line 417 of file runtests.py. |
|
|
Definition at line 540 of file runtests.py. Referenced by grep_or_recurse(). |
|
|
Definition at line 683 of file runtests.py. Referenced by pcregrep(). |
|
|
Initial value: ['debug','util','bytes-tamarin','util-tamarin','lex-char','lex-token', 'lex-scan','ast','ast-decode','parse','asm','abc','emit','cogen', 'cogen-stmt','cogen-expr','esc-core','eval-support','esc-env','main'] Definition at line 469 of file runtests.py. |
|
|
Definition at line 197 of file runtests.py. |
|
|
Definition at line 251 of file runtests.py. |
|
|
Definition at line 298 of file runtests.py. |
|
|
Definition at line 599 of file runtests.py. |
|
|
|
Definition at line 448 of file runtests.py. Referenced by HasCPUIDsupport(). |
|
|
Definition at line 453 of file runtests.py. |
|
|
Definition at line 451 of file runtests.py. Referenced by HasCPUIDsupport(). |
|
|
Definition at line 250 of file runtests.py. |
|
|
Definition at line 113 of file runtests.py. |
|
|
Definition at line 366 of file runtests.py. |
|
|
Definition at line 561 of file runtests.py. |
|
|
Definition at line 144 of file runtests.py. |
|
|
Definition at line 51 of file runtests.py. |
|
|
Definition at line 177 of file runtests.py. |
|
|
Definition at line 64 of file runtests.py. |
|
|
Initial value: { 'avm':'','avm2':'', 'asc':'', 'globalabc':'', 'exclude':[], 'tmpfile':tmpfile, 'config':'sunspider',
'ascargs':'','vmargs':'', 'vmargs2':'', 'vmname':'unknown', 'vmversion':'', 'socketlog':'',
'perfm':False, 'avmname':'avm', 'avm2name':'avm2', 'memory':False,'optimize':True}
Definition at line 60 of file runtests.py. |
|
|
Initial value: { 'avm':'', 'asc':'', 'builtinabc':'', 'shellabc':'','exclude':[],'config':'',
'ascargs':'', 'vmargs':'', 'escbin':'', 'rebuildtests':False,
'pexpect':True}
Definition at line 54 of file runtests.py. |
|
|
Definition at line 596 of file runtests.py. |
|
|
Definition at line 572 of file runtests.py. |
|
|
Definition at line 549 of file runtests.py. |
|
|
Definition at line 146 of file runtests.py. |
|
|
Definition at line 53 of file runtests.py. |
|
|
Definition at line 158 of file runtests.py. |
|
|
Definition at line 215 of file runtests.py. |
|
|
Definition at line 162 of file runtests.py. |
|
|
Definition at line 58 of file runtests.py. |
|
|
Definition at line 220 of file runtests.py. |
|
|
Definition at line 537 of file runtests.py. |
|
|
Definition at line 640 of file runtests.py. |
|
|
Definition at line 536 of file runtests.py. |
|
|
Definition at line 551 of file runtests.py. |
|
|
Definition at line 548 of file runtests.py. |
|
|
Definition at line 164 of file runtests.py. |
|
|
Definition at line 52 of file runtests.py. |
|
|
Definition at line 535 of file runtests.py. |
|
|
Definition at line 539 of file runtests.py. |
|
|
Definition at line 538 of file runtests.py. |
|
|
Definition at line 573 of file runtests.py. |
|
|
Definition at line 527 of file runtests.py. |
|
|
Definition at line 525 of file runtests.py. |
|
|
Definition at line 469 of file runtests.py. |
|
|
Definition at line 446 of file runtests.py. |
|
|
Definition at line 495 of file runtests.py. |
|
|
Definition at line 447 of file runtests.py. |
|
|
Definition at line 566 of file runtests.py. |
|
|
Definition at line 547 of file runtests.py. |
|
|
Definition at line 120 of file runtests.py. |
|
|
Definition at line 310 of file runtests.py. |
|
|
Definition at line 504 of file runtests.py. |
|
|
Definition at line 156 of file runtests.py. |
|
|
Definition at line 213 of file runtests.py. Referenced by MMgc::GC::AllocBlock(), MMgc::GC::AllocBlockIncremental(), and MMgc::GC::MaybeGC(). |
|
|
Definition at line 119 of file runtests.py. |
|
|
Definition at line 312 of file runtests.py. |
|
|
Definition at line 512 of file runtests.py. |
|
|
Definition at line 605 of file runtests.py. |
|
|
Definition at line 442 of file runtests.py. |
|
|
Definition at line 443 of file runtests.py. |
|
|
Definition at line 110 of file runtests.py. |
|
|
Definition at line 635 of file runtests.py. |
|
|
Definition at line 624 of file runtests.py. |
|
|
Definition at line 617 of file runtests.py. Referenced by avmplus::MethodEnv::coerceEnter(), avmplus::AvmCore::getIndexFromString(), read_code(), read_samples(), and seq_cmp(). |
|
|
Definition at line 475 of file runtests.py. |
|
|
Definition at line 429 of file runtests.py. |
|
|
Definition at line 471 of file runtests.py. |
|
|
Definition at line 501 of file runtests.py. |
|
|
Definition at line 434 of file runtests.py. |
|
|
Definition at line 497 of file runtests.py. |
|
|
Definition at line 430 of file runtests.py. |
|
|
Definition at line 431 of file runtests.py. |
|
|
Definition at line 432 of file runtests.py. |
|
|
Definition at line 542 of file runtests.py. |
|
|
Definition at line 433 of file runtests.py. |
|
|
Definition at line 543 of file runtests.py. |
|
|
Definition at line 569 of file runtests.py. |
|
|
Definition at line 189 of file runtests.py. |
|
|
Definition at line 65 of file runtests.py. |
|
|
Definition at line 466 of file runtests.py. |
|
|
Definition at line 66 of file runtests.py. |
|
|
Definition at line 318 of file runtests.py. |
|
|
Definition at line 319 of file runtests.py. |
|
|
Definition at line 115 of file runtests.py. |
|
|
Definition at line 546 of file runtests.py. |
|
|
Definition at line 412 of file runtests.py. |
|
|
Definition at line 407 of file runtests.py. Referenced by avmplus::PoolObject::resolveTraits(). |
|
|
Definition at line 185 of file runtests.py. |
|
|
Definition at line 67 of file runtests.py. |
|
|
Definition at line 513 of file runtests.py. |
|
|
Definition at line 511 of file runtests.py. |
|
|
Definition at line 508 of file runtests.py. |
|
|
Definition at line 506 of file runtests.py. |
|
|
Definition at line 237 of file runtests.py. Referenced by pcregrep(), and run(). |
|
|
Definition at line 278 of file runtests.py. |
|
|
Definition at line 611 of file runtests.py. |
|
|
Definition at line 609 of file runtests.py. |
|
|
Definition at line 598 of file runtests.py. |
|
|
Definition at line 545 of file runtests.py. |
|
|
Definition at line 543 of file runtests.py. |
|
|
Definition at line 403 of file runtests.py. |
|
|
Definition at line 527 of file runtests.py. |
|
|
Definition at line 181 of file runtests.py. |
|
|
Definition at line 202 of file runtests.py. Referenced by TestReplace(). |
|
|
Definition at line 187 of file runtests.py. |
|
|
Definition at line 68 of file runtests.py. |
|
|
Definition at line 253 of file runtests.py. |
|
|
Definition at line 142 of file runtests.py. |
|
|
Definition at line 50 of file runtests.py. |
|
|
Definition at line 175 of file runtests.py. |
|
|
Definition at line 63 of file runtests.py. |
|
|
Definition at line 280 of file runtests.py. |
|
|
Definition at line 279 of file runtests.py. |
|
|
Definition at line 419 of file runtests.py. |
|
|
Definition at line 483 of file runtests.py. |
|
|
Definition at line 457 of file runtests.py. |
|
|
Definition at line 252 of file runtests.py. |
|
|
Definition at line 185 of file runtests.py. |
|
|
Definition at line 206 of file runtests.py. |
|
|
Definition at line 493 of file runtests.py. |
|
|
Definition at line 491 of file runtests.py. |
|
|
Definition at line 467 of file runtests.py. |
|
|
Definition at line 465 of file runtests.py. |
|
|
Definition at line 122 of file runtests.py. |
|
|
Definition at line 118 of file runtests.py. Referenced by avmplus::Toplevel::op_construct(), and avmplus::Hashtable::remove(). |
|
|
Definition at line 126 of file runtests.py. |
|
|
Definition at line 49 of file runtests.py. |
|
|
Definition at line 159 of file runtests.py. |
|
|
Definition at line 62 of file runtests.py. |
|
|
Definition at line 305 of file runtests.py. |
|
|
Definition at line 304 of file runtests.py. |
|
|
Definition at line 302 of file runtests.py. |
|
|
Definition at line 301 of file runtests.py. |
|
|
Definition at line 293 of file runtests.py. |
|
|
Definition at line 313 of file runtests.py. |
|
|
Definition at line 306 of file runtests.py. |
|
|
Definition at line 296 of file runtests.py. |
|
|
Definition at line 292 of file runtests.py. |
|
|
Definition at line 436 of file runtests.py. |
|
|
Definition at line 375 of file runtests.py. |
|
|
Definition at line 456 of file runtests.py. |
|
|
Definition at line 438 of file runtests.py. |
|
|
Definition at line 376 of file runtests.py. |
|
|
Definition at line 501 of file runtests.py. |
|
|
Definition at line 496 of file runtests.py. |
1.4.6