summaryrefslogtreecommitdiff
path: root/t/test.pl
diff options
context:
space:
mode:
authorFather Chrysostomos <sprout@cpan.org>2012-08-30 16:40:48 -0700
committerFather Chrysostomos <sprout@cpan.org>2012-08-30 18:18:12 -0700
commitf12ade25b656371aa9c4ec20f48e785f031b811b (patch)
tree7f6a585ab63752c07100b62cd19aaad45a0b4dfe /t/test.pl
parent6b00f562eddf90e215cb117d990dd4595e072f29 (diff)
downloadperl-f12ade25b656371aa9c4ec20f48e785f031b811b.tar.gz
test.pl: Add skip_without_dynamic_extension
Diffstat (limited to 't/test.pl')
-rw-r--r--t/test.pl26
1 files changed, 19 insertions, 7 deletions
diff --git a/t/test.pl b/t/test.pl
index bd5ff3bc14..aee1d24aa7 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;