diff options
Diffstat (limited to 't/00_diag.t')
-rw-r--r-- | t/00_diag.t | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/t/00_diag.t b/t/00_diag.t new file mode 100644 index 0000000..f913073 --- /dev/null +++ b/t/00_diag.t @@ -0,0 +1,91 @@ +use strict; +use warnings; +use Config; +use Test::More tests => 1; +BEGIN { + my @modules; + eval q{ + require FindBin; + require File::Spec; + 1; + } || die $@; + do { + my $fh; + if(open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.pre.txt'))) + { + @modules = <$fh>; + close $fh; + chomp @modules; + } + }; + eval qq{ require $_ } for @modules; +}; + +sub spacer () +{ + diag ''; + diag ''; + diag ''; +} + +pass 'okay'; + +my @modules; +do { + my $fh; + open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.txt')); + @modules = <$fh>; + close $fh; + chomp @modules; +}; + +my $max = 1; +$max = $_ > $max ? $_ : $max for map { length $_ } @modules; +our $format = "%-${max}s %s"; + +spacer; + +my @keys = sort grep /(MOJO|PERL|\A(LC|HARNESS)_|\A(SHELL|LANG)\Z)/i, keys %ENV; + +if(@keys > 0) +{ + diag "$_=$ENV{$_}" for @keys; + + if($ENV{PERL5LIB}) + { + spacer; + diag "PERL5LIB path"; + diag $_ for split $Config{path_sep}, $ENV{PERL5LIB}; + + } + elsif($ENV{PERLLIB}) + { + spacer; + diag "PERLLIB path"; + diag $_ for split $Config{path_sep}, $ENV{PERLLIB}; + } + + spacer; +} + +diag sprintf $format, 'perl ', $^V; + +require(File::Spec->catfile($FindBin::Bin, '00_diag.pl')) + if -e File::Spec->catfile($FindBin::Bin, '00_diag.pl'); + +foreach my $module (@modules) +{ + if(eval qq{ require $module; 1 }) + { + my $ver = eval qq{ \$$module\::VERSION }; + $ver = 'undef' unless defined $ver; + diag sprintf $format, $module, $ver; + } + else + { + diag sprintf $format, $module, '-'; + } +} + +spacer; + |