Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 341935 - dev-python/pyenchant-1.6.{3,5} fails tests
Summary: dev-python/pyenchant-1.6.{3,5} fails tests
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Python Gentoo Team
URL:
Whiteboard: [IR]
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-20 20:21 UTC by Dustin Polke
Modified: 2014-11-29 04:29 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,10.63 KB, text/plain)
2010-10-20 20:27 UTC, Dustin Polke
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dustin Polke 2010-10-20 20:21:59 UTC
======================================================================
FAIL: Test whether all advertised languages are in fact available.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/dev-python/pyenchant-1.6.3/work/pyenchant-1.6.3/enchant/tests.py", line 85, in test_LangsAreAvail
    assert False, "language '"+lang+"' advertised but non-existent"
AssertionError: language 'de_DE_frami' advertised but non-existent

======================================================================
FAIL: Test whether all advertised providers are in fact available.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/dev-python/pyenchant-1.6.3/work/pyenchant-1.6.3/enchant/tests.py", line 90, in test_ProvsAreAvail
    self.assert_(self.broker.dict_exists(lang))
AssertionError

----------------------------------------------------------------------
Ran 50 tests in 11.725s

FAILED (failures=2)
 * ERROR: dev-python/pyenchant-1.6.3 failed:
 *   Testing failed with CPython 2.6 in distutils_testing() function
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_test
 *   environment, line 3501:  Called distutils_src_test
 *   environment, line 1206:  Called python_execute_function 'distutils_testing'
 *   environment, line 2225:  Called die
 * The specific snippet of code:
 *                       die "${failure_message}";

Reproducible: Always

Steps to Reproduce:
1.
2.
3.



Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.11.2-r0, 2.6.34-gentoo-r12-stable x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.34-gentoo-r12-stable-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8100_@_2.10GHz-with-gentoo-2.0.1
Timestamp of tree: Wed, 20 Oct 2010 19:15:02 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL cadsoft skype-eula AdobeFlash-10 AdobeFlash-10.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe -msse4.1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/bin/mygenkernel /usr/sbin/run-crons /usr/share/X11/xkb /usr/share/cairo-dock/plug-ins/wifi/wifi /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -O2 -pipe -msse4.1"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms strict test unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/     ftp://de-mirror.org/distro/gentoo/     ftp://mirror.netcologne.de/gentoo/     ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo     ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,relro -Wl,-z,now"
LINGUAS="en de"
MAKEOPTS="-j5"
PKGDIR="/home/ftp/binpkg/"
PORTAGE_COMPRESS=""
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=500"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/DuPol /var/lib/layman/sping /var/lib/layman/science /var/lib/layman/sunrise /var/lib/layman/alon-barlev /usr/local/portage/g-ctan /usr/local/portage/modified /usr/local/portage/own"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X X509 Xaw3d a52 aac aalib accessibility acl acpi alsa amd64 amr amrnb amrr amrwb apm async audacious audiofile bash-completion battery berkdb bindist bl bluetooth branding bzip2 cairo cardbus cdaudio cdda cdinstall cjk consolekit cracklib crypt css ctype cups curl cxx dbus devil dga directfb dri dts dv dvd dvdr eds encode evo exchange exif fam fame fbcon fbcondecor fbsplash ffmpeg flac fontforge foomaticdb fortran ftp gd gdbm gif gimp git glade glitz gmp gphoto2 gs gsm gstreamer gtk gtkhtml guile hal hddtemp hdf5 iconv icq icu idn ieee1394 imagemagick imap imlib iproute2 jack java javascript jpeg jpeg2k kerberos keyscrub kino kpathsea lame lapack laptop latex lcms libcaca libnotify libsamplerate libsexy libv4l2 libwww live lm_sensors logrotate loop-aes lzma lzo mad memlimit mikmod mime mjpeg mmx mmxext mng modules mono motif mp2 mp3 mp4 mpeg mplayer mudflap multilib musepack ncurses nls nntp nowin nptl nptlonly nsplugin ntp nuv nvidia ods ogg opengl openmp opensslcrypt pam pch pcmcia pda pdf perl plotutils png posix ppds pppd print python qt3support quicktime readline rtsp ruby rubytests samba sasl schroedinger sdl server simplexml slang sndfile soap sockets sou speex spell sse sse2 sse3 sse4.1 ssl ssse3 startup-notification stream subversion svg swat sysfs syslog system-sqlite tcpd tga theora threads tiff truetype unicode usb userlocales v4l v4l2 vcd vdpau vim-syntax vim-with-x vorbis wcwidth wifi winbind wma wmf wxwindows x264 xanim xcomposite xfce xinetd xls xml xmp xorg xpm xsl xterm-color xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel mpu401" 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" CAMERAS="fuji 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 synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de" PHP_TARGETS="php-5.2" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 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, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS_FLAGS

[ebuild     U ] dev-python/pyenchant-1.6.3 [1.5.3]
Comment 1 Dustin Polke 2010-10-20 20:27:08 UTC
Created attachment 251367 [details]
build.log
Comment 2 Agostino Sarubbo gentoo-dev 2010-10-20 21:17:39 UTC
we have stabilize it in bug 341623.

So, i compile it without a problem and i can't reproduce this error.
Comment 3 Dustin Polke 2010-10-20 21:42:24 UTC
(In reply to comment #2)
> we have stabilize it in bug 341623.
That's why I hit it.

> So, i compile it without a problem and i can't reproduce this error.
Any suggestions to track this down appreciated. Aren't you able to reproduse this with same LINGUAS set as I have?

Comment 4 Agostino Sarubbo gentoo-dev 2010-10-20 21:57:55 UTC
(In reply to comment #3)
> Any suggestions to track this down appreciated. Aren't you able to reproduse
> this with same LINGUAS set as I have?
> 

yes
Comment 5 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-10-23 10:33:20 UTC
I can't reproduce this bug.
Comment 6 Dustin Polke 2010-10-25 11:04:33 UTC
I dug a bit deeper and here is what I've found:

app-dicts/myspell-de contains dictionaries which are named de_{DE,AT,CH}_frami.

If I remove the suffix '_frami' from dic/aff files, tests are passing.
If I rename the suffix '_frami' to '-frami', tests are passing.

So I looked at a strace output of the test suite and here is the relevant excerpt:


write(2, "Test whether all advertised lang"..., 60Test whether all advertised languages are in fact available.) = 60
write(2, " ... ", 5 ... )                    = 5
open("/root/.config/enchant", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 28 entries */, 32768)    = 896
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
open("/root/.enchant", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib64/enchant", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 5 entries */, 32768)     = 184
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
open("/usr/share/enchant/enchant.ordering", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=167, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6608eb000
read(3, "*:myspell,aspell,ispell\nfi:voikk"..., 4096) = 167
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7fc6608eb000, 4096)            = 0
open("/root/.enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/root/.config/enchant/enchant.ordering", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/root/.config/enchant/myspell", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/root/.enchant/myspell", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/local/share/myspell/dicts", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/myspell/dicts", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/enchant/myspell", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/myspell/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 33 entries */, 32768)    = 1192
access("/usr/share/myspell/en_GB.aff", F_OK) = 0
access("/usr/share/myspell/en_AU.aff", F_OK) = 0
access("/usr/share/myspell/en_CA.aff", F_OK) = 0
access("/usr/share/myspell/de_DE_frami.aff", F_OK) = 0
access("/usr/share/myspell/en_GB-oed.aff", F_OK) = 0
access("/usr/share/myspell/de_CH_frami.aff", F_OK) = 0
access("/usr/share/myspell/en_US.aff", F_OK) = 0
access("/usr/share/myspell/en_ZA.aff", F_OK) = 0
access("/usr/share/myspell/de_AT_frami.aff", F_OK) = 0
access("/usr/share/myspell/en_NZ.aff", F_OK) = 0
getdents(3, /* 0 entries */, 32768)     = 0
close(3)                                = 0
access("/root/.config/enchant/myspell/en_GB.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.enchant/myspell/en_GB.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/myspell/dicts/en_GB.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/dicts/en_GB.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/enchant/myspell/en_GB.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/en_GB.dic", F_OK) = 0
access("/usr/share/myspell/en_GB.aff", F_OK) = 0
access("/root/.config/enchant/myspell/en_AU.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.enchant/myspell/en_AU.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/myspell/dicts/en_AU.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/dicts/en_AU.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/enchant/myspell/en_AU.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/en_AU.dic", F_OK) = 0
access("/usr/share/myspell/en_AU.aff", F_OK) = 0
access("/root/.config/enchant/myspell/en_CA.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.enchant/myspell/en_CA.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/myspell/dicts/en_CA.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/dicts/en_CA.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/enchant/myspell/en_CA.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/en_CA.dic", F_OK) = 0
access("/usr/share/myspell/en_CA.aff", F_OK) = 0
access("/root/.config/enchant/myspell/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.enchant/myspell/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/myspell/dicts/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/dicts/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/enchant/myspell/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/de_DE_FRAMI.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.config/enchant/myspell/de.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/root/.enchant/myspell/de.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/local/share/myspell/dicts/de.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/dicts/de.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/enchant/myspell/de.dic", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/share/myspell/de.dic", F_OK) = -1 ENOENT (No such file or directory)
stat("/var/tmp/portage/dev-python/pyenchant-1.6.1/work/pyenchant-1.6.1/enchant/tests.py", {st_mode=S_IFREG|0644, st_size=22029, ...}) = 0
open("/var/tmp/portage/dev-python/pyenchant-1.6.1/work/pyenchant-1.6.1/enchant/tests.py", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=22029, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=22029, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6608eb000
read(3, "# pyenchant\n#\n# Copyright (C) 20"..., 8192) = 8192
read(3, "ict.is_added(\"Lozz\"))\n        se"..., 4096) = 4096
read(3, "Flagen\" in d.suggest(\"Flags\"))\n "..., 4096) = 4096
read(3, "chant.checker.wxSpellCheckerDial"..., 4096) = 4096
read(3, "e(dirname(__file__))\n        set"..., 4096) = 1549
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x7fc6608eb000, 4096)            = 0
write(2, "FAIL", 4FAIL)                     = 4

At the top, all available dictionaries are listed correctly, but later on, when trying to access each dictionary, the file name of all dictionaries containg the '_frami' suffix are b0rken by turning the suffix in upper case '_FRAMI'.

I don't know whether this 
1) just happens  in the test;
2) is always done by pyenchant when trying to access this dictionary;
3) is not a bug in pyenchant but python;
4) is a misconfiguration of my system.

Any feedback welcome.

Thanks,
Dustin
Comment 7 Dustin Polke 2011-01-27 11:56:54 UTC
Still present in pyenchant-1.6.5.
Comment 8 jester 2011-06-07 07:11:12 UTC
For me, reinstalling of "setuptools" solved this problem. I think it is something after upgrade to python 3.1... but that's just a shot in the dark.
HTH
Comment 9 jester 2011-06-07 07:12:03 UTC
For me, reinstalling of "setuptools" solved this problem. I think it is something after upgrade to python 3.1... but that's just a shot in the dark.
HTH