X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FConfig.t;h=6e4b47cfa86578ec6ec0c20504e99782ef06997a;hb=11412ee612ee855f6157e78034024e8f5e3ba052;hp=c47519bc263af98eef8a9f50f9afb8be0e91fff7;hpb=484fdf61e8653b10160ba1e8011888f52ab6825a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/Config.t b/lib/Config.t index c47519b..6e4b47c 100644 --- a/lib/Config.t +++ b/lib/Config.t @@ -1,10 +1,12 @@ +#!./perl + BEGIN { chdir 't' if -d 't'; @INC = '../lib'; require "./test.pl"; } -plan tests => 23; +plan tests => 36; use_ok('Config'); @@ -16,6 +18,16 @@ ok(each %Config); is($Config{PERL_REVISION}, 5, "PERL_REVISION is 5"); +# Check that old config variable names are aliased to their new ones. +my %grandfathers = ( PERL_VERSION => 'PATCHLEVEL', + PERL_SUBVERSION => 'SUBVERSION', + PERL_CONFIG_SH => 'CONFIG' + ); +while( my($new, $old) = each %grandfathers ) { + isnt($Config{$new}, undef, "$new is defined"); + is($Config{$new}, $Config{$old}, "$new is aliased to $old"); +} + ok( exists $Config{cc}, "has cc"); ok( exists $Config{ccflags}, "has ccflags"); @@ -40,9 +52,20 @@ ok(exists $Config{ccflags_nolargefiles}, "has ccflags_nolargefiles"); # Utility functions. -like(Config::myconfig(), qr/cc='$Config{cc}'/, "myconfig"); +{ + # make sure we can export what we say we can export. + package Foo; + my @exports = qw(myconfig config_sh config_vars config_re); + Config->import(@exports); + foreach my $func (@exports) { + ::ok( __PACKAGE__->can($func), "$func exported" ); + } +} -like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh"); +like(Config::myconfig(), qr/osname=\Q$Config{osname}\E/, "myconfig"); +like(Config::config_sh(), qr/osname='\Q$Config{osname}\E'/, "config_sh"); +like(join("\n", Config::config_re('c.*')), + qr/^c.*?=/, 'config_re' ); my $out = tie *STDOUT, 'FakeOut'; @@ -56,7 +79,7 @@ $out->clear; untie *STDOUT; -like($out1, qr/^cc='$Config{cc}';/, "config_vars cc"); +like($out1, qr/^cc='\Q$Config{cc}\E';/, "config_vars cc"); like($out2, qr/^d_bork='UNKNOWN';/, "config_vars d_bork is UNKNOWN"); # Read-only. @@ -79,18 +102,25 @@ like($@, qr/Config is read-only/, "no CLEAR"); ok( exists $Config{d_fork}, "still d_fork"); -package FakeOut; +{ + package FakeOut; -sub TIEHANDLE { - bless(\(my $text), $_[0]); -} + sub TIEHANDLE { + bless(\(my $text), $_[0]); + } -sub clear { - ${ $_[0] } = ''; -} + sub clear { + ${ $_[0] } = ''; + } -sub PRINT { - my $self = shift; - $$self .= join('', @_); + sub PRINT { + my $self = shift; + $$self .= join('', @_); + } } +# Signal-related variables +# (this is actually a regression test for Configure.) + +is($Config{sig_num_init} =~ tr/,/,/, $Config{sig_size}, "sig_num_init size"); +is($Config{sig_name_init} =~ tr/,/,/, $Config{sig_size}, "sig_name_init size");