5 # This tests properties of dual-life modules:
7 # * Are all dual-life programs being generated in utils/?
15 use File::Spec::Functions;
17 # Exceptions are found in dual-life bin dirs but aren't
18 # installed by default
19 my @not_installed = qw(
20 ../cpan/Encode/bin/ucm2table
21 ../cpan/Encode/bin/ucmlint
22 ../cpan/Encode/bin/ucmsort
23 ../cpan/Encode/bin/unidump
28 foreach (qw (podchecker podselect pod2usage)) {
29 $dist_dir_exe{lc "$_.PL"} = "../cpan/Pod-Parser/$_";
31 foreach (qw (pod2man pod2text)) {
32 $dist_dir_exe{lc "$_.PL"} = "../cpan/podlators/$_";
34 $dist_dir_exe{'pod2html.pl'} = '../ext/Pod-Html';
40 my $name = $File::Find::name;
41 return if $name =~ /blib/;
42 return unless $name =~ m{/(?:bin|scripts?)/\S+\z};
44 push @programs, $name;
46 qw( ../cpan ../dist ../ext ),
49 my $ext = $^O eq 'VMS' ? '.com' : '';
51 for my $f ( @programs ) {
52 $f =~ s/\.\z// if $^O eq 'VMS';
53 next if qr/(?i:$f)/ ~~ @not_installed;
55 if(qr/\A(?i:$f)\z/ ~~ %dist_dir_exe) {
56 ok( -f "$dist_dir_exe{lc $f}$ext", "$f$ext");
58 ok( -f catfile('..', 'utils', "$f$ext"), "$f$ext" );