41a1500ffdd0c493335588bebc7637d0e6e2d3a4
[cql-java-moved-to-github.git] / test / regression / mktests
1 #!/usr/bin/perl -w
2
3 # $Id: mktests,v 1.3 2002-11-20 22:50:45 mike Exp $
4
5 use IO::File;
6 use strict;
7
8 maybe_mkdir("sections");
9 my $section = 0;
10 my $dir;
11 my $query;
12
13 while (<>) {
14     chomp();
15     s/[ \t]+$//;
16     next if /^$/;
17
18     if (s/^#[ \t]*//) {
19         $section++;
20         $query = 0;
21         $dir = "sections/" . substr("0$section", -2);
22         maybe_mkdir($dir);
23         write_file("$dir/name", $_);
24         print "created section $section ($dir) - $_\n";
25         next;
26     }
27
28     die "query before first section header"
29         if !defined $dir;
30
31     $query++;
32     my $filename = $dir . "/" . substr("0$query", -2) . ".cql";
33     write_file($filename, $_);
34     $filename =~ s@sections/(.*)\.cql@$1@;
35     print "  added $filename - $_\n";
36 }
37
38 sub write_file {
39     my($name, $contents) = @_;
40
41     my $fh = new IO::File(">$name")
42         or die "can't create '$name': $!";
43     $fh->print($contents);
44     $fh->close();
45 }
46
47 sub maybe_mkdir {
48     my($dir) = shift();
49     if (mkdir $dir) {
50         return;
51     }
52     if ($! =~ /exists/i) {
53         return;
54     }
55     die "can't create directory '$dir': $!";
56 }