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]