Add source directory to CLASSPATH to pick up newly built .class files.
[cql-java-moved-to-github.git] / test / regression / runtests
index 008c271..1630be9 100755 (executable)
@@ -1,10 +1,11 @@
 #!/usr/bin/perl -w
 
-# $Id: runtests,v 1.9 2007-06-21 10:10:32 mike Exp $
+# $Id: runtests,v 1.12 2007-07-03 15:53:52 mike Exp $
 
 use IO::File;
 use strict;
 
+$ENV{CLASSPATH} .= ":../../src/main/java";
 $ENV{CLASSPATH} .= ":../../lib/cql-java.jar";
 
 if (@ARGV != 2) {
@@ -18,7 +19,7 @@ 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>) {
@@ -28,16 +29,16 @@ while (<sections/*>) {
        my $afile = $qfile;
        $afile =~ s/\.cql$/.xcql/;
        print "  query $_ - $query  ";
-       my $correct = read_file("$norman < $afile |");
-       my $tested = read_file("$compiler < $qfile | $norman |")
-           or print "\n    *** test compiler exited non-zero\n";
        $ntests++;
-       if ($tested eq $correct) {
+       my $correct = read_file("$norman < $afile |");
+       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";
        }