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