qexc.test 706 Bytes
#!/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));