X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/9bcefa0e5fa0e0bc776aa07dbe37853dbc6f0ba8..86dbfae2799a16d2a50029aec970c1ef2926731a:/tests/genhtml.py?ds=sidebyside diff --git a/tests/genhtml.py b/tests/genhtml.py index f6f55c5..cfd3907 100755 --- a/tests/genhtml.py +++ b/tests/genhtml.py @@ -3,6 +3,7 @@ import os; import dircache; import sys; +import urllib os.chdir(sys.argv[1]) @@ -11,46 +12,55 @@ class Axis: 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 AxisKern(Axis): + def __init__(self): + Axis.__init__(self, 'kern') + def getLabel(self, v): + i=v.find(":") + if i>0: kver=v[:i] + else: kver=v + return v+"
config"%(urllib.quote(kver)) + + +class AxisClck(Axis): + def __init__(self): + Axis.__init__(self, 'clck') + def getLabel(self, v): + return v+" MHz" + +class AxisTest(Axis): + def __init__(self): + Axis.__init__(self, 'test') + def getLabel(self, v): + return v+"
source"%(urllib.quote(v)) + +kernels = AxisKern() +clocks = AxisClck() +tests = AxisTest() class PageSet: - def __init__(self, values, x, y): + def __init__(self, pageclass, values, x, y): + self.pageclass = pageclass 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) + yield self.pageclass(v, self.x, self.y) class Page: - def __init__(self, prefix, name, value, xvals, yvals): - self.prefix = prefix - self.name = name + def __init__(self, value, xvals, yvals): self.value = value self.xvals = xvals self.yvals = yvals @@ -63,22 +73,26 @@ class Page:

CAN driver benchmark for %s %s

""" % (self.name, self.value, self.name, self.value) for ps in pagesets: - print >>html, "View only %s: " % str(ps.values) + print >>html, "View only %s: " % str(ps.pageclass.name) for v in ps.values: - print >>html, "%s | "%(ps.values.type, v, v) + print >>html, "%s | "%(ps.values.type, urllib.quote(v), v) print >>html, "
" + try: + print >>html, self.getPreambule() + except Exception: + pass print >>html, "" for x in self.xvals.labels(): - print >>html, "" % x + print >>html, "" % x print >>html, "" for y in self.yvals: - print >>html, "" % self.yvals.getLabel(y) + print >>html, "" % self.yvals.getLabel(y) for x in self.xvals: print >>html, "" @@ -96,10 +110,36 @@ td { border: 1px solid lightgray; padding: 4px;} """ - -pagesets = [ PageSet(kernels, clocks, tests), - PageSet(tests, clocks, kernels), - PageSet(clocks, kernels, tests)] +class PageKern(Page): + prefix = 'kern' + name = 'kernel' + def __init__(self, value, xvals, yvals): + Page.__init__(self, value, xvals, yvals) + def getPreambule(self): + i=self.value.find(":") + if i>0: kver=self.value[:i] + else: kver=self.value + return "

Kernel config

"%kver + +class PageClck(Page): + prefix = 'clck' + name = 'CPU clock' + def __init__(self, value, xvals, yvals): + Page.__init__(self, value, xvals, yvals) + +class PageTest(Page): + prefix = 'test' + name = 'test' + def __init__(self, value, xvals, yvals): + Page.__init__(self, value, xvals, yvals) + def getPreambule(self): + return "

Test source

"%(urllib.quote(self.value)) + + + +pagesets = [ PageSet(PageKern, kernels, clocks, tests), + PageSet(PageTest, tests, clocks, kernels), + PageSet(PageClck, clocks, kernels, tests)] for ps in pagesets: for p in ps.getPages():
%s%s
%s
%s" @@ -86,7 +100,7 @@ td { border: 1px solid lightgray; padding: 4px;} dthumb = d+"thumb" try: for img in dircache.listdir(dthumb): - print >>html, "" % (d, img, d, img) + print >>html, "" % (urllib.quote(d), img, urllib.quote(d), img) except OSError: print "warning: no images in %s?"%dthumb print >>html, "