[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