Subject: | Win32 Template::Provider.pm |
Date: | Mon, 31 Mar 2008 13:37:44 -0400 |
To: | bug-Template-Toolkit [...] rt.cpan.org |
From: | "Andrew Hamlin" <aahamlin [...] gmail.com> |
Found defect in handling of temp files in Template::Provider.pm.
Current (2.19) version uses $1, e.g. catfile($cdir, $1), when it
should use $wdir.
The affect is that on Win32 several tests fail because the temp path
becomes something like:
WDIR = C:\DOCUME~1\ahamlin\LOCALS~1\Temp\UbDXJKRfeR\C: at lib/Template/Provider.
pm line 390.
compile4.t, compile5.t, and unicode.t fail with an error similar to this:
Argument "Invalid argument; The filename, directory name, or volum..." isn't num
eric in scalar assignment at D:/usr/bin/perl-5.8/lib/File/Path.pm line 152.
mkdir C:\DOCUME~1\ahamlin\LOCALS~1\Temp\UbDXJKRfeR\C:.: Invalid argument; The fi
lename, directory name, or volume label syntax is incorrect at lib/Template/Prov
ider.pm line 391
# Looks like your test died before it could output anything.
t/unicode............... Dubious, test returned 255 (wstat 65280, 0xff00)
Here is the corrected line:
Lines: 386-387
$wdir = $1;
$wdir = File::Spec->catfile($cdir, $wdir);