Allow multiple graphs per test
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 12 Dec 2010 09:33:33 +0000 (10:33 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 12 Dec 2010 09:33:33 +0000 (10:33 +0100)
gw-tests/Makefile
gw-tests/genhtml/genhtml.py
gw-tests/lib.sh

index 890f63f..520bc6c 100644 (file)
@@ -18,8 +18,8 @@ $(T:%=run-%):run-%:
 PLOT_SCRIPTS=$(shell find results -name plot.sh)
 
 define plot_template
-plot: $1/$(notdir $1).png
-$1/$(notdir $1).png: $1/plot.sh $(notdir $1).sh lib.sh $(wildcard $1/*.txt)
+plot: $1/graph.png
+$1/graph.png: $1/plot.sh $(notdir $1).sh lib.sh $(wildcard $1/*.txt)
        $1/plot.sh -X
 endef
 
index b4d2d36..cd4985b 100755 (executable)
@@ -5,6 +5,7 @@ import dircache;
 import sys;
 import urllib
 import traceback
+import glob
 
 class DimValue(object):
     def __new__(cls, dim, value):
@@ -142,14 +143,18 @@ class Test(object):
         self.values = values
         self.tests = tests
     def printThumbLink(self, file):
-        thumb = self.path+'/thumb'
-        try:
-            imgs = [img for img in dircache.listdir(thumb)]
-        except OSError:
-            imgs = [ self.name + ".png" ]
+#         try:
+#             imgs = [img for img in dircache.listdir(thumb)]
+#         except OSError:
+#             imgs = [ self.name + ".png" ]
+        imgs = [ 'tgraph.png' ]
         for img in imgs:
-            print >>file, "<a href='%s/results.html'><img src='%s/thumb/%s'></a>" % \
+            print >>file, "<a href='%s/results.html'><img src='%s/%s'></a>" % \
                   (urllib.quote(self.path), urllib.quote(self.path), img)
+    def fullImgLink(self, pngName):
+        return "<div><a href='%s'><img src='%s' /></a></div>" % \
+               (pngName[:-4]+".pdf", pngName)
+        
     def generateHtml(self):
         html = open(os.path.join(self.path, 'results.html'), "w")
        title = "CAN gateway timing analysis"
@@ -182,10 +187,20 @@ class Test(object):
             print >>html, "<tr><th>%s</th><td>" % d, " ".join(links), "</td></tr>"
 
         print >>html, "</table></div>"
-        print >>html, "<div><a href='%s'><img src='%s' /></a></div>" % (self.name+".pdf", self.name+".png")
+        print >>html, self.fullImgLink("graph.png")
         print >>html, "<a href='./'>Raw data</a><br />"
         print >>html, "<a href='%s'>Script source</a><br />" % (cdup+self.name+".sh.html")
         print >>html, "<a href='%s'>Back to top</a><br />" % cdup
+
+        cwd = os.getcwd()
+        os.chdir(self.path)
+        additionalImgs = glob.glob("graph?*.png")
+        if additionalImgs:
+            print "XXX"
+            print >>html, "<h2>Additional graphs</h2>"
+        for i in additionalImgs:
+            print >>html, self.fullImgLink(i)
+        os.chdir(cwd)
         
         html.close()
 
index f6f4439..8a8a9e9 100644 (file)
@@ -46,21 +46,22 @@ cleanupgw() {
 
 _plot() {
     local testname=`basename $0 .sh`
-
-    plot_cmds | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n{\/*0.75 (GW kernel $kvers, Traffic $traffic, Load $load)}\"/" > plot.gp
-    if [[ ! -s plot.gp ]]; then return; fi
-    if [ -z "$OPT_NO_X11" ]; then
-       echo "set terminal x11 enhanced; $(< plot.gp)" | gnuplot -persist
-    fi
-    I=''
-    echo "set terminal pdfcairo solid color enhanced; set output \"${testname}$I.pdf\";" \
-       "$(< plot.gp)" | gnuplot
-    echo 'set terminal pngcairo color enhanced size 750,525 font ",10" ;' \
-       "$(< plot.gp)" | gnuplot > ${testname}$I.png
-    mkdir -p thumb
-    convert -resize 150x105 -gamma 0.5 -quality 90 -type Palette -depth 8 ${testname}$I.png thumb/${testname}$I.png
+    rm -rf *.pdf *.png
+    for i in "" $ADDITIONAL_PLOTS; do
+       plot_cmds $i | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n{\/*0.75 (GW kernel $kvers, Traffic $traffic, Load $load)}\"/" > plot.gp
+       if [[ ! -s plot.gp ]]; then return; fi
+       if [ -z "$OPT_NO_X11" ]; then
+           echo "set terminal x11 enhanced; $(< plot.gp)" | gnuplot -persist
+       fi
+       echo "set terminal pdfcairo solid color enhanced; set output \"graph$i.pdf\";" \
+           "$(< plot.gp)" | gnuplot
+       echo 'set terminal pngcairo color enhanced size 750,525 font ",10" ;' \
+           "$(< plot.gp)" | gnuplot > graph$i.png
+       mkdir -p thumb
+       convert -resize 150x105 -gamma 0.5 -quality 90 -type Palette -depth 8 graph$i.png tgraph$i.png
 #     echo 'set terminal pngcairo color enhanced size 150,105 font ",1";' \
-#      "$(< plot.gp)" | gnuplot > thumb/${testname}$I.png
+#      "$(< plot.gp)" | gnuplot > thumb/${testname}$i.png
+    done
 
 }