libwww-perl / WWW-Mechanize

Handy web browsing in a Perl object
https://metacpan.org/pod/WWW::Mechanize
Other
68 stars 52 forks source link

nonascii.t test failure #195

Open spazm opened 7 years ago

spazm commented 7 years ago

rbu...@gmail.com reported on Jun 15, 2011

$ cpanm -v WWW::Mechanize
cpanm (App::cpanminus) 1.4007 on perl 5.010000 built for i486-linux-gnu-thread-multi
Work directory is /home/david/.cpanm/work/1308167106.28448
You have make /usr/bin/make
You have LWP 6.02
You have /bin/tar: tar (GNU tar) 1.20
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching WWW::Mechanize on cpanmetadb ...
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.56)
Checking if you have ExtUtils::Install 1.46 ... Yes (1.54)
Checking if you have Module::Build 0.36 ... Yes (0.3800)
--> Working on WWW::Mechanize
Fetching http://search.cpan.org/CPAN/authors/id/J/JE/JESSE/WWW-Mechanize-1.68.tar.gz ... OK
Unpacking WWW-Mechanize-1.68.tar.gz
WWW-Mechanize-1.68/
WWW-Mechanize-1.68/perlcriticrc
WWW-Mechanize-1.68/MANIFEST
WWW-Mechanize-1.68/bin/
WWW-Mechanize-1.68/bin/mech-dump
WWW-Mechanize-1.68/etc/
WWW-Mechanize-1.68/etc/www-mechanize-logo.png
WWW-Mechanize-1.68/META.yml
WWW-Mechanize-1.68/lib/
WWW-Mechanize-1.68/lib/WWW/
WWW-Mechanize-1.68/lib/WWW/Mechanize/
WWW-Mechanize-1.68/lib/WWW/Mechanize/Cookbook.pod
WWW-Mechanize-1.68/lib/WWW/Mechanize/Link.pm
WWW-Mechanize-1.68/lib/WWW/Mechanize/FAQ.pod
WWW-Mechanize-1.68/lib/WWW/Mechanize/Examples.pod
WWW-Mechanize-1.68/lib/WWW/Mechanize/Image.pm
WWW-Mechanize-1.68/lib/WWW/Mechanize.pm
WWW-Mechanize-1.68/Changes
WWW-Mechanize-1.68/MANIFEST.SKIP
WWW-Mechanize-1.68/t/
WWW-Mechanize-1.68/t/find_inputs.t
WWW-Mechanize-1.68/t/upload.html
WWW-Mechanize-1.68/t/add_header.t
WWW-Mechanize-1.68/t/find_link_id.html
WWW-Mechanize-1.68/t/regex-error.t
WWW-Mechanize-1.68/t/warnings.t
WWW-Mechanize-1.68/t/select.t
WWW-Mechanize-1.68/t/google.html
WWW-Mechanize-1.68/t/aliases.t
WWW-Mechanize-1.68/t/Tools.pm
WWW-Mechanize-1.68/t/clone.t
WWW-Mechanize-1.68/t/link.t
WWW-Mechanize-1.68/t/frames.html
WWW-Mechanize-1.68/t/save_content.t
WWW-Mechanize-1.68/t/image-new.t
WWW-Mechanize-1.68/t/area_link.html
WWW-Mechanize-1.68/t/find_frame.html
WWW-Mechanize-1.68/t/link-relative.t
WWW-Mechanize-1.68/t/content.t
WWW-Mechanize-1.68/t/find_link.t
WWW-Mechanize-1.68/t/form_with_fields.html
WWW-Mechanize-1.68/t/credentials.t
WWW-Mechanize-1.68/t/pod-coverage.t
WWW-Mechanize-1.68/t/form_with_fields.t
WWW-Mechanize-1.68/t/upload.t
WWW-Mechanize-1.68/t/tick.t
WWW-Mechanize-1.68/t/link-base.t
WWW-Mechanize-1.68/t/field.html
WWW-Mechanize-1.68/t/00-load.t
WWW-Mechanize-1.68/t/credentials-api.t
WWW-Mechanize-1.68/t/find_image.t
WWW-Mechanize-1.68/t/untaint.t
WWW-Mechanize-1.68/t/tick.html
WWW-Mechanize-1.68/t/cookies.t
WWW-Mechanize-1.68/t/frames.t
WWW-Mechanize-1.68/t/new.t
WWW-Mechanize-1.68/t/find_inputs.html
WWW-Mechanize-1.68/t/find_frame.t
WWW-Mechanize-1.68/t/find_link-warnings.t
WWW-Mechanize-1.68/t/image-parse.t
WWW-Mechanize-1.68/t/live/
WWW-Mechanize-1.68/t/live/encoding.t
WWW-Mechanize-1.68/t/live/wikipedia.t
WWW-Mechanize-1.68/t/find_link.html
WWW-Mechanize-1.68/t/TestServer.pm
WWW-Mechanize-1.68/t/pod.t
WWW-Mechanize-1.68/t/find_link_id.t
WWW-Mechanize-1.68/t/select.html
WWW-Mechanize-1.68/t/die.t
WWW-Mechanize-1.68/t/image-parse.html
WWW-Mechanize-1.68/t/form-parsing.t
WWW-Mechanize-1.68/t/autocheck.t
WWW-Mechanize-1.68/t/area_link.t
WWW-Mechanize-1.68/t/taint.t
WWW-Mechanize-1.68/t/local/
WWW-Mechanize-1.68/t/local/log-server
WWW-Mechanize-1.68/t/local/nonascii.html
WWW-Mechanize-1.68/t/local/page_stack.t
WWW-Mechanize-1.68/t/local/click_button.t
WWW-Mechanize-1.68/t/local/failure.t
WWW-Mechanize-1.68/t/local/follow.t
WWW-Mechanize-1.68/t/local/referer.t
WWW-Mechanize-1.68/t/local/nonascii.t
WWW-Mechanize-1.68/t/local/referer-server
WWW-Mechanize-1.68/t/local/form.t
WWW-Mechanize-1.68/t/local/get.t
WWW-Mechanize-1.68/t/local/click.t
WWW-Mechanize-1.68/t/local/back.t
WWW-Mechanize-1.68/t/local/reload.t
WWW-Mechanize-1.68/t/local/overload.t
WWW-Mechanize-1.68/t/local/submit.t
WWW-Mechanize-1.68/t/local/LocalServer.pm
WWW-Mechanize-1.68/t/field.t
WWW-Mechanize-1.68/t/warn.t
WWW-Mechanize-1.68/t/mech-dump/
WWW-Mechanize-1.68/t/mech-dump/mech-dump.t
WWW-Mechanize-1.68/Makefile.PL
Entering WWW-Mechanize-1.68
Checking configure dependencies from META.yml
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.56)
Configuring WWW-Mechanize-1.68 ... Running Makefile.PL

It looks like you don't have SSL capability (like IO::Socket::SSL) installed. 
You will not be able to process https:// URLs correctly.

WWW::Mechanize likes to have a lot of test modules for some of its tests.
The following are modules that would be nice to have, but not required.

    Test::Memory::Cycle
    Test::Taint

Checking if your kit is complete...
Looks good
Writing Makefile for WWW::Mechanize
OK
Finding PREREQ from Makefile ...
Checking if you have Pod::Usage 0 ... Yes (1.35)
Checking if you have FindBin 0 ... Yes (1.49)
Checking if you have HTML::TreeBuilder 0 ... Yes (3.23)
Checking if you have HTTP::Status 0 ... Yes (6.00)
Checking if you have HTTP::Server::Simple 0.35 ... Yes (0.44)
Checking if you have HTML::TokeParser 2.28 ... Yes (2.37)
Checking if you have URI::file 0 ... Yes (4.20)
Checking if you have HTTP::Server::Simple::CGI 0 ... Yes (undef)
Checking if you have HTTP::Daemon 0 ... Yes (6.00)
Checking if you have Getopt::Long 0 ... Yes (2.37)
Checking if you have HTML::Form 1.038 ... Yes (5.813)
Checking if you have URI 1.36 ... Yes (1.58)
Checking if you have HTML::HeadParser 0 ... Yes (2.22)
Checking if you have Carp 0 ... Yes (1.08)
Checking if you have Test::More 0.34 ... Yes (0.98)
Checking if you have Test::Warn 0.11 ... Yes (0.23)
Checking if you have LWP::UserAgent 5.829 ... Yes (6.02)
Checking if you have HTML::Parser 3.33 ... Yes (3.56)
Checking if you have File::Temp 0 ... Yes (0.22)
Checking if you have URI::URL 0 ... Yes (5.03)
Checking if you have HTTP::Request 1.3 ... Yes (6.00)
Checking if you have LWP 5.829 ... Yes (6.02)
Building and testing WWW-Mechanize-1.68 ... cp lib/WWW/Mechanize/Examples.pod blib/lib/WWW/Mechanize/Examples.pod
cp lib/WWW/Mechanize/Link.pm blib/lib/WWW/Mechanize/Link.pm
cp lib/WWW/Mechanize/Image.pm blib/lib/WWW/Mechanize/Image.pm
cp lib/WWW/Mechanize/Cookbook.pod blib/lib/WWW/Mechanize/Cookbook.pod
cp lib/WWW/Mechanize/FAQ.pod blib/lib/WWW/Mechanize/FAQ.pod
cp lib/WWW/Mechanize.pm blib/lib/WWW/Mechanize.pm
cp bin/mech-dump blib/script/mech-dump
/usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mech-dump
Manifying blib/man1/mech-dump.1p
Manifying blib/man3/WWW::Mechanize::Link.3pm
Manifying blib/man3/WWW::Mechanize::Examples.3pm
Manifying blib/man3/WWW::Mechanize::Image.3pm
Manifying blib/man3/WWW::Mechanize::FAQ.3pm
Manifying blib/man3/WWW::Mechanize::Cookbook.3pm
Manifying blib/man3/WWW::Mechanize.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/00-load.t t/add_header.t t/aliases.t t/area_link.t t/autocheck.t t/clone.t t/content.t t/cookies.t t/credentials-api.t t/credentials.t t/die.t t/field.t t/find_frame.t t/find_image.t t/find_inputs.t t/find_link-warnings.t t/find_link.t t/find_link_id.t t/form-parsing.t t/form_with_fields.t t/frames.t t/image-new.t t/image-parse.t t/link-base.t t/link-relative.t t/link.t t/new.t t/pod-coverage.t t/pod.t t/regex-error.t t/save_content.t t/select.t t/taint.t t/tick.t t/untaint.t t/upload.t t/warn.t t/warnings.t t/local/back.t t/local/click.t t/local/click_button.t t/local/failure.t t/local/follow.t t/local/form.t t/local/get.t t/local/nonascii.t t/local/overload.t t/local/page_stack.t t/local/referer.t t/local/reload.t t/local/submit.t t/live/encoding.t t/live/wikipedia.t t/mech-dump/mech-dump.t
t/00-load.t .............. 1/2 # Testing WWW::Mechanize 1.68, with LWP 6.02, Perl 5.010000, /usr/bin/perl
# Test::Memory::Cycle is not installed.
t/00-load.t .............. ok   
t/add_header.t ........... ok   
t/aliases.t .............. ok   
t/area_link.t ............ ok   
t/autocheck.t ............ ok   
t/clone.t ................ ok   
t/content.t .............. ok   
t/cookies.t .............. # Test server http://127.0.0.1:22051 as PID 28519
t/cookies.t .............. ok     
t/credentials-api.t ...... ok   
t/credentials.t .......... ok     
t/die.t .................. ok   
t/field.t ................ ok   
t/find_frame.t ........... ok   
t/find_image.t ........... ok     
t/find_inputs.t .......... ok     
t/find_link-warnings.t ... ok     
t/find_link.t ............ ok     
t/find_link_id.t ......... ok    
t/form-parsing.t ......... ok   
t/form_with_fields.t ..... 1/? There are 2 forms with the named fields.  The first one was used. at t/form_with_fields.t line 27
t/form_with_fields.t ..... ok   
t/frames.t ............... ok   
t/image-new.t ............ ok     
t/image-parse.t .......... ok     
t/link-base.t ............ ok   
t/link-relative.t ........ ok   
t/link.t ................. ok     
t/live/encoding.t ........ ok     
t/live/wikipedia.t ....... ok     
t/local/back.t ........... 1/47 # Started http://localhost:33434/
t/local/back.t ........... ok     
t/local/click.t .......... 1/9 # Started http://localhost:39239/
t/local/click.t .......... ok   
t/local/click_button.t ... 1/19 # Started http://localhost:45094/
t/local/click_button.t ... ok     
t/local/failure.t ........ 2/15 # Started http://localhost:60493/
t/local/failure.t ........ ok     
t/local/follow.t ......... 1/22 # Started http://localhost:54119/
t/local/follow.t ......... ok     
t/local/form.t ........... 1/13 # Started http://localhost:57725/
t/local/form.t ........... ok     
t/local/get.t ............ 1/32 # Started http://localhost:59142/
t/local/get.t ............ ok     
t/local/nonascii.t ....... 1/5 # Started http://localhost:45550/
No such field 'ValueOf'CF.{Ñ‚}'' at /home/david/.cpanm/work/1308167106.28448/WWW-Mechanize-1.68/blib/lib/WWW/Mechanize.pm line 1403
# Looks like you planned 5 tests but ran 4.
t/local/nonascii.t ....... Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/5 subtests 
t/local/overload.t ....... skipped: Mysteriously stopped passing, and I don't know why.
t/local/page_stack.t ..... 1/16 # Started http://localhost:45775/
t/local/page_stack.t ..... ok     
t/local/referer.t ........ ok     
t/local/reload.t ......... 1/14 # Started http://localhost:37802/
t/local/reload.t ......... ok     
t/local/submit.t ......... 1/13 # Started http://localhost:51370/
t/local/submit.t ......... ok     
t/mech-dump/mech-dump.t .. ok   
t/new.t .................. ok     
t/pod-coverage.t ......... skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
t/pod.t .................. ok   
t/regex-error.t .......... ok   
t/save_content.t ......... ok   
t/select.t ............... ok     
t/taint.t ................ skipped: Test::Taint required for checking taintedness
t/tick.t ................. ok   
t/untaint.t .............. ok   
t/upload.t ............... ok   
t/warn.t ................. ok   
t/warnings.t ............. ok   

Test Summary Report
-------------------
t/local/click_button.t (Wstat: 0 Tests: 19 Failed: 0)
  TODO passed:   15-17, 19
t/local/nonascii.t     (Wstat: 65280 Tests: 4 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 5 tests but ran 4.
Files=54, Tests=598, 22 wallclock secs ( 0.28 usr  0.08 sys + 12.99 cusr  0.93 csys = 14.28 CPU)
Result: FAIL
Failed 1/54 test programs. 0/598 subtests failed.
make: *** [test_dynamic] Error 255
FAIL
! Installing WWW::Mechanize failed. See /home/david/.cpanm/build.log for details.

Test Summary Report
-------------------
t/local/click_button.t (Wstat: 0 Tests: 19 Failed: 0)
  TODO passed:   15-17, 19
t/local/nonascii.t     (Wstat: 65280 Tests: 4 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 5 tests but ran 4.
Files=54, Tests=598, 22 wallclock secs ( 0.28 usr  0.08 sys + 12.99 cusr  0.93 csys = 14.28 CPU)
Result: FAIL
Failed 1/54 test programs. 0/598 subtests failed.
make: *** [test_dynamic] Error 255
FAIL
! Installing WWW::Mechanize failed. See /home/david/.cpanm/build.log for details.

Details

Imported from Google Code issue 208 via archive

Comments

oinksoc...@letterboxes.org commented on Sep 28, 2011 :

I've encountered this building WWW::Mechanize on CentOS 5.

It appears to be a problem related to HTML::Form - the version installed when failing was 1.054, from the RPM perl-libwww-perl-5.805-1.1.1, itself from the base CentOS repository.

Upgrading it to v6.00 (via a local::lib install) fixed it.  Oldest version I've seen work is 5.829 (on Ubuntu Lucid).

The error comes from HTML::Form::find_input - the implementation has changed such that (I think, based on a quick debug) if $sef->{strict} is not set the input is created if it does not exist, instead of throwing an exception.  This may be masking the real problem, however.

HTH

walde.ch...@gmail.com commented on Oct 17, 2011 :

This was just encountered at my company in production with a default debian install. I think adding the proper dependency version to Makefile.PL should fix this.