develooper Front page | perl.perl5.porters | Postings from June 2013

[perl #109760] Cwd's pure perl abs_path and its test disagree on what's ok

Thread Previous
From:
James E Keenan via RT
Date:
June 14, 2013 02:22
Subject:
[perl #109760] Cwd's pure perl abs_path and its test disagree on what's ok
Message ID:
rt-3.6.HEAD-2552-1371176511-306.109760-15-0@perl.org
On Thu Jun 13 13:10:46 2013, gottreu wrote:
> 
> This is a bug report for perl from gottreu@gmail.com,
> generated with the help of perlbug 1.39 running under perl 5.19.1.
> 
> From 5f28c1a5e9dd996eeec4fc4aade74a400a3af87e Mon Sep 17 00:00:00 2001
> From: Brian Gottreu <gottreu@gmail.com>
> Date: Thu, 13 Jun 2013 14:33:36 -0500
> Subject: [PATCH] Skip _perl_abs_path() tests when they will fail with
> no ill
>  effects
> MIME-Version: 1.0
> Content-Type: multipart/mixed; boundary="------------1.7.10.4"
> 
> This is a multi-part message in MIME format.
> --------------1.7.10.4
> Content-Type: text/plain; charset=UTF-8; format=fixed
> Content-Transfer-Encoding: 8bit
> 
> ---
>  AUTHORS          |    1 +
>  dist/Cwd/t/cwd.t |   11 +++++++++++
>  2 files changed, 12 insertions(+)
> 
> 
> --------------1.7.10.4
> Content-Type: text/x-patch; name="0001-Skip-_perl_abs_path-tests-when-
> they-will-fail-with-n.patch"
> Content-Transfer-Encoding: 8bit
> Content-Disposition: attachment; filename="0001-Skip-_perl_abs_path-
> tests-when-they-will-fail-with-n.patch"
> 
> diff --git a/AUTHORS b/AUTHORS
> index 44f52e2..b00e7e5 100644
> --- a/AUTHORS
> +++ b/AUTHORS
> @@ -163,6 +163,7 @@ Brian Carlson			<brian.carlson@cpanel.net>
>  Brian Clarke			<clarke@appliedmeta.com>
>  brian d foy			<brian.d.foy@gmail.com>
>  Brian Fraser			<fraserbn@gmail.com>
> +Brian Gottreu			<gottreu@gmail.com>
>  Brian Greenfield		<briang@cpan.org>
>  Brian Grossman
>  Brian Harrison			<brie@corp.home.net>
> diff --git a/dist/Cwd/t/cwd.t b/dist/Cwd/t/cwd.t
> index f7b03ed..3c83855 100644
> --- a/dist/Cwd/t/cwd.t
> +++ b/dist/Cwd/t/cwd.t
> @@ -40,6 +40,17 @@ my $tests = 31;
>  # _perl_abs_path() currently only works when the directory separator
>  # is '/', so don't test it when it won't work.
>  my $EXTRA_ABSPATH_TESTS = ($Config{prefix} =~ m/\//) && $^O ne
> 'cygwin';
> +# _perl_abs_path() uses readdir() on all the directories in the path
> +# passed to it.  If perl is built under /home (for example) and /home
> is
> +# set to executable but not readable, then the extra abspath tests
> will
> +# fail even though the perl built is perfectly fine.
> +if($EXTRA_ABSPATH_TESTS) {
> +    my @dirs = File::Spec->splitdir(cwd());
> +    for(0..$#dirs) {
> +        my $parent_dir = File::Spec->catdir(@dirs[0..$_]);
> +        $EXTRA_ABSPATH_TESTS = 0 unless -r $parent_dir;
> +    }
> +}
>  $tests += 4 if $EXTRA_ABSPATH_TESTS;
>  plan tests => $tests;
> 
> 

Thanks for the patch.  Can you elaborate a bit as to how it addresses
the issues raised in the earlier posts in this RT?

Thank you very much.
Jim Keenan


---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=109760

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About