Created attachment 314507 [details] build.log.gz >>> Source compiled. * Testing of dev-python/mechanize-0.2.5 with CPython 2.7... ......................................................................................s........................................................ ............................................................................................................................................... ........................ssssssssssssssssssssssssssssssssssss......F..F......................................................................... ............................................................................................................... ====================================================================== FAIL: test_get_token (test.test_pullparser.PullParserTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/tmp/portage/dev-python/mechanize-0.2.5/work/mechanize-0.2.5/test/test_pullparser.py", line 78, in test_get_token self._test_get_token(pc, tolerant) File "/var/tmp/portage/dev-python/mechanize-0.2.5/work/mechanize-0.2.5/test/test_pullparser.py", line 117, in _test_get_token self.assertEqual(p.get_token(), ("decl", "rheum", None)) AssertionError: Token('comment', 'rheum', None) != ('decl', 'rheum', None) ====================================================================== FAIL: test_tokens (test.test_pullparser.PullParserTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/tmp/portage/dev-python/mechanize-0.2.5/work/mechanize-0.2.5/test/test_pullparser.py", line 274, in test_tokens self._test_tokens(pc, tolerant) File "/var/tmp/portage/dev-python/mechanize-0.2.5/work/mechanize-0.2.5/test/test_pullparser.py", line 290, in _test_tokens self.assertEquals(token.type, expected_token_types[i]) AssertionError: 'comment' != 'decl' ---------------------------------------------------------------------- Ran 540 tests in 21.606s FAILED (failures=2, skipped=37) * ERROR: dev-python/mechanize-0.2.5 failed (test phase): * Testing failed with CPython 2.7 in testing() function Portage 2.1.10.49 (default/linux/x86/10.0/developer, gcc-4.5.3, glibc-2.14.1-r3, 3.1.6-gentoo i686) ================================================================= System uname: Linux-3.1.6-gentoo-i686-Intel-R-_Core-TM-2_Duo_CPU_P8700_@_2.53GHz-with-gentoo-2.1 Timestamp of tree: Mon, 04 Jun 2012 09:00:01 +0000 app-shells/bash: 4.2_p20 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.3-r1, 3.2.3 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1-r1 sys-apps/openrc: 0.9.8.4 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.10.3, 1.11.1 sys-devel/binutils: 2.21.1-r1 sys-devel/gcc: 4.5.3-r2 sys-devel/gcc-config: 1.6 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 3.1 (virtual/os-headers) sys-libs/glibc: 2.14.1-r3 Repositories: gentoo x-portage ACCEPT_KEYWORDS="x86" ACCEPT_LICENSE="*" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=i686 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=i686 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs collision-protect compress-build-logs distlocks ebuild-locks fixlafiles multilib-strict news parallel-fetch protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa berkdb bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus device-mapper dri dts dvd dvdr emacs emboss encode exif fam firefox flac fortran gdbm gif git gnutls gtk iconv icu jpeg lcms libkms libnotify mad mbox mercurial mmx mng modules mp3 mp4 mpeg mudflap ncurses nls nptl nss objc ogg opengl openmp pam pango pcre pdf perl png policykit ppds pppd python qt3support readline sdl secure-delete session snmp spell sqlite sse ssl startup-notification subversion svg tcb tcpd threads tiff tk toolkit-scroll-bars truetype udev udisks unicode upower usb vorbis wxwidgets x264 x86 xcb xft xinerama xml xorg xulrunner xv xvfb xvid zlib" ALSA_CARDS="ens1371" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="vmware vesa vga" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
This is indeed a test fail. In both, the call to p.get_token() is evaluated to 'comment'. 'comment' == <!-- && a 'decl' == <! It's fooled by the first char being a lower case.
hmm. This is not a mechanize issue, it's a python issue, a Cpython2.7 issue. I tested mechanize some months ago in bug 397383 focusing on pyypy and it passed fine with python2.7. Now it fails with the bumped python-2.7.3. Re-emerged python-2.7.2, and lo and behold; archtester mechanize # USE_PYTHON="2.6 2.7" ebuild mechanize-0.2.5.ebuild clean test * Testing of dev-python/mechanize-0.2.5 with CPython 2.6... .................................................................................. Ran 541 tests in 6.099s OK (skipped=37) * Testing of dev-python/mechanize-0.2.5 with CPython 2.7... .................................................................................. Ran 540 tests in 5.102s OK (skipped=37) again passes in python2.7
Nice find. Can you isolate what change in Python caused the test failure?
(In reply to comment #3) > Nice find. Can you isolate what change in Python caused the test failure? http://hg.python.org/cpython/rev/333e3acf2008
Cool. Do we have an upstream bug yet?
Also, we might want to update the mechanize bug in the URL with the findings so far.
(In reply to comment #5) > Cool. Do we have an upstream bug yet? It would be worth checking how <!foo> is treated by w3 standard to know if it's regression in HTMLParser or bug in mechanize that is relying on previous, invalid behavior of the parser. Just to know where to submit bug ;)
strooth. A year has passed. I suppose I migrate this with the test failures still in place given no other option
on a second glance, upstream is looking very dead.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b5e7f9e1dd85629427fe01b2379a1d70e1dc6d9 commit 0b5e7f9e1dd85629427fe01b2379a1d70e1dc6d9 Author: Patrice Clement <monsieurp@gentoo.org> AuthorDate: 2018-08-23 14:00:15 +0000 Commit: Patrice Clement <monsieurp@gentoo.org> CommitDate: 2018-08-23 14:00:25 +0000 dev-python/mechanize: version bump to 0.3.6. Bug: https://bugs.gentoo.org/420051 Package-Manager: Portage-2.3.40, Repoman-2.3.9 dev-python/mechanize/Manifest | 1 + dev-python/mechanize/mechanize-0.3.6.ebuild | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+)
Please use the latest version. Tests do not fail with it.