* CheckBox.cs: Do not change the status of a checkbox when there
[mono.git] / mcs / tests / gen-test.pl
1 #!/usr/bin/perl -w
2
3 my $gmcs = "mono ../gmcs/gmcs.exe";
4 my $monodis = "monodis";
5 my $mono = "mono";
6
7 my @normal = qw[gen-1 gen-2 gen-3 gen-4 gen-5 gen-6 gen-7 gen-8 gen-9 gen-10 gen-11 gen-12
8                 gen-14 gen-15 gen-16 gen-18 gen-19 gen-20];
9 my @library = qw[gen-13 gen-17];
10
11 sub RunTest
12 {
13     my ($quiet,@args) = @_;
14     my $cmdline = join ' ', @args;
15
16     $cmdline .= " > /dev/null" if $quiet;
17
18     print STDERR "Running $cmdline\n";
19
20     my $exitcode = system $cmdline;
21     if ($exitcode != 0) {
22         print STDERR "Command failed!\n";
23         return 0;
24     }
25
26     return 1;
27 }
28
29 sub NormalTest
30 {
31     my ($file) = @_;
32
33     my $cs = qq[$file.cs];
34     my $exe = qq[$file.exe];
35
36     RunTest (0, $gmcs, $cs) or return 0;
37     RunTest (1, $monodis, $exe) or return 0;
38     RunTest (0, $mono, $exe) or return 0;
39
40     return 1;
41 }
42
43 sub LibraryTest
44 {
45     my ($file) = @_;
46
47     my $cs_dll = qq[$file-dll.cs];
48     my $dll = qq[$file-dll.dll];
49     my $cs_exe = qq[$file-exe.cs];
50     my $exe = qq[$file-exe.exe];
51
52     RunTest (0, $gmcs, "/target:library", $cs_dll) or return 0;
53     RunTest (1, $monodis, $dll) or return 0;
54     RunTest (0, $gmcs, "/r:$dll", $cs_exe) or return 0;
55     RunTest (1, $monodis, $exe) or return 0;
56     RunTest (0, $mono, $exe) or return 0;
57 }
58
59 foreach my $file (@normal) {
60     print STDERR "RUNNING TEST: $file\n";
61     if (NormalTest ($file)) {
62         print STDERR "TEST SUCCEEDED: $file\n";
63     } else {
64         print STDERR "TEST FAILED: $file\n";
65     }
66 }
67
68 foreach my $file (@library) {
69     print STDERR "RUNNING LIBRARY TEST: $file\n";
70     if (LibraryTest ($file)) {
71         print STDERR "TEST SUCCEEDED: $file\n";
72     } else {
73         print STDERR "TEST FAILED: $file\n";
74     }
75 }