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+" ...