Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 616686 - dev-python/fonttools-3.10.0 with sci-libs/scipy-0.16.1 fails tests - Exception: Install Python module 'munkres' or 'scipy >= 0.17.0'
Summary: dev-python/fonttools-3.10.0 with sci-libs/scipy-0.16.1 fails tests - Exceptio...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Fonts Team
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks:
 
Reported: 2017-04-26 22:46 UTC by eroen
Modified: 2019-12-11 19:24 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,233.54 KB, text/plain)
2017-04-26 22:46 UTC, eroen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description eroen 2017-04-26 22:46:45 UTC
Created attachment 470988 [details]
build.log

The failing tests are skipped if no scipy is installed.


=========================== short test summary info ============================
FAIL Tests/varLib/interpolatable_test.py::InterpolatableTest::test_interpolatable_otf
FAIL Tests/varLib/interpolatable_test.py::InterpolatableTest::test_interpolatable_ttf
SKIP [1] Tests/misc/py23_test.py:409: requires 'narrow' Python 2.7 build
SKIP [1] /usr/lib64/python2.7/site-packages/_pytest/doctest.py:210: unable to import module local('/var/tmp/portage/dev-python/fonttools-3.10.0/work/fonttools-3.10.0/Lib/fontTools/inspect.py')
SKIP [88] /usr/lib64/python2.7/site-packages/_pytest/nose.py:23: No module named brotli
SKIP [1] /usr/lib64/python2.7/site-packages/_pytest/doctest.py:210: unable to import module local('/var/tmp/portage/dev-python/fonttools-3.10.0/work/fonttools-3.10.0/Lib/fontTools/misc/symfont.py')
SKIP [1] Tests/ttLib/tables/_g_l_y_f_test.py:57: __round___ requires Python 3
SKIP [2] /var/tmp/portage/dev-python/fonttools-3.10.0/work/fonttools-3.10.0/Tests/ttLib/tables/tables_test.py:284: unicodedata2 not installed
SKIP [1] Tests/misc/py23_test.py:396: requires 'narrow' Python 2.7 build
SKIP [1] Tests/misc/macRes_test.py:67: Not supported on "linux2"
SKIP [1] /usr/lib64/python2.7/site-packages/_pytest/doctest.py:210: unable to import module local('/var/tmp/portage/dev-python/fonttools-3.10.0/work/fonttools-3.10.0/Lib/fontTools/pens/reportLabPen.py')

=================================== FAILURES ===================================
__________________ InterpolatableTest.test_interpolatable_otf __________________

self = <varLib.interpolatable_test.InterpolatableTest testMethod=test_interpolatable_otf>

    def test_interpolatable_otf(self):
        suffix = '.otf'
        ttx_dir = self.get_test_input('master_ttx_interpolatable_otf')
    
        self.temp_dir()
        ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-')
        for path in ttx_paths:
            self.compile_font(path, suffix, self.tempdir)
    
        otf_paths = self.get_file_list(self.tempdir, suffix)
>       self.assertIsNone(interpolatable_main(otf_paths))

Tests/varLib/interpolatable_test.py:98: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
Lib/fontTools/varLib/interpolatable.py:177: in main
    test(glyphsets, glyphs=glyphs, names=names)
Lib/fontTools/varLib/interpolatable.py:144: in test
    matching, matching_cost = min_cost_perfect_bipartite_matching(costs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

G = [[674, 11645, 14911, 45701, 51407, 94599, ...], [13656, 751, 49121, 13847, 97889, 51195, ...], [10555, 42330, 812, 886...65, 15715, ...], [41566, 85503, 10595, 130975, 831, 165563, ...], [91795, 46318, 139036, 11880, 172860, 776, ...], ...]

    def min_cost_perfect_bipartite_matching(G):
    	n = len(G)
    	try:
    		from scipy.optimize import linear_sum_assignment
    		rows, cols = linear_sum_assignment(G)
    		assert (rows == list(range(n))).all()
    		return list(cols), _matching_cost(G, cols)
    	except ImportError:
    		pass
    
    	try:
    		from munkres import Munkres
    		cols = [None] * n
    		for row,col in Munkres().compute(G):
    			cols[row] = col
    		return cols, _matching_cost(G, cols)
    	except ImportError:
    		pass
    
    	if n > 6:
>   		raise Exception("Install Python module 'munkres' or 'scipy >= 0.17.0'")
E     Exception: Install Python module 'munkres' or 'scipy >= 0.17.0'

Lib/fontTools/varLib/interpolatable.py:83: Exception
__________________ InterpolatableTest.test_interpolatable_ttf __________________

self = <varLib.interpolatable_test.InterpolatableTest testMethod=test_interpolatable_ttf>

    def test_interpolatable_ttf(self):
        suffix = '.ttf'
        ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf')
    
        self.temp_dir()
        ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-')
        for path in ttx_paths:
            self.compile_font(path, suffix, self.tempdir)
    
        ttf_paths = self.get_file_list(self.tempdir, suffix)
>       self.assertIsNone(interpolatable_main(ttf_paths))

Tests/varLib/interpolatable_test.py:85: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
Lib/fontTools/varLib/interpolatable.py:177: in main
    test(glyphsets, glyphs=glyphs, names=names)
Lib/fontTools/varLib/interpolatable.py:144: in test
    matching, matching_cost = min_cost_perfect_bipartite_matching(costs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

G = [[716, 16121, 53472, 10506, 102327, 41274, ...], [10411, 760, 15643, 42235, 50998, 84613, ...], [44253, 11922, 653, 90...5, 10558, ...], [91717, 46258, 12801, 139023, 720, 169563, ...], [51926, 101451, 152642, 15186, 190827, 794, ...], ...]

    def min_cost_perfect_bipartite_matching(G):
    	n = len(G)
    	try:
    		from scipy.optimize import linear_sum_assignment
    		rows, cols = linear_sum_assignment(G)
    		assert (rows == list(range(n))).all()
    		return list(cols), _matching_cost(G, cols)
    	except ImportError:
    		pass
    
    	try:
    		from munkres import Munkres
    		cols = [None] * n
    		for row,col in Munkres().compute(G):
    			cols[row] = col
    		return cols, _matching_cost(G, cols)
    	except ImportError:
    		pass
    
    	if n > 6:
>   		raise Exception("Install Python module 'munkres' or 'scipy >= 0.17.0'")
E     Exception: Install Python module 'munkres' or 'scipy >= 0.17.0'

Lib/fontTools/varLib/interpolatable.py:83: Exception
============== 2 failed, 1920 passed, 97 skipped in 17.61 seconds ==============
 * ERROR: dev-python/fonttools-3.10.0::gentoo failed (test phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_test
 *   environment, line 2611:  Called distutils-r1_src_test
 *   environment, line  798:  Called _distutils-r1_run_foreach_impl 'python_test'
 *   environment, line  272:  Called python_foreach_impl 'distutils-r1_run_phase' 'python_test'
 *   environment, line 2131:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test'
 *   environment, line 1439:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_test'
 *   environment, line 1437:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_test'
 *   environment, line  472:  Called distutils-r1_run_phase 'python_test'
 *   environment, line  730:  Called python_test
 *   environment, line 2491:  Called esetup.py 'test'
 *   environment, line  984:  Called die
 * The specific snippet of code:
 *       "${@}" || die "${die_args[@]}";
Comment 1 eroen 2017-04-26 22:47:16 UTC
localhost ~ # emerge --info '=dev-python/fonttools-3.10.0::gentoo' scipy
Portage 2.3.3 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-5.4.0, glibc-2.23-r3, 4.4.6-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.4.6-gentoo-x86_64-Intel-R-_Core-TM-_i5-2520M_CPU_@_2.50GHz-with-gentoo-2.3
KiB Mem:     4043380 total,   3062848 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Wed, 26 Apr 2017 21:30:01 +0000
sh bash 4.3_p48-r1
ld GNU ld (Gentoo 2.26.1 p1.0) 2.26.1
app-shells/bash:          4.3_p48-r1::gentoo
dev-lang/perl:            5.24.1-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.3::gentoo
sys-apps/openrc:          0.24.2::gentoo
sys-apps/sandbox:         2.10-r3::gentoo
sys-devel/autoconf:       2.69::gentoo
sys-devel/automake:       1.15::gentoo
sys-devel/binutils:       2.26.1::gentoo
sys-devel/gcc:            5.4.0-r3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS=""
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri fortran gdbm iconv ipv6 modules multilib ncurses nls nptl openmp pam pcre readline seccomp session ssl tcpd unicode xattr zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" 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:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

dev-python/fonttools-3.10.0::gentoo was built with the following:
USE="test" ABI_X86="64" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6"


sci-libs/scipy-0.16.1::gentoo was built with the following:
USE="-doc -sparse -test" ABI_X86="64" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -shared"

localhost ~ # emerge -pqv '=dev-python/fonttools-3.10.0::gentoo' scipy
[ebuild   R   ] dev-python/fonttools-3.10.0  USE="{test}" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 
[ebuild   R   ] sci-libs/scipy-0.16.1  USE="-doc -sparse {-test}" PYTHON_TARGETS="python2_7 python3_4 (-python3_5) (-python3_6)" 

 * IMPORTANT: 9 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.
Comment 2 Matt Turner gentoo-dev 2019-09-14 19:08:57 UTC
Please give 3.44.0 and 4.0.1 a try. (see bug 678244 for keywording req).
Comment 3 Matt Turner gentoo-dev 2019-09-14 20:17:41 UTC
(In reply to Matt Turner from comment #2)
> Please give 3.44.0 and 4.0.1 a try. (see bug 678244 for keywording req).

Oops, meant bug 694372.
Comment 4 Larry the Git Cow gentoo-dev 2019-12-11 19:24:29 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdff9543c318e57cec5f15466b0c47441459c953

commit fdff9543c318e57cec5f15466b0c47441459c953
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2019-12-11 18:59:54 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2019-12-11 19:24:13 +0000

    dev-python/fonttools: Drop old versions
    
    Closes: https://bugs.gentoo.org/616686
    Closes: https://bugs.gentoo.org/616688
    Closes: https://bugs.gentoo.org/659576
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 dev-python/fonttools/Manifest                |  2 --
 dev-python/fonttools/fonttools-3.0.ebuild    | 27 ---------------------
 dev-python/fonttools/fonttools-3.24.2.ebuild | 35 ----------------------------
 3 files changed, 64 deletions(-)