X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FConfig.t;h=922f8264fdab413c452c396572af406ef2c73301;hb=b595cd4b73a6e1bd45865d6446c34d4019c740d1;hp=540b3c853ccecbaa62e44bec10b7252657db14a7;hpb=d1888197290ee9e2faa25012d62b59909e6c3e32;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/Config.t b/lib/Config.t index 540b3c8..922f826 100644 --- a/lib/Config.t +++ b/lib/Config.t @@ -1,14 +1,16 @@ -#!./perl +#!./perl -w BEGIN { chdir 't' if -d 't'; @INC = '../lib'; require "./test.pl"; -} -plan 'no_plan'; + plan ('no_plan'); + + use_ok('Config'); +} -use_ok('Config'); +use strict; # Some (safe?) bets. @@ -126,27 +128,30 @@ Config::config_vars('?flags'); # bogus regex, no explicit warning ! my $out10 = $$out; $out->clear; +undef $out; untie *STDOUT; like($out1, qr/^cc='\Q$Config{cc}\E';/, "found config_var cc"); like($out2, qr/^d_bork='UNKNOWN';/, "config_var d_bork is UNKNOWN"); # test for leading, trailing colon effects -is(scalar split(/;\n/, $out3), 3, "3 lines found"); -is(scalar split(/;\n/, $out6), 3, "3 lines found"); +# Split in scalar context it deprecated, and will warn. +my @tmp; +is(scalar (@tmp = split(/;\n/, $out3)), 3, "3 lines found"); +is(scalar (@tmp = split(/;\n/, $out6)), 3, "3 lines found"); is($out4 =~ /(;\n)/s, '', "trailing colon gives 1-line response: $out4"); is($out5 =~ /(;\n)/s, '', "trailing colon gives 1-line response: $out5"); -is(scalar split(/=/, $out3), 4, "found 'tag='"); -is(scalar split(/=/, $out4), 4, "found 'tag='"); +is(scalar (@tmp = split(/=/, $out3)), 4, "found 'tag='"); +is(scalar (@tmp = split(/=/, $out4)), 4, "found 'tag='"); my @api; my @rev = @Config{qw(PERL_API_REVISION PERL_API_VERSION PERL_API_SUBVERSION)}; print ("# test tagged responses, multi-line and single-line\n"); -foreach $api ($out3, $out4) { +foreach my $api ($out3, $out4) { @api = $api =~ /PERL_API_(\w+)=(.*?)(?:;\n|\s)/mg; is($api[0], "REVISION", "REVISION tag"); is($api[4], "VERSION", "VERSION tag"); @@ -157,7 +162,7 @@ foreach $api ($out3, $out4) { } print("# test non-tagged responses, multi-line and single-line\n"); -foreach $api ($out5, $out6) { +foreach my $api ($out5, $out6) { @api = split /(?: |;\n)/, $api; is($api[0], "'$rev[0]'", "revision is $rev[0]"); is($api[2], "'$rev[1]'", "version is $rev[1]"); @@ -237,11 +242,12 @@ foreach my $pain ($first, @virtual) { # Check that config entries appear correctly in @INC # TestInit.pm has probably already messed with our @INC # This little bit of evil is to avoid a @ in the program, in case it confuses -# shell 1 liners. Perl 1 rules. +# shell 1 liners. We used to use a perl 1-ism, until that was deprecated, so +# now some octal in an eval. my ($path, $ver, @orig_inc) = split /\n/, runperl (nolib=>1, - prog=>'print qq{$^X\n$]\n}; print qq{$_\n} while $_ = shift INC'); + prog=>'print qq{$_\n} foreach $^X, $], eval qq{\100INC}'); die "This perl is $] at $^X; other perl is $ver (at $path) " . '- failed to find this perl' unless $] eq $ver;