import glob import sys import subprocess import os def OSinfo(runthis): red = lambda text: '\033[0;31m' + text + '\033[0m' osstdout = subprocess.Popen(runthis, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True) theInfo = osstdout.communicate()[0].strip() if osstdout.returncode!=0: print(red(runthis+" FAILED")) print >> sys.stderr, osstdout.returncode sys.exit() # else: # print(runthis+" OK") def Sort(sub_li): l = len(sub_li) for i in range(0, l): for j in range(0, l-i-1): if (sub_li[j][0] < sub_li[j+1][0]): tempo = sub_li[j] sub_li[j]= sub_li[j+1] sub_li[j+1]= tempo if (sub_li[j][0] == sub_li[j+1][0]): if (sub_li[j][2] < sub_li[j+1][2]): tempo = sub_li[j] sub_li[j]= sub_li[j+1] sub_li[j+1]= tempo if (sub_li[j][1] == sub_li[j+1][1]): if (sub_li[j][2] < sub_li[j+1][2]): tempo = sub_li[j] sub_li[j]= sub_li[j+1] sub_li[j+1]= tempo return sub_li def subgenerate(directory, machine, machine_name): test_list = glob.glob(directory+"/test_"+machine+"/test_*.txt") if len(test_list) == 0 : return revision_list=[] relurl_list=[] machine_list=[] build_dir_list=[] arch_list=[] mode_list=[] myTestList=[] for test_log in test_list : f=open(test_log, "r") for line in f : if line.startswith("#revision") : revision = line.replace("\n","").split(" ")[1] if not revision in revision_list : revision_list.append(revision) elif line.startswith("#relurl") : relurl = line.replace("\n","").split(" ")[1] tmp_url = relurl.split("/") branch = tmp_url[len(tmp_url)-1] if not relurl in relurl_list : relurl_list.append(relurl) elif line.startswith("#build_dir") : build_dir = line.replace("\n","").split(" ")[1] tmp_list = build_dir.split("/") short_dir = tmp_list[len(tmp_list)-1] if not build_dir in build_dir_list : build_dir_list.append(short_dir) elif line.startswith("#arch") : arch = line.replace("\n","").split(" ")[1] if not arch in arch_list : arch_list.append(arch) elif line.startswith("#mode") : mode = line.replace("\n","").split(" ")[1] if not mode in mode_list : mode_list.append(mode) myTestList.append([revision, machine, short_dir, branch, machine_name, arch, mode, build_dir]) f.close() revision_list = sorted(revision_list, reverse=True) print(revision_list) Sort(myTestList) print(myTestList) f=open("_test_"+machine+"_info.js", "w") f.write("var test_"+machine+"_revision_list = "+repr(revision_list)+"\n\n") f.write("var test_"+machine+"_info_list = [\n") for i in range(len(myTestList)) : if i