On Thu, 20 May 2004, Geoffrey Young wrote:

>
> > Hi Geoff,
>
> hey, it's been a while :)
>
> > -    ThreadsPerChild      20
> > +    ThreadsPerChild      25
>
> > allows the tests to start for me.
>
> hmm.  even with the (not yet existent) 2.0.50 fixed, we still support all
> the way back to 2.0.46.  if the tests don't even start for those versions
> then I suppose we ought to work around that.  so I'm ok with this.  just be
> sure to add something like
>
>   # BACK_COMPAT_MARKER - fixed as of 2.0.50
>
> so we can find it when it comes time to bump the minimum supported version.

Sounds good ....

> > However, I then find some failures due to a problem we
> > encountered before (occasionally) - on Win32, when comparing
> > two file names, sometimes the DOS short path name is
> > compared to the long path name. This doesn't arise for me
> > all the time, as it seems to depend on where it's unpacked.
>
> yet another funky win32 thing to increase hair loss, no doubt.

:)

> > In any case, a solution is to use t_catfile of
> > Apache::TestUtil, rather than catfile of File::Spec, in a
> > few places, as well as introduce an analagous t_canonpath -
> > these two functions do what the File::Spec counterparts do,
> > but for Win32 they convert the filename to a long path name,
> > if relevant.
>
> I find it strange, though, that File::Spec doesn't take
> care of this.  after all, isn't File::Spec supposed to be
> used for exactly this reason?  if I need to use
> Apache::TestUtil::t_catfile for tests in cross-platform
> CPAN modules then what's the point of File::Spec::catfile?
>
> not to increase your workload, but maybe File::Spec should
> be patched to account for the win32 differences for the
> greater good, rather than working around what appears to
> me to be a bug.

I'll ask about this, but I'm not sure if it would be
considered a bug - File::Spec simply works with what
it's given, whether it's a long or short path name.
For example, if I have the directory structure
   D:\a_long_dir\a_long_subdir
   D:\a_long_dir\a_long_subdir_1
then the script
=================================================
use strict;
use warnings;
use File::Spec::Functions qw(catdir);
my $d = 'a_long_dir';
my $d1 = 'a_long_subdir';
my $d2 = 'a_long~1';
my $r1 = catdir $d, $d1;
my $r2 = catdir $d, $d2;
print "\$r1 = $r1 and \$r2 = $r2\n";
=================================================
prints out
=================================================
$r1 = a_long_dir\a_long_subdir and $r2 = a_long_dir\a_long~1
=================================================
($r1 and $r2 represent the same directory). I think the
argument could be made that, if you pass in a long path name
to a File::Spec function, File::Spec shouldn't be converting
it to a short path name, and vice-versa. What may be a more
agreeable option is for File::Spec to have the equivalents
of t_catfile, t_canonpath, etc. that are advertised as
always returning the long path name - I imagine this problem
comes up in other contexts, so such functions may be useful
there. I'll let you know what happens ....

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to