X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-REPL.git;a=blobdiff_plain;f=t%2Fload_plugins.t;h=e7d165596791911b7bbe5488e1ae8a664b3aa801;hp=6c59e0509bab5cde739c846e77b127bc6631c41e;hb=85161343027e915efe3db3e09a54902e8afc831a;hpb=3e2f469563a4ab82207ae7861c08eb5f9b2130a8 diff --git a/t/load_plugins.t b/t/load_plugins.t index 6c59e05..e7d1655 100755 --- a/t/load_plugins.t +++ b/t/load_plugins.t @@ -1,10 +1,9 @@ + use strict; use warnings; use Test::More; - -use FindBin qw($Bin); -use lib "$Bin/../t/lib"; +use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use_ok('Devel::REPL'); @@ -40,24 +39,28 @@ Timing Turtles /; +# one $repl is shared: +# "Looks like the problem is that you can't open multiple instances of +# Term::ReadLine:Perl from the same object. I was able to correct this by +# changing the test to reuse the same Devel::REPL instance each time. This +# prevents the warning that causes the test to fail. I don't think this +# changes the spirit of the test, it's just a byproduct of how +# Term::ReadLine::Perl works." -- RT#84246 +my $repl = Devel::REPL->new; for my $plugin_name (@plugins) { test_load_plugin($plugin_name); } sub test_load_plugin { my ($plugin_name) = @_; - my $repl = Devel::REPL->new; my $test_name = "plugin $plugin_name loaded"; - eval "use Devel::REPL::Plugin::$plugin_name"; - unless($@) { - eval { $repl->load_plugin($plugin_name) }; - ok(!$@, $test_name); - } else { - SKIP: { - skip "could not eval plugin $plugin_name", 1; - } + + SKIP: { + eval "use Devel::REPL::Plugin::$plugin_name; 1" + or skip "could not eval plugin $plugin_name", 1; + + ok(eval { $repl->load_plugin($plugin_name); 1 }, $test_name); } } done_testing; -