On Mon Sep 10 10:53:43 2007, [EMAIL PROTECTED] wrote: > > Is the chance that $prefix ends in slash-newline sufficiently rare > that the $ > anchor is better than \z? >
You mean, for the first time in 7-1/2 years of doing Perl, I'm going to have to learn what the \z modifier does? c: you sure know how to hurt a guy! Please evaluate the patch attached, which renames one test file, adds another test file, and revises config/init/install.pm. Can we get some tests on Win32 as well? And how about that Mac OS 9? kid51
Index: MANIFEST =================================================================== --- MANIFEST (revision 21176) +++ MANIFEST (working copy) @@ -1,7 +1,7 @@ # ex: set ro: # $Id$ # -# generated by tools/dev/mk_manifest_and_skip.pl Mon Sep 10 22:33:35 2007 UT +# generated by tools/dev/mk_manifest_and_skip.pl Tue Sep 11 01:21:18 2007 UT # # See tools/dev/install_files.pl for documentation on the # format of this file. @@ -2923,7 +2923,8 @@ t/configure/101-init_manifest.02.t [] t/configure/102-init_defaults.01.t [] t/configure/102-init_defaults.02.t [] -t/configure/103-init_install.t [] +t/configure/103-init_install.01.t [] +t/configure/103-init_install.02.t [] t/configure/104-init_miniparrot.t [] t/configure/105-init_hints.01.t [] t/configure/105-init_hints.02.t [] Index: t/configure/103-init_install.t =================================================================== --- t/configure/103-init_install.t (revision 21176) +++ t/configure/103-init_install.t (working copy) @@ -1,107 +0,0 @@ -#! perl -# Copyright (C) 2007, The Perl Foundation. -# $Id$ -# 103-init_install.t - -use strict; -use warnings; -use Test::More tests => 19; -use Carp; -use Cwd; -use Data::Dumper; -use File::Temp qw(tempdir); -use lib qw( lib t/configure/testlib ); -use Parrot::Configure; -use Parrot::Configure::Options qw( process_options ); -use_ok('config::init::install'); -use Parrot::Configure::Test qw( test_step_thru_runstep); - -my $cwd = cwd(); -{ - my $tdir = tempdir(); - my $tdir1 = tempdir(); - my $args = process_options( { - argv => [ - qq{--prefix=$tdir}, - qq{--exec-prefix=$tdir}, - qq{--bindir=$tdir1}, - qq{--sbindir=$tdir1}, - qq{--libexecdir=$tdir1}, - qq{--datadir=$tdir1}, - qq{--sysconfdir=$tdir1}, - qq{--sharedstatedir=$tdir1}, - qq{--localstatedir=$tdir1}, - qq{--libdir=$tdir1}, - qq{--includedir=$tdir1}, - qq{--oldincludedir=$tdir1}, - qq{--infodir=$tdir1}, - qq{--mandir=$tdir1}, - ], - mode => q{configure}, - } ); - - my $conf = Parrot::Configure->new; - test_step_thru_runstep($conf, q{init::install}, $args); - - is($conf->data->get('prefix'), $tdir, - "--prefix option confirmed"); - is($conf->data->get('exec_prefix'), $tdir, - "--exec-prefix option confirmed"); - is($conf->data->get('bindir'), $tdir1, - "--bindir option confirmed"); - is($conf->data->get('sbindir'), $tdir1, - "--sbindir option confirmed"); - is($conf->data->get('libexecdir'), $tdir1, - "--libexecdir option confirmed"); - is($conf->data->get('datadir'), $tdir1, - "--datadir option confirmed"); - is($conf->data->get('sharedstatedir'), $tdir1, - "--sharedstatedir option confirmed"); - is($conf->data->get('localstatedir'), $tdir1, - "--localstatedir option confirmed"); - is($conf->data->get('libdir'), $tdir1, - "--libdir option confirmed"); - is($conf->data->get('includedir'), $tdir1, - "--includedir option confirmed"); - is($conf->data->get('oldincludedir'), $tdir1, - "--oldincludedir option confirmed"); - is($conf->data->get('infodir'), $tdir1, - "--infodir option confirmed"); - is($conf->data->get('mandir'), $tdir1, - "--mandir option confirmed"); -} - -pass("Completed all tests in $0"); - -################### DOCUMENTATION ################### - -=head1 NAME - -103-init_install.t - test config::init::install - -=head1 SYNOPSIS - - % prove t/configure/103-init_install.t - -=head1 DESCRIPTION - -The files in this directory test functionality used by F<Configure.pl>. - -The tests in this file test subroutines exported by config::init::install. - -=head1 AUTHOR - -James E Keenan - -=head1 SEE ALSO - -config::init::install, F<Configure.pl>. - -=cut - -# Local Variables: -# mode: cperl -# cperl-indent-level: 4 -# fill-column: 100 -# End: -# vim: expandtab shiftwidth=4: Index: t/configure/103-init_install.02.t =================================================================== --- t/configure/103-init_install.02.t (revision 0) +++ t/configure/103-init_install.02.t (revision 0) @@ -0,0 +1,109 @@ +#! perl +# Copyright (C) 2007, The Perl Foundation. +# $Id$ +# 103-init_install.02.t + +use strict; +use warnings; +use Test::More tests => 19; +use Carp; +use Cwd; +use Data::Dumper; +use File::Temp qw(tempdir); +use lib qw( lib t/configure/testlib ); +use Parrot::Configure; +use Parrot::Configure::Options qw( process_options ); +use_ok('config::init::install'); +use Parrot::Configure::Test qw( test_step_thru_runstep); + +my $cwd = cwd(); +{ + my $tdir = tempdir(); + my $tdir_orig = $tdir; + $tdir .= q{/}; + my $tdir1 = tempdir(); + my $args = process_options( { + argv => [ + qq{--prefix=$tdir}, + qq{--exec-prefix=$tdir}, + qq{--bindir=$tdir1}, + qq{--sbindir=$tdir1}, + qq{--libexecdir=$tdir1}, + qq{--datadir=$tdir1}, + qq{--sysconfdir=$tdir1}, + qq{--sharedstatedir=$tdir1}, + qq{--localstatedir=$tdir1}, + qq{--libdir=$tdir1}, + qq{--includedir=$tdir1}, + qq{--oldincludedir=$tdir1}, + qq{--infodir=$tdir1}, + qq{--mandir=$tdir1}, + ], + mode => q{configure}, + } ); + + my $conf = Parrot::Configure->new; + test_step_thru_runstep($conf, q{init::install}, $args); + + is($conf->data->get('prefix'), $tdir_orig, + "--prefix option confirmed; trailing slash stripped"); + is($conf->data->get('exec_prefix'), $tdir_orig, + "--exec-prefix option confirmed; trailing slash stripped"); + is($conf->data->get('bindir'), $tdir1, + "--bindir option confirmed"); + is($conf->data->get('sbindir'), $tdir1, + "--sbindir option confirmed"); + is($conf->data->get('libexecdir'), $tdir1, + "--libexecdir option confirmed"); + is($conf->data->get('datadir'), $tdir1, + "--datadir option confirmed"); + is($conf->data->get('sharedstatedir'), $tdir1, + "--sharedstatedir option confirmed"); + is($conf->data->get('localstatedir'), $tdir1, + "--localstatedir option confirmed"); + is($conf->data->get('libdir'), $tdir1, + "--libdir option confirmed"); + is($conf->data->get('includedir'), $tdir1, + "--includedir option confirmed"); + is($conf->data->get('oldincludedir'), $tdir1, + "--oldincludedir option confirmed"); + is($conf->data->get('infodir'), $tdir1, + "--infodir option confirmed"); + is($conf->data->get('mandir'), $tdir1, + "--mandir option confirmed"); +} + +pass("Completed all tests in $0"); + +################### DOCUMENTATION ################### + +=head1 NAME + +103-init_install.02.t - test config::init::install + +=head1 SYNOPSIS + + % prove t/configure/103-init_install.02.t + +=head1 DESCRIPTION + +The files in this directory test functionality used by F<Configure.pl>. + +The tests in this file test subroutines exported by config::init::install. + +=head1 AUTHOR + +James E Keenan + +=head1 SEE ALSO + +config::init::install, F<Configure.pl>. + +=cut + +# Local Variables: +# mode: cperl +# cperl-indent-level: 4 +# fill-column: 100 +# End: +# vim: expandtab shiftwidth=4: Property changes on: t/configure/103-init_install.02.t ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native Index: config/init/install.pm =================================================================== --- config/init/install.pm (revision 21176) +++ config/init/install.pm (working copy) @@ -66,7 +66,9 @@ my ( $self, $conf ) = @_; my $prefix = $conf->options->get('prefix') || "/usr/local"; + $prefix =~ s{/\z}{}; my $ep = $conf->options->get('exec-prefix'); + $ep =~ s{/\z}{} if defined $ep; my $eprefix = $ep ? $ep : $prefix; # --bindir=DIR user executables [EPREFIX/bin]