More clean up, update readme
[cql-java-moved-to-github.git] / util / regression / mktests
diff --git a/util/regression/mktests b/util/regression/mktests
new file mode 100755 (executable)
index 0000000..78057b0
--- /dev/null
@@ -0,0 +1,55 @@
+#!/usr/bin/perl -w
+
+
+use IO::File;
+use strict;
+
+maybe_mkdir("sections");
+my $section = 0;
+my $dir;
+my $query;
+
+while (<>) {
+    chomp();
+    s/[ \t]+$//;
+    next if /^$/;
+
+    if (s/^#[ \t]*//) {
+       $section++;
+       $query = 0;
+       $dir = "sections/" . substr("0$section", -2);
+       maybe_mkdir($dir);
+       write_file("$dir/name", $_);
+       print "created section $section ($dir) - $_\n";
+       next;
+    }
+
+    die "query before first section header"
+       if !defined $dir;
+
+    $query++;
+    my $filename = $dir . "/" . substr("0$query", -2) . ".cql";
+    write_file($filename, $_);
+    $filename =~ s@sections/(.*)\.cql@$1@;
+    print "  added $filename - $_\n";
+}
+
+sub write_file {
+    my($name, $contents) = @_;
+
+    my $fh = new IO::File(">$name")
+       or die "can't create '$name': $!";
+    $fh->print($contents);
+    $fh->close();
+}
+
+sub maybe_mkdir {
+    my($dir) = shift();
+    if (mkdir $dir) {
+       return;
+    }
+    if ($! =~ /exists/i) {
+       return;
+    }
+    die "can't create directory '$dir': $!";
+}