From f12ade25b656371aa9c4ec20f48e785f031b811b Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Thu, 30 Aug 2012 16:40:48 -0700 Subject: [PATCH] test.pl: Add skip_without_dynamic_extension --- t/test.pl | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/t/test.pl b/t/test.pl index bd5ff3b..aee1d24 100644 --- a/t/test.pl +++ b/t/test.pl @@ -109,6 +109,16 @@ sub _comment { map { split /\n/ } @_; } +sub _have_dynamic_extension { + my $extension = shift; + unless (eval {require Config; 1}) { + warn "test.pl had problems loading Config: $@"; + return 1; + } + $extension =~ s!::!/!g; + return 1 if ($Config::Config{extensions} =~ /\b$extension\b/); +} + sub skip_all { if (@_) { _print "1..0 # Skip @_\n"; @@ -123,14 +133,9 @@ sub skip_all_if_miniperl { } sub skip_all_without_dynamic_extension { - my $extension = shift; + my ($extension) = @_; skip_all("no dynamic loading on miniperl, no $extension") if is_miniperl(); - unless (eval {require Config; 1}) { - warn "test.pl had problems loading Config: $@"; - return; - } - $extension =~ s!::!/!g; - return if ($Config::Config{extensions} =~ /\b$extension\b/); + return if &_have_dynamic_extension; skip_all("$extension was not built"); } @@ -454,6 +459,13 @@ sub skip_if_miniperl { skip(@_) if is_miniperl(); } +sub skip_without_dynamic_extension { + my ($extension) = @_; + skip("no dynamic loading on miniperl, no $extension") if is_miniperl(); + return if &_have_dynamic_extension; + skip_all("$extension was not built"); +} + sub todo_skip { my $why = shift; my $n = @_ ? shift : 1; -- 2.7.4