From 07edf5e4760c25baedc1e911221802918744d8f1 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 30 Aug 2016 01:39:07 -0400 Subject: use a consistent implementation of output_like not all of them were passing along @INC --- t/detect.t | 17 ++--------------- t/eval.t | 14 ++------------ t/html.t | 14 ++------------ t/lib/TestHelpers.pm | 26 ++++++++++++++++++++++++++ t/term.t | 14 ++------------ 5 files changed, 34 insertions(+), 51 deletions(-) create mode 100644 t/lib/TestHelpers.pm diff --git a/t/detect.t b/t/detect.t index ad03dcc..feaea1c 100644 --- a/t/detect.t +++ b/t/detect.t @@ -2,21 +2,8 @@ use strict; use warnings; use Test::More; -BEGIN { - eval "use IO::Pty::Easy;"; - plan skip_all => "IO::Pty::Easy is required for this test" if $@; -} -use B; - -sub output_like { - local $Test::Builder::Level = $Test::Builder::Level + 1; - my ($script, $expected, $desc) = @_; - my $pty = IO::Pty::Easy->new; - my $inc = '(' . join(',', map { B::perlstring($_) } @INC) . ')'; - $script = "BEGIN { \@INC = $inc }$script"; - $pty->spawn("$^X", "-e", $script); - like($pty->read, $expected, $desc); -} +use lib 't/lib'; +use TestHelpers 'output_like'; output_like(< "IO::Pty::Easy is required for this test" if $@; -} - -sub output_like { - local $Test::Builder::Level = $Test::Builder::Level + 1; - my ($script, $expected, $desc) = @_; - my $pty = IO::Pty::Easy->new; - $pty->spawn("$^X", "-e", $script); - like($pty->read, $expected, $desc); -} +use lib 't/lib'; +use TestHelpers 'output_like'; output_like(< "IO::Pty::Easy is required for this test" if $@; -} - -sub output_like { - local $Test::Builder::Level = $Test::Builder::Level + 1; - my ($script, $expected, $desc) = @_; - my $pty = IO::Pty::Easy->new; - $pty->spawn("$^X", "-e", $script); - like($pty->read, $expected, $desc); -} +use lib 't/lib'; +use TestHelpers 'output_like'; output_like(< "IO::Pty::Easy is required for this test" + } +} + +use B; +use Exporter 'import'; + +our @EXPORT_OK = qw(output_like); + +sub output_like { + local $Test::Builder::Level = $Test::Builder::Level + 1; + my ($script, $expected, $desc) = @_; + my $pty = IO::Pty::Easy->new; + my $inc = '(' . join(',', map { B::perlstring($_) } @INC) . ')'; + $script = "BEGIN { \@INC = $inc }$script"; + $pty->spawn("$^X", "-e", $script); + Test::More::like($pty->read, $expected, $desc); +} + +1; diff --git a/t/term.t b/t/term.t index f8af0b3..c2db4c7 100644 --- a/t/term.t +++ b/t/term.t @@ -2,18 +2,8 @@ use strict; use warnings; use Test::More; -BEGIN { - eval "use IO::Pty::Easy;"; - plan skip_all => "IO::Pty::Easy is required for this test" if $@; -} - -sub output_like { - local $Test::Builder::Level = $Test::Builder::Level + 1; - my ($script, $expected, $desc) = @_; - my $pty = IO::Pty::Easy->new; - $pty->spawn("$^X", "-e", $script); - like($pty->read, $expected, $desc); -} +use lib 't/lib'; +use TestHelpers 'output_like'; output_like(<