X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/baa1984efbcfdf18cdd00baf203dd24b9d5cf24c..d48a4f69b198ff8b3bd026ec63a5ec0905c97c08:/tests/genhtml.py diff --git a/tests/genhtml.py b/tests/genhtml.py new file mode 100755 index 0000000..8fd6da2 --- /dev/null +++ b/tests/genhtml.py @@ -0,0 +1,117 @@ +#!/usr/bin/env python + +import os; +import dircache; +import sys; + +os.chdir(sys.argv[1]) + +class Axis: + def __init__(self, atype): + self.type = atype + self.values = dircache.listdir('by-%s'%atype) + + def __str__(self): + if self.type == "kern": return "kernel" + elif self.type == "clck": return "CPU clock" + elif self.type == "test": return "test" + else: raise Exception, "Unknown type" + + def __iter__(self): + return iter(self.values) + + def __getitem__(self, key): + return self.values[key] + + def getLabel(self, v): + if self.type == "clck": return v+" MHz" + elif self.type == "test": return "%s"%(v, v) + else: return v + + + def labels(self): + for v in self.values: + yield self.getLabel(v) + +kernels = Axis('kern') +clocks = Axis('clck') +tests = Axis('test') + +class PageSet: + def __init__(self, values, x, y): + self.values = values + self.x = x + self.y = y + + def getPages(self): + for v in self.values: + yield Page(self.values.type, str(self.values), v, self.x, self.y) + +class Page: + def __init__(self, prefix, name, value, xvals, yvals): + self.prefix = prefix + self.name = name + self.value = value + self.xvals = xvals + self.yvals = yvals + + def generate(self, pagesets): + html = open("%s-%s.html"%(self.prefix, self.value), "w") + print >> html, """ + +CAN driver benchmark for %s %s + + + +

CAN driver benchmark for %s %s

""" % (self.name, self.value, self.name, self.value) + for ps in pagesets: + print >>html, "View by %s: " % str(ps.values) + for v in ps.values: + print >>html, "%s | "%(ps.values.type, v, v) + print >>html, "
" + print >>html, "" + for x in self.xvals.labels(): + print >>html, "" % x + print >>html, "" + for y in self.yvals: + print >>html, "" % self.yvals.getLabel(y) + + for x in self.xvals: + print >>html, "" + print >>html, "" + print >> html, """ +
%s
%s" + d="by-%s/%s/%s/%s/" % (self.prefix, self.value, y, x) + dthumb = d+"thumb" + try: + for img in dircache.listdir(dthumb): + print >>html, "" % (d, img, d, img) + except OSError: + print "error" + print >>html, "
+ +""" + + +pagesets = [ PageSet(kernels, clocks, tests), + PageSet(tests, clocks, kernels), + PageSet(clocks, kernels, tests)] + +for ps in pagesets: + for p in ps.getPages(): + p.generate(pagesets) + +try: + os.remove("index.html") +except OSError: pass + +os.symlink("%s-%s.html"%(kernels.type, kernels[0]), "index.html") + +os.system("source-highlight -d --output-dir=. ../*.sh") + + +