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=a2c0e0eda1e826c1d71303640cb78f82a2b999d0;hp=84ec53a20b488a6e288df206142ee4d314627cc3;hb=HEAD;hpb=aca34787762c57dcffa3ac918f7980a5bc5316e0 diff --git a/t/load_plugins.t b/t/load_plugins.t old mode 100755 new mode 100644 index 84ec53a..a2c0e0e --- a/t/load_plugins.t +++ b/t/load_plugins.t @@ -1,8 +1,9 @@ + use strict; use warnings; -use Test::More; -use Test::Warnings; +use Test::More 0.88; +use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use_ok('Devel::REPL'); @@ -38,24 +39,29 @@ 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) + or diag $@; } } done_testing; -