]> granicus.if.org Git - graphviz/commitdiff
Fix various problems with the test driver and test list
authorerg <devnull@localhost>
Sun, 28 Oct 2007 02:08:43 +0000 (02:08 +0000)
committererg <devnull@localhost>
Sun, 28 Oct 2007 02:08:43 +0000 (02:08 +0000)
rtest/rtest.sh
rtest/tests.txt

index 0e8ecd1489d8e25b67636ccbdb5b2078e2fb0c61..fe884e19c87b501447e04374c016170a05d55277 100755 (executable)
@@ -1,8 +1,14 @@
 #! /bin/ksh
+#
+# Graphviz regression test driver
+#
+# Assumes the programs dot and diffimg are in PATH.
+# Also relies on strps.awk.
+#
 # TODO:
 #  Fix to allow multiple test data sets depending
 # on architecture, etc. Maintain common ones in REFDIR.
-#  Report differences with shared version and with new output. 
+#  Report differences with shared version and with new output.
 
 TESTFILE=tests.txt     # Test specifications
 GRAPHDIR=graphs        # Directory of input graphs and data
@@ -127,7 +133,7 @@ function doDiff
     ps )
       mv $FILE1 $TMPFILE 
       awk -f strps.awk $TMPFILE > $FILE1
-      awk -f strps.awk $FILE22 > $TMPFILE
+      awk -f strps.awk $FILE2 > $TMPFILE
       diff -q $FILE1 $TMPFILE > /dev/null 
       ;;
     svg )
@@ -158,15 +164,15 @@ function genOutname
 {
   if [[ $3 == *:* ]]
   then
-    FMT=${3%%:*}
-    XFMT=${3#$FMT}
+    F=${3%%:*}
+    XFMT=${3#$F}
     XFMT=${XFMT/:/_}
   else
-    FMT=$3
+    F=$3
     XFMT=""
   fi
 
-  IDX="$2$XFMT$FMT"
+  IDX="$2$XFMT$F"
   j=${TESTTYPES[$IDX]}
   if (( j == 0 ))
   then
@@ -176,7 +182,7 @@ function genOutname
     TESTTYPES[$IDX]=$(( j+1 ))
     J=$j
   fi 
-  OUTFILE="$1_$2$XFMT$J.$FMT"
+  OUTFILE="$1_$2$XFMT$J.$F"
 }
 
 function doTest
@@ -202,12 +208,6 @@ function doTest
       ;;
   esac
 
-  # clear TESTTYPES
-  for x in ${!TESTYPES[@]}
-  do
-    TESTTYPES[$x]=0
-  done
-
   for ((i=0;i<SUBTESTCNT;i++))
   do
     genOutname $TESTNAME ${ALG[$i]} ${FMT[$i]}
@@ -222,19 +222,24 @@ function doTest
     fi
     
     dot -K${ALG[$i]} -T${FMT[$i]} ${FLAGS[$i]} -o$OUTPATH $INFILE 2> errout
+    RVAL=$?
 
-    if [[ $GENERATE == 1 ]]
+    if [[ $RVAL != 0 || ! -s $OUTPATH ]]
     then
-      continue
-    fi
-    
-    if [[ $? != 0 || -s errout ]]
+      print -u 2 "Test $TESTNAME:$i : == Layout failed =="
+    elif [[ $GENERATE == 1 ]]
     then
-      print -u 2 "Test $TESTNAME:$i : == Crashed =="
+      continue
     else
       doDiff $TESTNAME $i ${FMT[$i]}
     fi
   done
+
+  # clear TESTTYPES
+  for W in ${!TESTTYPES[@]}
+  do
+    TESTTYPES[$W]=0
+  done 
 }
 
 trap 'rm -f $TMPFILE $TMPINFILE errout; exit' 0 1 2 3 15
@@ -256,7 +261,7 @@ do
     ;;
   g )
     GENERATE=1
-    if [[! -d "$REFDIR" ]]
+    if [[ ! -d "$REFDIR" ]]
     then
                mkdir $REFDIR
     fi
@@ -279,6 +284,26 @@ do
 done
 shift $((OPTIND-1))
 
+# Check environment and initialize
+
+if [[ ! -d "$REFDIR" ]]
+then
+  print -u 2 "Test data directory $REFDIR does not exit"
+  exit 1
+fi
+
+if [[ ! -d "$OUTDIR" ]]
+then
+  mkdir $OUTDIR
+fi
+
+if ! whence diffimg > /dev/null
+then
+  print -u 2 "diffimg program is not in your PATH"
+  exit 1
+fi
+exit
+
 exec 3< $TESTFILE
 while readTest
 do
index 2480f6971f2842a3f1d8301728b1561a403536b5..ed6868080f036e33c3861ca791d24fe869a897e2 100644 (file)
@@ -44,7 +44,7 @@ dot png -Gmargin=1
 color
 =
 dot png
-dot png - Gbgcolor = lightblue
+dot png -Gbgcolor=lightblue
 
 decorate
 =
@@ -75,10 +75,11 @@ dot ps
 dot png:gd
 #dot png - doesn't work: Warning: No loadimage plugin for "gif:cairo"
 
+# bug - the epsf version has problems
 ps_user_shapes
 =
 dot ps -Nshapefile=graphs/dice.ps
-dot ps -Nshape=epsf -Nshapefile=graphs/dice.ps
+#dot ps -Nshape=epsf -Nshapefile=graphs/dice.ps
 
 colorscheme
 =
@@ -95,25 +96,25 @@ dot ps
 
 clustlabel
 =
-dot ps "-Glabelloc=t -Glabeljust=r" 
-dot ps "-Glabelloc=b -Glabeljust=r" 
-dot ps "-Glabelloc=t -Glabeljust=l" 
-dot ps "-Glabelloc=b -Glabeljust=l" 
-dot ps "-Glabelloc=t -Glabeljust=c" 
-dot ps "-Glabelloc=b -Glabeljust=c" 
-dot ps "-Glabelloc=t"
-dot ps "-Glabelloc=b"
+dot ps -Glabelloc=t -Glabeljust=r
+dot ps -Glabelloc=b -Glabeljust=r 
+dot ps -Glabelloc=t -Glabeljust=l 
+dot ps -Glabelloc=b -Glabeljust=l 
+dot ps -Glabelloc=t -Glabeljust=c 
+dot ps -Glabelloc=b -Glabeljust=c 
+dot ps -Glabelloc=t
+dot ps -Glabelloc=b
 
 rootlabel
 =
-dot ps "-Glabelloc=t -Glabeljust=r" 
-dot ps "-Glabelloc=b -Glabeljust=r" 
-dot ps "-Glabelloc=t -Glabeljust=l" 
-dot ps "-Glabelloc=b -Glabeljust=l" 
-dot ps "-Glabelloc=t -Glabeljust=c" 
-dot ps "-Glabelloc=b -Glabeljust=c" 
-dot ps "-Glabelloc=t"
-dot ps "-Glabelloc=b"
+dot ps -Glabelloc=t -Glabeljust=r
+dot ps -Glabelloc=b -Glabeljust=r 
+dot ps -Glabelloc=t -Glabeljust=l 
+dot ps -Glabelloc=b -Glabeljust=l 
+dot ps -Glabelloc=t -Glabeljust=c 
+dot ps -Glabelloc=b -Glabeljust=c 
+dot ps -Glabelloc=t
+dot ps -Glabelloc=b
 
 layers
 =
@@ -124,7 +125,7 @@ mode
 =
 neato ps -Gmode=KK
 neato ps -Gmode=hier
-neato ps "-Gmode=hier -Glevelsgap=1"
+neato ps -Gmode=hier -Glevelsgap=1
 
 model
 mode.dot
@@ -158,9 +159,9 @@ neato dot -Gpackmode=graph
 
 page
 mode.dot
-neato ps "-Gpage=8.5,11"
-neato ps "-Gpage=8.5,11 -Gpagedir=TL"
-neato ps "-Gpage=8.5,11 -Gpagedir=TR"
+neato ps -Gpage=8.5,11
+neato ps -Gpage=8.5,11 -Gpagedir=TL
+neato ps -Gpage=8.5,11 -Gpagedir=TR
 
 # pencolor, fontcolor, fillcolor
 colors
@@ -195,28 +196,28 @@ dot cmapx_np
 
 viewport
 =
-neato png "-Gviewport=300,300 -n2"
-neato ps "-Gviewport=300,300 -n2"
-neato png "-Gviewport=300,300,1,200,620 -n2"
-neato ps "-Gviewport=300,300,1,200,620 -n2"
-neato png "-Gviewport=300,300,2,200,620 -n2"
-neato ps "-Gviewport=300,300,2,200,620 -n2"
+neato png -Gviewport=300,300 -n2
+neato ps -Gviewport=300,300 -n2
+neato png -Gviewport=300,300,1,200,620 -n2
+neato ps -Gviewport=300,300,1,200,620 -n2
+neato png -Gviewport=300,300,2,200,620 -n2
+neato ps -Gviewport=300,300,2,200,620 -n2
 
 rowcolsep
 =
-dot dot -Tnodesep=0.5
-dot dot -Tranksep=1.5
+dot dot -Gnodesep=0.5
+dot dot -Granksep=1.5
 
 size
 mode.dot
-neato ps "-Gsize=5,5"
-neato png "-Gsize=5,5"
+neato ps -Gsize=5,5
+neato png -Gsize=5,5
 
 # size with !
 size_ex
 root.dot
-dot ps "-Gsize=6,6!"
-dot png "-Gsize=6,6!"
+dot ps -Gsize=6,6!
+dot png -Gsize=6,6!
 
 dotsplines
 size.dot
@@ -228,7 +229,7 @@ dot dot -Gsplines=polyline
 neatosplines
 overlap.dot
 neato dot -Goverlap=false -Gsplines=splines
-neato dot -Goverlap=false -Gsplines=polyline
+#neato dot -Goverlap=false -Gsplines=polyline
 #neato dot -Goverlap=false -Gsplines=ortho
 
 style
@@ -253,6 +254,6 @@ circo dot
 
 cairo
 =
-dot -Tps:cairo 
-dot -Tpng:cairo 
-dot -Tsvg:cairo 
+dot ps:cairo 
+dot png:cairo 
+dot svg:cairo