############################### TESTER COMMENTS ###############################
If you try to install CGI::PSGI with Strawberry Perl 5.14.4 on Windows 7,
you may come accross message like:
Error in tempfile() using template \XXXXXXXXXX: Could not create temp file...
and CGI::PSGI's test may fail at t/upload.t.
SEE ALSO:
Bug #60340 for File-Temp: Fails under -T, Windows 7, Strawberry Perl 5.12.1
https://rt.cpan.org/Public/Bug/Display.html?id=103452
[My Workaround]
C:\home\heaven>mkdir c:\temp
C:\home\heaven>cpan CGI::PSGI
(snip)
################################################################################
C:\home\heaven>cd CGI-Snapp-master
C:\home\heaven\CGI-Snapp-master>echo %PERL5LIB%
C:\home\heaven\perl5\lib\perl5
C:\home\heaven\CGI-Snapp-master>prove -v --lib t
t\forward.t ...
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::ForwardTest.setup()
add_callback(forward_prerun, ...)
mode_param(...)
_query(CGI=HASH(0x214f80c))
run_modes(...)
start_mode(first_r_m)
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_r_m
call_hook(prerun, ...)
cgiapp_prerun()
_generate_output()
run_modes(...)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 1 - Run mode first_sub returned its name
get_current_runmode()
ok 2 - Get run mode 'first_r_m'
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::ForwardTest.setup()
add_callback(forward_prerun, ...)
mode_param(...)
_query(CGI=HASH(0x2152d54))
run_modes(...)
start_mode(second_rm)
run()
_determine_output()
_query()
_query()
_determine_run_mode() => second_rm
call_hook(prerun, ...)
cgiapp_prerun()
_generate_output()
run_modes(...)
CGI::Snapp::ForwardTest.second_sub()
forward(third_rm, ...)
call_hook(forward_prerun, ...)
CGI::Snapp::ForwardTest.fourth_sub()
_generate_output()
run_modes(...)
CGI::Snapp::ForwardTest.third_sub()
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 3 - Run mode third_sub returned its name
get_current_runmode()
ok 4 - Got run mode 'third_rm' after forward()
1..4
ok
t\redirect.t ..
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::RedirectTest.setup()
add_callback(prerun, ...)
mode_param(...)
_query(CGI=HASH(0x213f334))
run_modes(...)
start_mode(first_rm)
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_rm
call_hook(prerun, ...)
CGI::Snapp::RedirectTest.cgiapp_prerun()
param(...)
_generate_output()
run_modes(...)
CGI::Snapp::RedirectTest.first_sub()
param(...)
param(...)
param(...)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 1 - Run mode first_sub returned its name
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::RedirectTest.setup()
add_callback(prerun, ...)
mode_param(...)
_query(CGI=HASH(0x21417e4))
run_modes(...)
start_mode(first_rm)
param(...)
ok 2 - PARAMS => {test.prerun.mode => 1} worked
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_rm
call_hook(prerun, ...)
CGI::Snapp::RedirectTest.cgiapp_prerun()
param(...)
redirect(
http://first.net.au/, ...)
run_modes(...)
prerun_mode(dummy_redirect)
header_add(...)
header_type(redirect)
_generate_output()
run_modes(...)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 3 - redirect(
http://first.net.au/) during cgiapp_prerun() worked
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::RedirectTest.setup()
add_callback(prerun, ...)
mode_param(...)
_query(CGI=HASH(0x21f5804))
run_modes(...)
start_mode(first_rm)
param(...)
ok 4 - PARAMS => {test.without.status => 1} worked
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_rm
call_hook(prerun, ...)
CGI::Snapp::RedirectTest.cgiapp_prerun()
param(...)
_generate_output()
run_modes(...)
CGI::Snapp::RedirectTest.first_sub()
param(...)
param(...)
redirect(
http://second.net.au/, ...)
header_add(...)
header_type(redirect)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 5 - Check url: redirect(
http://second.net.au/) without a status worked
ok 6 - Check default status: redirect('
http://second.net.au/') without a status worked
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::RedirectTest.setup()
add_callback(prerun, ...)
mode_param(...)
_query(CGI=HASH(0x21f3c14))
run_modes(...)
start_mode(first_rm)
param(...)
ok 7 - PARAMS => {test.with.status => 1} worked
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_rm
call_hook(prerun, ...)
CGI::Snapp::RedirectTest.cgiapp_prerun()
param(...)
_generate_output()
run_modes(...)
CGI::Snapp::RedirectTest.first_sub()
param(...)
param(...)
param(...)
redirect(
http://third.net.au/, ...)
header_add(...)
header_type(redirect)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 8 - Check url: redirect(
http://third.net.au/) with a status worked
ok 9 - Check explicit status: redirect('
http://third.net.au/', '301 Moved Permanently') with a status worked
call_hook(init, ...)
cgiapp_init()
CGI::Snapp::RedirectTest.setup()
add_callback(prerun, ...)
mode_param(...)
_query(CGI=HASH(0x21f3b74))
run_modes(...)
start_mode(first_rm)
param(...)
ok 10 - PARAMS => {test.local.url => 1} worked
run()
_determine_output()
_query()
_query()
_determine_run_mode() => first_rm
call_hook(prerun, ...)
CGI::Snapp::RedirectTest.cgiapp_prerun()
param(...)
_generate_output()
run_modes(...)
CGI::Snapp::RedirectTest.first_sub()
param(...)
redirect(login.html, ...)
header_add(...)
header_type(redirect)
call_hook(postrun, ...)
cgiapp_postrun()
_determine_cgi_header()
_query()
header_type()
header_props(...)
call_hook(teardown, ...)
teardown()
ok 11 - Check url: redirect(login.html) without a status worked
ok 12 - Check default status: redirect(login.html) without a status worked
1..12
ok
t\test.t ......
ok 1 - run() in basic.pl returned real data
ok 2 - basic.pl ran 4 tests
ok 3 - run() in callbacks.pl returned real data
ok 4 - callbacks.pl ran 13 tests
ok 5 - run() in defaults.pl returned real data
ok 6 - defaults.pl ran 6 tests
ok 7 - run() in headers.pl returned real data
ok 8 - headers.pl ran 17 tests
ok 9 - run() in hook.tests.pl returned real data
ok 10 - hook.tests.pl ran 16 tests
ok 11 - run() in isa.pl returned real data
ok 12 - isa.pl ran 1 test
ok 13 - run() in overrides.pl returned real data
ok 14 - overrides.pl ran 2 tests
# Start test 1
# --------------------
# []
# --------------------
# []
# --------------------
# Start test 2
# --------------------
# [
# 1,
# 2,
# "one",
# "two"
# ]
# --------------------
# [
# 1,
# 2,
# "one",
# "two"
# ]
# --------------------
# Start test 3
# --------------------
# []
# --------------------
# []
# --------------------
# Start test 4
# --------------------
# [
# 1,
# 2,
# "one",
# "two"
# ]
# --------------------
# [
# 1,
# 2,
# "one",
# "two"
# ]
# --------------------
# Start test 5
# --------------------
# []
# --------------------
# []
# --------------------
# Start test 6
# --------------------
# 5
# --------------------
# 5
# --------------------
# Start test 7
# --------------------
# 5
# --------------------
# 5
# --------------------
# Start test 8
# --------------------
# [
# 1,
# 2,
# 3,
# 4,
# 5,
# "five",
# "four",
# "one",
# "three",
# "two"
# ]
# --------------------
# [
# 1,
# 2,
# 3,
# 4,
# 5,
# "five",
# "four",
# "one",
# "three",
# "two"
# ]
# --------------------
# Start test 9
# --------------------
# 5
# --------------------
# 5
# --------------------
# Start test 10
# --------------------
# undef
# --------------------
# undef
# --------------------
# Start test 11
# --------------------
# undef
# --------------------
# undef
# --------------------
# Start test 12
# --------------------
# [
# 6,
# 7,
# "seven",
# "six"
# ]
# --------------------
# [
# 6,
# 7,
# "seven",
# "six"
# ]
# --------------------
ok 15 - run() in params.pl returned real data
ok 16 - params.pl ran 12 tests
ok 17 - run() in psgi.basic.pl returned real data
ok 18 - psgi.basic.pl ran 4 tests
ok 19 - run() in run.modes.pl returned real data
ok 20 - run.modes.pl ran 11 tests
ok 21 - run() in subclass.pl returned real data
ok 22 - subclass.pl ran 3 tests
1..22
ok
All tests successful.
Files=3, Tests=38, 13 wallclock secs ( 0.11 usr + 0.03 sys = 0.14 CPU)
Result: PASS
C:\home\heaven\CGI-Snapp-master>perl -v
This is perl 5, version 14, subversion 4 (v5.14.4) built for MSWin32-x86-multi-thread
Copyright 1987-2013, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at
http://www.perl.org/, the Perl Home Page.
C:\home\heaven\CGI-Snapp-master>