aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest/qexc.test
blob: b8632b9b48a26b2b1660168851dfecfd3453e9ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env perl

require 5.008;
BEGIN { $^W = 1; }
use strict;

chdir("qexc") or die "chdir qexc failed: $!\n";

require TestDriver;

my $td = new TestDriver('qexc');

my @tests =
    (['general exception', 2],
     ['internal error', 3],
     ['system exception', 2],
     ['library exception', 3, "uncaught exception: .+\n"], # fails on VC7?
     );

for (my $i = 0; $i < scalar(@tests); ++$i)
{
    my $output = +((-f "test$i.out")
		   ? {$td->FILE => "test$i.out"}
		   : {$td->REGEXP => $tests[$i]->[2]});
    $output->{$td->EXIT_STATUS} = $tests[$i]->[1];
    $td->runtest($tests[$i]->[0],
		 {$td->COMMAND => "qexc $i"},
		 $output,
		 $td->NORMALIZE_NEWLINES);
}

$td->report(scalar(@tests));