xref: /openbsd-src/gnu/usr.bin/perl/cpan/Module-Metadata/t/taint.t (revision e5157e49389faebcb42b7237d55fbf096d9c2523)
1#!/usr/bin/perl -T
2use strict;
3use warnings;
4
5use 5.008000;   # for ${^TAINT}
6use Test::More tests => 2;
7use Module::Metadata;
8use Carp 'croak';
9
10# stolen liberally from Class-Tiny/t/lib/TestUtils.pm - thanks xdg!
11sub exception(&) {
12    my $code = shift;
13    my $success = eval { $code->(); 1 };
14    my $err = $@;
15    return undef if $success;   # original returned ''
16    croak "Execution died, but the error was lost" unless $@;
17    return $@;
18}
19
20ok(${^TAINT}, 'taint flag is set');
21
22# without the fix, we get:
23# Insecure dependency in eval while running with -T switch at lib/Module/Metadata.pm line 668, <GEN0> line 15.
24is(
25    exception { Module::Metadata->new_from_module( "Module::Metadata" )->version },
26    undef,
27    'no exception',
28);
29
30