import os import sys def main(): black = lambda text: '\033[0;30m' + text + '\033[0m' red = lambda text: '\033[0;31m' + text + '\033[0m' green = lambda text: '\033[0;32m' + text + '\033[0m' yellow = lambda text: '\033[0;33m' + text + '\033[0m' blue = lambda text: '\033[0;34m' + text + '\033[0m' magenta = lambda text: '\033[0;35m' + text + '\033[0m' cyan = lambda text: '\033[0;36m' + text + '\033[0m' lgray = lambda text: '\033[0;37m' + text + '\033[0m' dgray = lambda text: '\033[1;30m' + text + '\033[0m' lred = lambda text: '\033[1;32m' + text + '\033[0m' lgreen = lambda text: '\033[1;32m' + text + '\033[0m' lyellow = lambda text: '\033[1;33m' + text + '\033[0m' lblue = lambda text: '\033[1;34m' + text + '\033[0m' lpurple = lambda text: '\033[1;35m' + text + '\033[0m' lcyan = lambda text: '\033[1;36m' + text + '\033[0m' white = lambda text: '\033[1;37m' + text + '\033[0m' default_nb_config = 7 nb_config = 1; configs = [0]*default_nb_config configs_arg = [[], [], [], [], [], [], []] f=open("user_params.def", "r") for line in f: line = line.strip() if len(line) != 0: if not line.startswith("#"): nb_config = nb_config * (line.count(",")+1) line = line.replace(",", "") line = line.replace("=", "") if line.startswith("UsingServer2"): line = line.replace("UsingServer2", "") for word in line.split(): configs[0] += 1 configs_arg[0].append('UsingServer2 = '+word) elif line.startswith("RatioServer2"): line = line.replace("RatioServer2", "") for word in line.split(): configs[1] += 1 configs_arg[1].append('RatioServer2 = '+word) elif line.startswith("NumberPoolsServer2"): line = line.replace("NumberPoolsServer2", "") for word in line.split(): configs[2] += 1 configs_arg[2].append('NumberPoolsServer2 = '+word) elif line.startswith("NumberClients"): line = line.replace("NumberClients", "") for word in line.split(): configs[3] += 1 configs_arg[3].append('NumberClients = '+word) elif line.startswith("NumberServers"): line = line.replace("NumberServers", "") for word in line.split(): configs[4] += 1 configs_arg[4].append('NumberServers = '+word) elif line.startswith("Duration"): line = line.replace("Duration", "") for word in line.split(): configs[5] += 1 configs_arg[5].append('Duration = '+word) elif line.startswith("ATMdomain"): line = line.replace("ATMdomain", "") for word in line.split(): configs[6] += 1 configs_arg[6].append('ATMdomain = '+word) for x in range(default_nb_config): if configs[x]==0: configs[x] =1 config_id=0 for i0 in range(configs[0]): hasContent0 = len(configs_arg[0])>0 for i1 in range(configs[1]): hasContent1 = len(configs_arg[1])>0 for i2 in range(configs[2]): hasContent2 = len(configs_arg[2])>0 for i3 in range(configs[3]): hasContent3 = len(configs_arg[3])>0 for i4 in range(configs[4]): hasContent4 = len(configs_arg[4])>0 for i5 in range(configs[5]): hasContent5 = len(configs_arg[5])>0 for i6 in range(configs[6]): hasContent6 = len(configs_arg[6])>0 filename = "user_param.py."+repr(config_id) g = open(filename, "w") if hasContent0: g.write(configs_arg[0][i0]+'\n') if hasContent1: g.write(configs_arg[1][i1]+'\n') if hasContent2: g.write(configs_arg[2][i2]+'\n') if hasContent3: g.write(configs_arg[3][i3]+'\n') if hasContent4: g.write(configs_arg[4][i4]+'\n') if hasContent5: g.write(configs_arg[5][i5]+'\n') if hasContent6: g.write(configs_arg[6][i6]+'\n') config_id +=1 g.close # print >>sys.stderr, nb_config f=open("CMakeLists.txt", "w") f.write("##############################\n") f.write("# file generated by setup.py #\n") f.write("# DO NOT modify #\n") f.write("##############################\n\n") f.write("cmake_minimum_required(VERSION 2.8.12.2)\n\n") f.write("project(generic_testcase)\n\n") f.write("find_package(PythonInterp REQUIRED)\n\n") f.write("enable_testing()\n\n") dirpath = os.getcwd() foldername = os.path.basename(os.getcwd()) print(foldername) for x in range(nb_config): f.write("add_test( NAME "+foldername+"_config"+repr(x)+'\n') f.write(" COMMAND ${PYTHON_EXECUTABLE}\n") f.write(" ${CMAKE_CURRENT_BINARY_DIR}/run_test_"+repr(x)+".py\n") f.write(" "+foldername+"_config"+repr(x)+")\n\n") g=open("run_test_"+repr(x)+".py", "w") g.write("##############################\n") g.write("# file generated by setup.py #\n") g.write("# DO NOT modify #\n") g.write("##############################\n\n") g.write("import os\n") g.write("import sys\n") g.write("def main():\n") g.write(" os.system(\'rm -f user_param.py\')\n") g.write(" os.system(\'cp user_param.py."+repr(x)+" user_param.py\')\n") g.write(" os.system(\'./run_sub_test.sh\')\n") g.write("if __name__== \"__main__\":\n") g.write(" main()\n") g.close f.close f=open("report.txt", "w") g=open("report.html", "w") f.write("\n\n\nin "+cyan(foldername)+" ...\n\n") g.write("


in "+foldername+" ...



") f.close g.close if __name__== "__main__": main()