Subject: | Tests fail if http_proxy env var is set |
The test suite uses http://localhost/ links to access the test server it
puts up; if the http_proxy environment variable is set, this tends not
to work particularly well -
cain$ echo $http_proxy
http://wwwcache.la3.scsys.co.uk:8080
cain$ make test
<snip large number of failures from getting "eh?" pages back from the proxy>
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/content_contains.t 5 2 40.00% 4-5
t/content_lacks.t 5 1 20.00% 5
t/follow_link_ok.t 6 1 16.67% 4
t/get_ok.t 11 4 36.36% 4-5 7 9
t/has_tag.t 7 2 28.57% 4 6
t/link_content.t 9 3 33.33% 5-6 9
t/link_status.t 8 3 37.50% 4 6 8
t/links_ok.t 8 4 50.00% 4-7
t/page_links_content.t 9 3 33.33% 5-6 9
t/page_links_ok.t 5 2 40.00% 4-5
2 tests skipped.
Failed 10/16 test scripts, 37.50% okay. 25/100 subtests failed, 75.00% okay.
make: *** [test_dynamic] Error 255
I can trivially verify that the module itself is actually fine via -
cain$ http_proxy='' make test
PERL_DL_NONLAZY=1 /usr/bin/perl5.8.7 "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00load................ok 1/1# Testing Test::WWW::Mechanize 1.08, Perl
5.008007, /usr/bin/perl5.8.7
t/00load................ok
t/content_contains......ok
t/content_lacks.........ok
t/follow_link_ok........ok
t/get_ok-parms..........ok
t/get_ok................ok
t/has_tag...............ok
t/link_content..........ok
t/link_status...........ok
t/links_ok..............ok
t/new...................ok
t/page_links_content....ok
t/page_links_ok.........ok
t/pod-coverage..........skipped
all skipped: Test::Pod::Coverage 0.08 required for testing POD
coverage
t/pod...................skipped
all skipped: Test::Pod 1.00 required for testing POD
t/stuff_inputs..........ok
All tests successful, 2 tests skipped.
Files=16, Tests=100, 3 wallclock secs ( 2.00 cusr + 0.43 csys = 2.43 CPU)
cain$
but obviously this isn't so much use for hands off installation, and is
likely to be confusing to inexperienced users. Adding $ENV{http_proxy} =
""; to the top of the scripts seems to solve the problem, but that's a
bit of a kludge; if there's anything I can do to help you find a better
solution to this I'd be happy to oblige.