Do not omit section 10
[cql-java-moved-to-github.git] / test / regression / runtests
index f1d462b..3c06174 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-# $Id: runtests,v 1.7 2002-11-21 09:57:28 mike Exp $
+# $Id: runtests,v 1.12 2007-07-03 15:53:52 mike Exp $
 
 use IO::File;
 use strict;
@@ -13,11 +13,12 @@ if (@ARGV != 2) {
 }
 my $compiler = $ARGV[0];
 my $norman = $ARGV[1];         # name of XML normaliser program
+my($ntests, $ncorrect) = (0, 0);
 
 while (<sections/*>) {
     my $sdir = $_;
     s@sections/@@;
-    next if /^CVS$/ || /^10$/;
+    next if /^CVS$/;
     print "testing section $_ - ", read_file("$sdir/name"), "\n";
 
     while (<$sdir/*.cql>) {
@@ -27,19 +28,25 @@ while (<sections/*>) {
        my $afile = $qfile;
        $afile =~ s/\.cql$/.xcql/;
        print "  query $_ - $query  ";
+       $ntests++;
        my $correct = read_file("$norman < $afile |");
-       my $tested = read_file("$compiler < $qfile | $norman |")
-           or print "\n    *** test compiler exited non-zero\n";
-       if ($tested eq $correct) {
+       my $tested = read_file("$compiler < $qfile | $norman |");
+       if (!$tested) {
+           print "\n    *** test compiler exited non-zero\n";
+       } elsif ($tested eq $correct) {
            print "OK\n";
+           $ncorrect++;
        } else {
-           print "\n    *** different XCQL output\n";
-           print "=== correct ===\n$correct";
+           print "\n    *** XCQL output differs from $afile\n";
            print "=== tested ===\n$tested";
+           print "=== end ===\n";
        }
     }
 }
 
+print sprintf("%d of %d passed: %d%%\n",
+             $ncorrect, $ntests, (100 * $ncorrect) / $ntests);
+
 sub read_file {
     my($name) = @_;