summaryrefslogtreecommitdiff
path: root/t/00_diag.t
diff options
context:
space:
mode:
Diffstat (limited to 't/00_diag.t')
-rw-r--r--t/00_diag.t91
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;
+