aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest/qexc.test
diff options
context:
space:
mode:
Diffstat (limited to 'libtests/qtest/qexc.test')
-rw-r--r--libtests/qtest/qexc.test32
1 files changed, 32 insertions, 0 deletions
diff --git a/libtests/qtest/qexc.test b/libtests/qtest/qexc.test
new file mode 100644
index 00000000..b8632b9b
--- /dev/null
+++ b/libtests/qtest/qexc.test
@@ -0,0 +1,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));