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]
