[cgiapp] Test Failures with CGI::Application::Plugin::TT
Ron Savage
ron at savage.net.au
Mon Mar 10 02:02:56 EDT 2008
Hi Cees
On Mon, 2008-03-10 at 11:36 +1100, Cees Hek wrote:
> Hi Michael,
>
> I knew about these problems already because of the amazing CPAN
> testers. However, I was waiting for someone to pipe up that might
> help me in solving the problems :)
>
> The first two problems look to be cosmetic issues in Template Toolkit
> (ie it is using the wrong path separator on windows). My guess is
> that this doesn't actually cause any problems, but we should be able
> to fix the test suite to account for it.
It's a bug in Template.
See line 213 of Template::Provider.pm, where a hard-coded '/' explains
why that happens. I did not log a report on RT, but you can after
cross-checking my claim :-)).
> Like you said, the third problem looks like it could be an issue
> (although it is only an issue with the new precompile feature, so
> upgrading on windows should still be safe if you avoid that new
> feature). I don't have a windows box to play with so there is not
> much I can do to fix this. I would appreciate if someone could take a
> few minutes to do some debugging. A patch would be greatly
> appreciated, and/or SVN access to my CAP::TT repo can be organized for
> anyone willing to put in a bit of time to fix this problem.
If you put these lines in 09_precompile_dir.t just after line 33 you'll
see there is no key 'HEAD' in the hash.
print "SERVICE: $$tt{SERVICE}. \n";
print "CONTEXT: $$tt{SERVICE}{CONTEXT}. \n";
print "LOAD_TEMPLATES: $$tt{SERVICE}{CONTEXT}{LOAD_TEMPLATES}. \n";
print "[0]: $$tt{SERVICE}{CONTEXT}{LOAD_TEMPLATES}[0]. \n";
print "HEAD: $$tt{SERVICE}{CONTEXT}{LOAD_TEMPLATES}[0]{HEAD}.
\n";
print "KEYS: \n",
map{"$_ => $$tt{SERVICE}{CONTEXT}{LOAD_TEMPLATES}[0]{$_}. \n"} sort keys
%{$$tt{SERVICE}{CONTEXT}{LOAD_TEMPLATES}[0]};
Output:
C:\perl.modules\CGI-Application-Plugin-TT-1.04>perl -Ilib t
\09_precompile_dir.t
1..6
tt_dir: t\include1\TestAppIncludePath.
file: C:\perl.modules\CGI-Application-Plugin-TT-1.04\t\include1
\TestAppIncludePath\test_mode.tmpl.
SERVICE: Template::Service=HASH(0xc4609c).
CONTEXT: Template::Context=HASH(0xc71344).
LOAD_TEMPLATES: ARRAY(0xc716e4).
[0]: Template::Provider=HASH(0xc715a4).
HEAD: .
KEYS:
=> .
0 => .
ABSOLUTE => 1.
COMPILE_DIR => .
COMPILE_EXT => .
DEBUG => 0.
DEFAULT => .
DELIMITER => :(?!\/).
DOCUMENT => Template::Document.
ENCODING => .
INCLUDE_PATH => ARRAY(0xc71544).
LOOKUP => HASH(0xc71534).
NOTFOUND => HASH(0xc71564).
PARAMS => HASH(0xc45cbc).
PARSER => .
RELATIVE => 0.
SIZE => .
SLOTS => 0.
STAT_TTL => 1.
TOLERANT => 0.
UNICODE => 1.
_ERROR => .
not ok 1 - file is cached
# Failed test 'file is cached'
# at t\09_precompile_dir.t line 41.
# got: undef
# expected: 'C:\perl.modules\CGI-Application-Plugin-TT-1.04\t
\include1\TestAppIncludePath\test_mode.tmpl'
# Looks like you planned 6 tests but only ran 1.
# Looks like you failed 1 test of 1 run.
HTH.
--
Ron Savage
ron at savage.net.au
http://savage.net.au/index.html
More information about the cgiapp
mailing list