From 0a65b770e8af3f8c021b384b439b4cf7d7668643 Mon Sep 17 00:00:00 2001
From: Maik Fischer <maikf@qu.cx>
Date: Mon, 21 Nov 2011 17:33:18 +0100
Subject: [PATCH] i3test.pm: bail_out if injection of exported modules fails

---
 testcases/lib/i3test.pm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/testcases/lib/i3test.pm b/testcases/lib/i3test.pm
index 540e89bc..d1e0ed7d 100644
--- a/testcases/lib/i3test.pm
+++ b/testcases/lib/i3test.pm
@@ -56,8 +56,12 @@ BEGIN {
 sub import {
     my $class = shift;
     my $pkg = caller;
-    eval "package $pkg;
-use Test::Most" . (@_ > 0 ? " qw(@_)" : "") . ";
+
+    my $test_most_args = @_ ? "qw(@_)" : "";
+    local $@;
+    eval << "__";
+package $pkg;
+use Test::Most $test_most_args;
 use Data::Dumper;
 use AnyEvent::I3;
 use Time::HiRes qw(sleep);
@@ -65,7 +69,9 @@ use Test::Deep qw(eq_deeply cmp_deeply cmp_set cmp_bag cmp_methods useclass nocl
 use v5.10;
 use strict;
 use warnings;
-";
+__
+    $tester->bail_out("$@") if $@;
+
     @_ = ($class);
     goto \&Exporter::import;
 }