X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class.git;a=blobdiff_plain;f=t%2F54taint.t;h=db350d77e834942fbc17221319b1045e88654dd3;hp=c3df11fd2115be4ee2ad072b5b5f3c921743f32a;hb=f54428abf9cc7d7e5604745335694eaf558f6820;hpb=494b5561c3df99acd3b52a8ad320669b93b7f90e diff --git a/t/54taint.t b/t/54taint.t index c3df11f..db350d7 100644 --- a/t/54taint.t +++ b/t/54taint.t @@ -1,45 +1,54 @@ -#!perl -T +#!/usr/bin/env perl -T # the above line forces Test::Harness into taint-mode +# DO NOT REMOVE use strict; use warnings; use Test::More; -BEGIN { plan tests => 7 } +use Test::Exception; +use lib qw(t/lib); -package DBICTest::Taint::Classes; +throws_ok ( + sub { $ENV{PATH} . (kill (0)) }, + qr/Insecure dependency in kill/, + 'taint mode active' +); -use Test::More; -use Test::Exception; +{ + package DBICTest::Taint::Classes; -use lib qw(t/lib); -use base qw/DBIx::Class::Schema/; + use Test::More; + use Test::Exception; -lives_ok (sub { - __PACKAGE__->load_classes(qw/Manual/); - ok( __PACKAGE__->source('Manual'), 'The Classes::Manual source has been registered' ); - __PACKAGE__->_unregister_source (qw/Manual/); -}, 'Loading classes with explicit load_classes worked in taint mode' ); + use base qw/DBIx::Class::Schema/; -lives_ok (sub { - __PACKAGE__->load_classes(); - ok( __PACKAGE__->source('Auto'), 'The Classes::Auto source has been registered' ); - ok( __PACKAGE__->source('Auto'), 'The Classes::Manual source has been re-registered' ); -}, 'Loading classes with Module::Find/load_classes worked in taint mode' ); + lives_ok (sub { + __PACKAGE__->load_classes(qw/Manual/); + ok( __PACKAGE__->source('Manual'), 'The Classes::Manual source has been registered' ); + __PACKAGE__->_unregister_source (qw/Manual/); + }, 'Loading classes with explicit load_classes worked in taint mode' ); + lives_ok (sub { + __PACKAGE__->load_classes(); + ok( __PACKAGE__->source('Auto'), 'The Classes::Auto source has been registered' ); + ok( __PACKAGE__->source('Auto'), 'The Classes::Manual source has been re-registered' ); + }, 'Loading classes with Module::Find/load_classes worked in taint mode' ); +} -package DBICTest::Taint::Namespaces; +{ + package DBICTest::Taint::Namespaces; -use Test::More; -use Test::Exception; + use Test::More; + use Test::Exception; -use lib qw(t/lib); -use base qw/DBIx::Class::Schema/; + use base qw/DBIx::Class::Schema/; -lives_ok (sub { - __PACKAGE__->load_namespaces(); - ok( __PACKAGE__->source('Test'), 'The Namespaces::Test source has been registered' ); -}, 'Loading classes with Module::Find/load_namespaces worked in taint mode' ); + lives_ok (sub { + __PACKAGE__->load_namespaces(); + ok( __PACKAGE__->source('Test'), 'The Namespaces::Test source has been registered' ); + }, 'Loading classes with Module::Find/load_namespaces worked in taint mode' ); +} -1; +done_testing;