10 if (len(sys.argv) < 2):
11 configFilename =
"configuration.conf" 13 configFilename = sys.argv[1]
15 configPath =
"configuration/" + configFilename
18 with open(configPath)
as f:
20 entrymatch = re.match(
r'^runningTime *= *([0-9]+)', line)
22 runningTime = float(entrymatch.group(1))
23 print "running time = ", runningTime
25 reportsFolder =
"scratch" 26 agingFilename = reportsFolder +
"/" + configFilename +
"instantaneousAgingReport.txt" 27 reportFilename = reportsFolder +
"/" + configFilename +
"shortReport.txt" 28 resultfile =
"data/" + configFilename
30 with open(reportFilename,
'a')
as f:
31 f.write(
"hello from " + reportFilename +
"\n")
33 deadlineMisses(reportsFolder, configFilename, reportFilename, runningTime)
34 temperature(reportsFolder, configFilename, reportFilename);
36 def deadlineMisses(reportsFolder, configFilename, reportFilename, runningTime):
38 missFilename = reportsFolder +
"/" + configFilename +
"deadlineMissesReport.txt" 39 with open(missFilename)
as f:
40 with open(reportFilename,
"a")
as res:
42 entries = [[float(elem)
for elem
in line.split(
":")]
for line
in f]
45 res.write(
"deadline misses OK\n");
47 if entries[len(entries)-1][0] < runningTime*ratio:
49 res.write(
"deadline misses OK\n");
51 res.write(
"deadline misses FAIL\n");
53 (time, pid) = itertools.izip(*entries)
55 res.write(
"number of misses: " + str(missNumber))
105 tempFilename = reportsFolder +
"/" + configFilename +
"temperatureReport.txt" 106 with open(tempFilename)
as f, open(reportFilename,
'a')
as shortReportFile:
108 entries = [[float(elem)
for elem
in line.split(
":")]
for line
in f]
111 print "TEMPERATURE ERROR" 112 shortReportFile.write(
"TEMPERATURE ERROR\n")
113 temps = [e[1]
for e
in entries]
115 print "maximum temperature reached:", maxTemp
116 shortReportFile.write(
"maximum temperature reached: " + str(maxTemp) +
"\n")
118 os.remove(tempFilename)
127 if (len(timeArray) == 0):
129 if (len(timeArray) == 1):
130 if (timeArray[0] < cutoffTime):
134 halflen = len(timeArray)/2
136 if (timeArray[halflen] < cutoffTime):
137 retval =
recursiveSearch(timeArray[halflen+1:len(timeArray)], cutoffTime)
140 retval =
recursiveSearch(timeArray[0:halflen], cutoffTime) + len(timeArray[halflen:len(timeArray)])
144 if __name__ ==
'__main__':
def temperature(reportsFolder, configFilename, reportFilename)
def recursiveSearch(timeArray, cutoffTime)
def deadlineMisses(reportsFolder, configFilename, reportFilename, runningTime)