Tue Apr 2 20:31:49 UTC 2024 I: starting to build ufo2ft/trixie/i386 on jenkins on '2024-04-02 20:31' Tue Apr 2 20:31:49 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/i386_7/20927/console.log Tue Apr 2 20:31:49 UTC 2024 I: Downloading source for trixie/ufo2ft=2.30.0-1 --2024-04-02 20:31:49-- http://deb.debian.org/debian/pool/main/u/ufo2ft/ufo2ft_2.30.0-1.dsc Connecting to 78.137.99.97:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2255 (2.2K) [text/prs.lines.tag] Saving to: ‘ufo2ft_2.30.0-1.dsc’ 0K .. 100% 366M=0s 2024-04-02 20:31:49 (366 MB/s) - ‘ufo2ft_2.30.0-1.dsc’ saved [2255/2255] Tue Apr 2 20:31:49 UTC 2024 I: ufo2ft_2.30.0-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: ufo2ft Binary: python3-ufo2ft Architecture: all Version: 2.30.0-1 Maintainer: Debian Fonts Task Force Uploaders: Jeremy Bicha , Yao Wei (魏銘廷) Homepage: https://github.com/googlei18n/ufo2ft/ Standards-Version: 4.6.2 Vcs-Browser: https://salsa.debian.org/fonts-team/ufo2ft Vcs-Git: https://salsa.debian.org/fonts-team/ufo2ft.git Testsuite: autopkgtest-pkg-python Build-Depends: debhelper-compat (= 13), dh-python, python3-all, python3-setuptools, python3-setuptools-scm, python3-pytest , python3-fonttools (>= 4.38.0), python3-ufolib2 (>= 0.13.1), python3-defcon (>= 0.10.0), python3-compreffor (>= 0.5.1), python3-booleanoperations (>= 0.9.0), python3-cffsubr (>= 0.2.9) Package-List: python3-ufo2ft deb python optional arch=all Checksums-Sha1: ea1a8cb2bdde6b2fd1bf2773ee9c77013827ca19 190276 ufo2ft_2.30.0.orig.tar.gz f604560ec19a0e56aee3fcc9ef7e8c95204c2107 6764 ufo2ft_2.30.0-1.debian.tar.xz Checksums-Sha256: 800947cac723530cd125b93acab2d1e62981de9f40b8412bb35c4a8e03a722e8 190276 ufo2ft_2.30.0.orig.tar.gz de8dd240d5320409831c28f40005977205242b3965365001f228766137cba429 6764 ufo2ft_2.30.0-1.debian.tar.xz Files: 35c5536dc5924069a7ea6dd2f8aed652 190276 ufo2ft_2.30.0.orig.tar.gz 9c39bd3935153855fd8d5e8e535523fc 6764 ufo2ft_2.30.0-1.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAmPMAAMACgkQwpPntGGC Ws56MhAAqZfjaJ5BvmJ52lcS9y9E5rs4PdTMoLzJCngeba5hn1sbKDXst49KWhGW 5DH0TrR7mMSZZVF4Qcvgpl5O2J6eCWrWtnjMIgHdttrzNe76K1SYYv91tvOeUTmG L1+CQS3zBynojzybmNBS6HNu6PoJ9861ljRULuMwl4nnZWiWUUhu6iXw6xO/D/HW OVnT+ODNHHA5C2oiD/Sd+DH+G8kFATFG1+soRmMXLEtVIX3hjlbGk/kdooh4Oehb SQ0KmkLUr+jyfVhyvkaziKZ7wMA/YAXGv0DxL3q2kfr4XqpZ7e7YlaCXaq3sg2O5 p0fEMSuNX7SrKEnPoN+NH9sBsgqmxbP05X5Nhrmq2oNtTGl2leIsnDefNgTV6FNE AJQmfE9FXpKOW5J7WnsQgLXyfYNfjeEeV2cYOL7QIFHe9MyIRUx8hwWA6i7lXYTN S32DTsQ6nglXI0cXk43VuxKxkGqFH6J5vBaYe3NB93T+y1NFhnxD/TBq+3trRLP/ C0AiUVoxjMO613ixxOyaMqgz8oEoneSQoz7jkjEEPgNvMTLcMFSb4t/8JEqzLlPz fd4Ua+oP2mVMPYDQ/ABoxSB7KwM4VjdSPF0Y6pxhEFtST/uL+XFfA8BhqYBCq3Yq MScCi3PXp8Zd+jlyQwf7Yc9tLLVDn4w7PVj8qVjE5d71xjVuTYY= =lM0l -----END PGP SIGNATURE----- Tue Apr 2 20:31:49 UTC 2024 I: Checking whether the package is not for us Tue Apr 2 20:31:49 UTC 2024 I: Starting 1st build on remote node ionos12-i386.debian.net. Tue Apr 2 20:31:49 UTC 2024 I: Preparing to do remote build '1' on ionos12-i386.debian.net. Tue Apr 2 20:34:08 UTC 2024 I: Deleting $TMPDIR on ionos12-i386.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Tue Apr 2 08:31:51 -12 2024 I: pbuilder-time-stamp: 1712089911 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [ufo2ft_2.30.0-1.dsc] I: copying [./ufo2ft_2.30.0.orig.tar.gz] I: copying [./ufo2ft_2.30.0-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sat Jan 21 15:08:51 2023 gpgv: using RSA key 7E7729476D87D6F11D91ACCBC293E7B461825ACE gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./ufo2ft_2.30.0-1.dsc: no acceptable signature found dpkg-source: info: extracting ufo2ft in ufo2ft-2.30.0 dpkg-source: info: unpacking ufo2ft_2.30.0.orig.tar.gz dpkg-source: info: unpacking ufo2ft_2.30.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying disable-pathops-test.patch dpkg-source: info: applying cu2qu_moved_to_fonttools.patch dpkg-source: info: applying Add-files-to-avoid-clean-target-failure.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/43005/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='e883f323bcd04d9fb031a4673f713ce6' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='43005' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.bwWaVjaK/pbuilderrc_Q4cD --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.bwWaVjaK/b1 --logfile b1/build.log ufo2ft_2.30.0-1.dsc' SUDO_GID='112' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://78.137.99.97:3128' I: uname -a Linux ionos12-i386 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Apr 1 11:25 /bin -> usr/bin I: user script /srv/workspace/pbuilder/43005/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dh-python, python3-all, python3-setuptools, python3-setuptools-scm, python3-pytest, python3-fonttools (>= 4.38.0), python3-ufolib2 (>= 0.13.1), python3-defcon (>= 0.10.0), python3-compreffor (>= 0.5.1), python3-booleanoperations (>= 0.9.0), python3-cffsubr (>= 0.2.9) dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19876 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools-scm; however: Package python3-setuptools-scm is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. pbuilder-satisfydepends-dummy depends on python3-fonttools (>= 4.38.0); however: Package python3-fonttools is not installed. pbuilder-satisfydepends-dummy depends on python3-ufolib2 (>= 0.13.1); however: Package python3-ufolib2 is not installed. pbuilder-satisfydepends-dummy depends on python3-defcon (>= 0.10.0); however: Package python3-defcon is not installed. pbuilder-satisfydepends-dummy depends on python3-compreffor (>= 0.5.1); however: Package python3-compreffor is not installed. pbuilder-satisfydepends-dummy depends on python3-booleanoperations (>= 0.9.0); however: Package python3-booleanoperations is not installed. pbuilder-satisfydepends-dummy depends on python3-cffsubr (>= 0.2.9); however: Package python3-cffsubr is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: afdko-bin{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libblas3{a} libdebhelper-perl{a} libelf1{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libgfortran5{a} libicu72{a} libjs-jquery{a} libjs-sphinxdoc{a} libjs-underscore{a} liblapack3{a} liblbfgsb0{a} libmagic-mgc{a} libmagic1{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} libxslt1.1{a} m4{a} man-db{a} media-types{a} netbase{a} po-debconf{a} python3{a} python3-all{a} python3-appdirs{a} python3-attr{a} python3-booleanoperations{a} python3-brotli{a} python3-cffsubr{a} python3-compreffor{a} python3-decorator{a} python3-defcon{a} python3-distutils{a} python3-fonttools{a} python3-fs{a} python3-iniconfig{a} python3-lib2to3{a} python3-lxml{a} python3-lz4{a} python3-minimal{a} python3-mpmath{a} python3-numpy{a} python3-packaging{a} python3-pkg-resources{a} python3-pluggy{a} python3-pyclipper{a} python3-pytest{a} python3-scipy{a} python3-setuptools{a} python3-setuptools-scm{a} python3-six{a} python3-sympy{a} python3-typing-extensions{a} python3-tz{a} python3-ufolib2{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} unicode-data{a} The following packages are RECOMMENDED but will NOT be installed: ca-certificates curl isympy-common javascript-common libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx python3-bs4 python3-cssselect python3-fontpens python3-html5lib python3-pil python3-pygments wget 0 packages upgraded, 89 newly installed, 0 to remove and 0 not upgraded. Need to get 78.6 MB of archives. After unpacking 372 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main i386 libpython3.11-minimal i386 3.11.8-1 [817 kB] Get: 2 http://deb.debian.org/debian trixie/main i386 libexpat1 i386 2.5.0-2+b2 [104 kB] Get: 3 http://deb.debian.org/debian trixie/main i386 python3.11-minimal i386 3.11.8-1 [2087 kB] Get: 4 http://deb.debian.org/debian trixie/main i386 python3-minimal i386 3.11.6-1 [26.2 kB] Get: 5 http://deb.debian.org/debian trixie/main i386 media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main i386 netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main i386 tzdata all 2024a-1 [255 kB] Get: 8 http://deb.debian.org/debian trixie/main i386 readline-common all 8.2-3 [69.1 kB] Get: 9 http://deb.debian.org/debian trixie/main i386 libreadline8 i386 8.2-3+b1 [171 kB] Get: 10 http://deb.debian.org/debian trixie/main i386 libpython3.11-stdlib i386 3.11.8-1 [1821 kB] Get: 11 http://deb.debian.org/debian trixie/main i386 python3.11 i386 3.11.8-1 [597 kB] Get: 12 http://deb.debian.org/debian trixie/main i386 libpython3-stdlib i386 3.11.6-1 [9224 B] Get: 13 http://deb.debian.org/debian trixie/main i386 python3 i386 3.11.6-1 [26.2 kB] Get: 14 http://deb.debian.org/debian trixie/main i386 libpython3.12-minimal i386 3.12.2-1 [807 kB] Get: 15 http://deb.debian.org/debian trixie/main i386 python3.12-minimal i386 3.12.2-1 [2244 kB] Get: 16 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.22 [22.4 kB] Get: 17 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-2+b1 [314 kB] Get: 18 http://deb.debian.org/debian trixie/main i386 libmagic1 i386 1:5.45-2+b1 [114 kB] Get: 19 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-2+b1 [43.0 kB] Get: 20 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.21-14+b1 [162 kB] Get: 21 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b1 [69.1 kB] Get: 22 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-3 [1195 kB] Get: 23 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.39.3-6 [93.3 kB] Get: 24 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.7-1+b2 [39.6 kB] Get: 25 http://deb.debian.org/debian trixie/main i386 man-db i386 2.12.0-3 [1413 kB] Get: 26 http://deb.debian.org/debian trixie/main i386 afdko-bin i386 3.6.2+dfsg1-1 [916 kB] Get: 27 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-4 [293 kB] Get: 28 http://deb.debian.org/debian trixie/main i386 autoconf all 2.71-3 [332 kB] Get: 29 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 30 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 31 http://deb.debian.org/debian trixie/main i386 autopoint all 0.21-14 [496 kB] Get: 32 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.15.3 [88.0 kB] Get: 33 http://deb.debian.org/debian trixie/main i386 libtool all 2.4.7-7 [517 kB] Get: 34 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB] Get: 35 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 36 http://deb.debian.org/debian trixie/main i386 libsub-override-perl all 0.10-1 [10.6 kB] Get: 37 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 38 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 39 http://deb.debian.org/debian trixie/main i386 libelf1 i386 0.190-1+b1 [182 kB] Get: 40 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1 [118 kB] Get: 41 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-4+b1 [9549 kB] Get: 42 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.9.14+dfsg-1.3+b2 [727 kB] Get: 43 http://deb.debian.org/debian trixie/main i386 gettext i386 0.21-14+b1 [1311 kB] Get: 44 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 45 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 46 http://deb.debian.org/debian trixie/main i386 debhelper all 13.15.3 [901 kB] Get: 47 http://deb.debian.org/debian trixie/main i386 python3-lib2to3 all 3.11.5-1 [77.5 kB] Get: 48 http://deb.debian.org/debian trixie/main i386 python3-distutils all 3.11.5-1 [131 kB] Get: 49 http://deb.debian.org/debian trixie/main i386 python3-pkg-resources all 68.1.2-2 [241 kB] Get: 50 http://deb.debian.org/debian trixie/main i386 python3-setuptools all 68.1.2-2 [468 kB] Get: 51 http://deb.debian.org/debian trixie/main i386 dh-python all 6.20240310 [106 kB] Get: 52 http://deb.debian.org/debian trixie/main i386 libblas3 i386 3.12.0-3 [140 kB] Get: 53 http://deb.debian.org/debian trixie/main i386 libgfortran5 i386 14-20240201-3 [733 kB] Get: 54 http://deb.debian.org/debian trixie/main i386 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [326 kB] Get: 55 http://deb.debian.org/debian trixie/main i386 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [116 kB] Get: 56 http://deb.debian.org/debian trixie/main i386 libjs-sphinxdoc all 7.2.6-6 [150 kB] Get: 57 http://deb.debian.org/debian trixie/main i386 liblapack3 i386 3.12.0-3 [2167 kB] Get: 58 http://deb.debian.org/debian trixie/main i386 liblbfgsb0 i386 3.0+dfsg.4-1+b1 [29.1 kB] Get: 59 http://deb.debian.org/debian trixie/main i386 libpython3.12-stdlib i386 3.12.2-1 [1927 kB] Get: 60 http://deb.debian.org/debian trixie/main i386 libxslt1.1 i386 1.1.35-1 [253 kB] Get: 61 http://deb.debian.org/debian trixie/main i386 python3.12 i386 3.12.2-1 [653 kB] Get: 62 http://deb.debian.org/debian trixie/main i386 python3-all i386 3.11.6-1 [1060 B] Get: 63 http://deb.debian.org/debian trixie/main i386 python3-appdirs all 1.4.4-4 [12.5 kB] Get: 64 http://deb.debian.org/debian trixie/main i386 python3-attr all 23.2.0-2 [65.5 kB] Get: 65 http://deb.debian.org/debian trixie/main i386 python3-brotli i386 1.1.0-2+b3 [323 kB] Get: 66 http://deb.debian.org/debian trixie/main i386 python3-decorator all 5.1.1-5 [15.1 kB] Get: 67 http://deb.debian.org/debian trixie/main i386 python3-numpy i386 1:1.24.2-2 [4879 kB] Get: 68 http://deb.debian.org/debian trixie/main i386 python3-scipy i386 1.11.4-6 [19.0 MB] Get: 69 http://deb.debian.org/debian trixie/main i386 python3-typing-extensions all 4.10.0-1 [66.2 kB] Get: 70 http://deb.debian.org/debian trixie/main i386 python3-ufolib2 all 0.16.0+dfsg1-1 [32.9 kB] Get: 71 http://deb.debian.org/debian trixie/main i386 python3-defcon all 0.10.3-1 [188 kB] Get: 72 http://deb.debian.org/debian trixie/main i386 python3-mpmath all 1.3.0-1 [419 kB] Get: 73 http://deb.debian.org/debian trixie/main i386 python3-sympy all 1.12-7 [3869 kB] Get: 74 http://deb.debian.org/debian trixie/main i386 python3-tz all 2024.1-2 [30.9 kB] Get: 75 http://deb.debian.org/debian trixie/main i386 python3-six all 1.16.0-6 [16.3 kB] Get: 76 http://deb.debian.org/debian trixie/main i386 python3-fs all 2.4.16-3 [95.3 kB] Get: 77 http://deb.debian.org/debian trixie/main i386 python3-lxml i386 5.1.0-1 [2065 kB] Get: 78 http://deb.debian.org/debian trixie/main i386 python3-lz4 i386 4.0.2+dfsg-1+b3 [25.6 kB] Get: 79 http://deb.debian.org/debian trixie/main i386 unicode-data all 15.1.0-1 [8547 kB] Get: 80 http://deb.debian.org/debian trixie/main i386 python3-fonttools i386 4.46.0-1 [1613 kB] Get: 81 http://deb.debian.org/debian trixie/main i386 python3-pyclipper i386 1.3.0.post5-3 [143 kB] Get: 82 http://deb.debian.org/debian trixie/main i386 python3-booleanoperations all 0.9.0-3 [18.3 kB] Get: 83 http://deb.debian.org/debian trixie/main i386 python3-cffsubr all 0.2.9-2 [9124 B] Get: 84 http://deb.debian.org/debian trixie/main i386 python3-compreffor i386 0.5.5-1 [75.4 kB] Get: 85 http://deb.debian.org/debian trixie/main i386 python3-iniconfig all 1.1.1-2 [6396 B] Get: 86 http://deb.debian.org/debian trixie/main i386 python3-packaging all 23.2-1 [44.8 kB] Get: 87 http://deb.debian.org/debian trixie/main i386 python3-pluggy all 1.4.0-1 [26.2 kB] Get: 88 http://deb.debian.org/debian trixie/main i386 python3-pytest all 7.4.4-3 [239 kB] Get: 89 http://deb.debian.org/debian trixie/main i386 python3-setuptools-scm all 8.0.4-2 [39.5 kB] Fetched 78.6 MB in 2s (37.7 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:i386. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19876 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.8-1_i386.deb ... Unpacking libpython3.11-minimal:i386 (3.11.8-1) ... Selecting previously unselected package libexpat1:i386. Preparing to unpack .../libexpat1_2.5.0-2+b2_i386.deb ... Unpacking libexpat1:i386 (2.5.0-2+b2) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.8-1_i386.deb ... Unpacking python3.11-minimal (3.11.8-1) ... Setting up libpython3.11-minimal:i386 (3.11.8-1) ... Setting up libexpat1:i386 (2.5.0-2+b2) ... Setting up python3.11-minimal (3.11.8-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20193 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.6-1_i386.deb ... Unpacking python3-minimal (3.11.6-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024a-1_all.deb ... Unpacking tzdata (2024a-1) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-3_all.deb ... Unpacking readline-common (8.2-3) ... Selecting previously unselected package libreadline8:i386. Preparing to unpack .../5-libreadline8_8.2-3+b1_i386.deb ... Unpacking libreadline8:i386 (8.2-3+b1) ... Selecting previously unselected package libpython3.11-stdlib:i386. Preparing to unpack .../6-libpython3.11-stdlib_3.11.8-1_i386.deb ... Unpacking libpython3.11-stdlib:i386 (3.11.8-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.8-1_i386.deb ... Unpacking python3.11 (3.11.8-1) ... Selecting previously unselected package libpython3-stdlib:i386. Preparing to unpack .../8-libpython3-stdlib_3.11.6-1_i386.deb ... Unpacking libpython3-stdlib:i386 (3.11.6-1) ... Setting up python3-minimal (3.11.6-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 21181 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.6-1_i386.deb ... Unpacking python3 (3.11.6-1) ... Selecting previously unselected package libpython3.12-minimal:i386. Preparing to unpack .../01-libpython3.12-minimal_3.12.2-1_i386.deb ... Unpacking libpython3.12-minimal:i386 (3.12.2-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.2-1_i386.deb ... Unpacking python3.12-minimal (3.12.2-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../04-libmagic-mgc_1%3a5.45-2+b1_i386.deb ... Unpacking libmagic-mgc (1:5.45-2+b1) ... Selecting previously unselected package libmagic1:i386. Preparing to unpack .../05-libmagic1_1%3a5.45-2+b1_i386.deb ... Unpacking libmagic1:i386 (1:5.45-2+b1) ... Selecting previously unselected package file. Preparing to unpack .../06-file_1%3a5.45-2+b1_i386.deb ... Unpacking file (1:5.45-2+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../07-gettext-base_0.21-14+b1_i386.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../08-libuchardet0_0.0.8-1+b1_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../09-groff-base_1.23.0-3_i386.deb ... Unpacking groff-base (1.23.0-3) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../10-bsdextrautils_2.39.3-6_i386.deb ... Unpacking bsdextrautils (2.39.3-6) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../11-libpipeline1_1.5.7-1+b2_i386.deb ... Unpacking libpipeline1:i386 (1.5.7-1+b2) ... Selecting previously unselected package man-db. Preparing to unpack .../12-man-db_2.12.0-3_i386.deb ... Unpacking man-db (2.12.0-3) ... Selecting previously unselected package afdko-bin. Preparing to unpack .../13-afdko-bin_3.6.2+dfsg1-1_i386.deb ... Unpacking afdko-bin (3.6.2+dfsg1-1) ... Selecting previously unselected package m4. Preparing to unpack .../14-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../15-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../16-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../18-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../19-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../20-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../21-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../22-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../23-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../24-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../25-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1:i386. Preparing to unpack .../26-libelf1_0.190-1+b1_i386.deb ... Unpacking libelf1:i386 (0.190-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../27-dwz_0.15-1_i386.deb ... Unpacking dwz (0.15-1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../28-libicu72_72.1-4+b1_i386.deb ... Unpacking libicu72:i386 (72.1-4+b1) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../29-libxml2_2.9.14+dfsg-1.3+b2_i386.deb ... Unpacking libxml2:i386 (2.9.14+dfsg-1.3+b2) ... Selecting previously unselected package gettext. Preparing to unpack .../30-gettext_0.21-14+b1_i386.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../31-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../32-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../33-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../34-python3-lib2to3_3.11.5-1_all.deb ... Unpacking python3-lib2to3 (3.11.5-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../35-python3-distutils_3.11.5-1_all.deb ... Unpacking python3-distutils (3.11.5-1) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../36-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../37-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../38-dh-python_6.20240310_all.deb ... Unpacking dh-python (6.20240310) ... Selecting previously unselected package libblas3:i386. Preparing to unpack .../39-libblas3_3.12.0-3_i386.deb ... Unpacking libblas3:i386 (3.12.0-3) ... Selecting previously unselected package libgfortran5:i386. Preparing to unpack .../40-libgfortran5_14-20240201-3_i386.deb ... Unpacking libgfortran5:i386 (14-20240201-3) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../41-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Selecting previously unselected package libjs-underscore. Preparing to unpack .../42-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Selecting previously unselected package libjs-sphinxdoc. Preparing to unpack .../43-libjs-sphinxdoc_7.2.6-6_all.deb ... Unpacking libjs-sphinxdoc (7.2.6-6) ... Selecting previously unselected package liblapack3:i386. Preparing to unpack .../44-liblapack3_3.12.0-3_i386.deb ... Unpacking liblapack3:i386 (3.12.0-3) ... Selecting previously unselected package liblbfgsb0:i386. Preparing to unpack .../45-liblbfgsb0_3.0+dfsg.4-1+b1_i386.deb ... Unpacking liblbfgsb0:i386 (3.0+dfsg.4-1+b1) ... Selecting previously unselected package libpython3.12-stdlib:i386. Preparing to unpack .../46-libpython3.12-stdlib_3.12.2-1_i386.deb ... Unpacking libpython3.12-stdlib:i386 (3.12.2-1) ... Selecting previously unselected package libxslt1.1:i386. Preparing to unpack .../47-libxslt1.1_1.1.35-1_i386.deb ... Unpacking libxslt1.1:i386 (1.1.35-1) ... Selecting previously unselected package python3.12. Preparing to unpack .../48-python3.12_3.12.2-1_i386.deb ... Unpacking python3.12 (3.12.2-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../49-python3-all_3.11.6-1_i386.deb ... Unpacking python3-all (3.11.6-1) ... Selecting previously unselected package python3-appdirs. Preparing to unpack .../50-python3-appdirs_1.4.4-4_all.deb ... Unpacking python3-appdirs (1.4.4-4) ... Selecting previously unselected package python3-attr. Preparing to unpack .../51-python3-attr_23.2.0-2_all.deb ... Unpacking python3-attr (23.2.0-2) ... Selecting previously unselected package python3-brotli. Preparing to unpack .../52-python3-brotli_1.1.0-2+b3_i386.deb ... Unpacking python3-brotli (1.1.0-2+b3) ... Selecting previously unselected package python3-decorator. Preparing to unpack .../53-python3-decorator_5.1.1-5_all.deb ... Unpacking python3-decorator (5.1.1-5) ... Selecting previously unselected package python3-numpy. Preparing to unpack .../54-python3-numpy_1%3a1.24.2-2_i386.deb ... Unpacking python3-numpy (1:1.24.2-2) ... Selecting previously unselected package python3-scipy. Preparing to unpack .../55-python3-scipy_1.11.4-6_i386.deb ... Unpacking python3-scipy (1.11.4-6) ... Selecting previously unselected package python3-typing-extensions. Preparing to unpack .../56-python3-typing-extensions_4.10.0-1_all.deb ... Unpacking python3-typing-extensions (4.10.0-1) ... Selecting previously unselected package python3-ufolib2. Preparing to unpack .../57-python3-ufolib2_0.16.0+dfsg1-1_all.deb ... Unpacking python3-ufolib2 (0.16.0+dfsg1-1) ... Selecting previously unselected package python3-defcon. Preparing to unpack .../58-python3-defcon_0.10.3-1_all.deb ... Unpacking python3-defcon (0.10.3-1) ... Selecting previously unselected package python3-mpmath. Preparing to unpack .../59-python3-mpmath_1.3.0-1_all.deb ... Unpacking python3-mpmath (1.3.0-1) ... Selecting previously unselected package python3-sympy. Preparing to unpack .../60-python3-sympy_1.12-7_all.deb ... Unpacking python3-sympy (1.12-7) ... Selecting previously unselected package python3-tz. Preparing to unpack .../61-python3-tz_2024.1-2_all.deb ... Unpacking python3-tz (2024.1-2) ... Selecting previously unselected package python3-six. Preparing to unpack .../62-python3-six_1.16.0-6_all.deb ... Unpacking python3-six (1.16.0-6) ... Selecting previously unselected package python3-fs. Preparing to unpack .../63-python3-fs_2.4.16-3_all.deb ... Unpacking python3-fs (2.4.16-3) ... Selecting previously unselected package python3-lxml:i386. Preparing to unpack .../64-python3-lxml_5.1.0-1_i386.deb ... Unpacking python3-lxml:i386 (5.1.0-1) ... Selecting previously unselected package python3-lz4. Preparing to unpack .../65-python3-lz4_4.0.2+dfsg-1+b3_i386.deb ... Unpacking python3-lz4 (4.0.2+dfsg-1+b3) ... Selecting previously unselected package unicode-data. Preparing to unpack .../66-unicode-data_15.1.0-1_all.deb ... Unpacking unicode-data (15.1.0-1) ... Selecting previously unselected package python3-fonttools. Preparing to unpack .../67-python3-fonttools_4.46.0-1_i386.deb ... Unpacking python3-fonttools (4.46.0-1) ... Selecting previously unselected package python3-pyclipper. Preparing to unpack .../68-python3-pyclipper_1.3.0.post5-3_i386.deb ... Unpacking python3-pyclipper (1.3.0.post5-3) ... Selecting previously unselected package python3-booleanoperations. Preparing to unpack .../69-python3-booleanoperations_0.9.0-3_all.deb ... Unpacking python3-booleanoperations (0.9.0-3) ... Selecting previously unselected package python3-cffsubr. Preparing to unpack .../70-python3-cffsubr_0.2.9-2_all.deb ... Unpacking python3-cffsubr (0.2.9-2) ... Selecting previously unselected package python3-compreffor. Preparing to unpack .../71-python3-compreffor_0.5.5-1_i386.deb ... Unpacking python3-compreffor (0.5.5-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../72-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../73-python3-packaging_23.2-1_all.deb ... Unpacking python3-packaging (23.2-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../74-python3-pluggy_1.4.0-1_all.deb ... Unpacking python3-pluggy (1.4.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../75-python3-pytest_7.4.4-3_all.deb ... Unpacking python3-pytest (7.4.4-3) ... Selecting previously unselected package python3-setuptools-scm. Preparing to unpack .../76-python3-setuptools-scm_8.0.4-2_all.deb ... Unpacking python3-setuptools-scm (8.0.4-2) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:i386 (1.5.7-1+b2) ... Setting up libicu72:i386 (72.1-4+b1) ... Setting up bsdextrautils (2.39.3-6) ... Setting up libmagic-mgc (1:5.45-2+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libpython3.12-minimal:i386 (3.12.2-1) ... Setting up libmagic1:i386 (1:5.45-2+b1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-2+b1) ... Setting up tzdata (2024a-1) ... Current default time zone: 'Etc/UTC' Local time is now: Tue Apr 2 20:32:26 UTC 2024. Universal Time is now: Tue Apr 2 20:32:26 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up unicode-data (15.1.0-1) ... Setting up autotools-dev (20220109.1) ... Setting up libblas3:i386 (3.12.0-3) ... update-alternatives: using /usr/lib/i386-linux-gnu/blas/libblas.so.3 to provide /usr/lib/i386-linux-gnu/libblas.so.3 (libblas.so.3-i386-linux-gnu) in auto mode Setting up autopoint (0.21-14) ... Setting up libgfortran5:i386 (14-20240201-3) ... Setting up autoconf (2.71-3) ... Setting up sensible-utils (0.0.22) ... Setting up libuchardet0:i386 (0.0.8-1+b1) ... Setting up libsub-override-perl (0.10-1) ... Setting up netbase (6.4) ... Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... Setting up afdko-bin (3.6.2+dfsg1-1) ... Setting up libelf1:i386 (0.190-1+b1) ... Setting up readline-common (8.2-3) ... Setting up libxml2:i386 (2.9.14+dfsg-1.3+b2) ... Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up python3.12-minimal (3.12.2-1) ... Setting up liblapack3:i386 (3.12.0-3) ... update-alternatives: using /usr/lib/i386-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/i386-linux-gnu/liblapack.so.3 (liblapack.so.3-i386-linux-gnu) in auto mode Setting up gettext (0.21-14+b1) ... Setting up libtool (2.4.7-7) ... Setting up libreadline8:i386 (8.2-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libjs-sphinxdoc (7.2.6-6) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up dwz (0.15-1) ... Setting up groff-base (1.23.0-3) ... Setting up libxslt1.1:i386 (1.1.35-1) ... Setting up liblbfgsb0:i386 (3.0+dfsg.4-1+b1) ... Setting up libpython3.12-stdlib:i386 (3.12.2-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:i386 (3.11.8-1) ... Setting up python3.12 (3.12.2-1) ... Setting up man-db (2.12.0-3) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3-stdlib:i386 (3.11.6-1) ... Setting up python3.11 (3.11.8-1) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.6-1) ... Setting up python3-tz (2024.1-2) ... Setting up python3-six (1.16.0-6) ... Setting up python3-decorator (5.1.1-5) ... Setting up python3-packaging (23.2-1) ... Setting up python3-brotli (1.1.0-2+b3) ... Setting up python3-typing-extensions (4.10.0-1) ... Setting up python3-pluggy (1.4.0-1) ... Setting up python3-lxml:i386 (5.1.0-1) ... Setting up python3-mpmath (1.3.0-1) ... Setting up python3-lib2to3 (3.11.5-1) ... Setting up python3-appdirs (1.4.4-4) ... Setting up python3-pyclipper (1.3.0.post5-3) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.11.5-1) ... python3.12: can't get files for byte-compilation Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-sympy (1.12-7) ... Setting up python3-attr (23.2.0-2) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-lz4 (4.0.2+dfsg-1+b3) ... Setting up python3-pytest (7.4.4-3) ... Setting up python3-all (3.11.6-1) ... Setting up python3-setuptools-scm (8.0.4-2) ... Setting up python3-fs (2.4.16-3) ... Setting up python3-numpy (1:1.24.2-2) ... Setting up dh-python (6.20240310) ... Setting up python3-scipy (1.11.4-6) ... Setting up python3-fonttools (4.46.0-1) ... Setting up python3-ufolib2 (0.16.0+dfsg1-1) ... Setting up python3-cffsubr (0.2.9-2) ... Setting up python3-booleanoperations (0.9.0-3) ... Setting up python3-compreffor (0.5.5-1) ... Setting up python3-defcon (0.10.3-1) ... /usr/lib/python3/dist-packages/defcon/objects/base.py:332: SyntaxWarning: invalid escape sequence '\*' """ /usr/lib/python3/dist-packages/defcon/objects/base.py:355: SyntaxWarning: invalid escape sequence '\*' """ /usr/lib/python3/dist-packages/defcon/objects/base.py:400: SyntaxWarning: invalid escape sequence '\*' """ /usr/lib/python3/dist-packages/defcon/objects/font.py:27: SyntaxWarning: invalid escape sequence '\*' """ /usr/lib/python3/dist-packages/defcon/objects/font.py:1651: SyntaxWarning: invalid escape sequence '\s' "\s*" # /usr/lib/python3/dist-packages/defcon/objects/font.py:1653: SyntaxWarning: invalid escape sequence '\s' "\s+" # /usr/lib/python3/dist-packages/defcon/objects/font.py:1654: SyntaxWarning: invalid escape sequence '\w' "(\w{4})" # four alphanumeric characters /usr/lib/python3/dist-packages/defcon/objects/font.py:1655: SyntaxWarning: invalid escape sequence '\s' "\s*" # /usr/lib/python3/dist-packages/defcon/objects/font.py:1656: SyntaxWarning: invalid escape sequence '\{' "\{" # { /usr/lib/python3/dist-packages/defcon/test/objects/test_kerning.py:41: SyntaxWarning: invalid escape sequence '\(' with self.assertRaisesRegex(KeyError, "\('NotInFont', 'NotInFont'\)"): Processing triggers for libc-bin (2.37-15) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.33-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/ufo2ft-2.30.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../ufo2ft_2.30.0-1_source.changes dpkg-buildpackage: info: source package ufo2ft dpkg-buildpackage: info: source version 2.30.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Boyuan Yang dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 fakeroot debian/rules clean dh clean --with python3 --buildsystem=pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/ufo2ft-2.30.0' dh_auto_clean I: pybuild base:305: python3.12 setup.py clean /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running clean removing '/build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build' (and everything under it) 'build/bdist.linux-i686' does not exist -- can't clean it 'build/scripts-3.12' does not exist -- can't clean it I: pybuild base:305: python3.11 setup.py clean /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running clean removing '/build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build' (and everything under it) 'build/bdist.linux-i686' does not exist -- can't clean it 'build/scripts-3.11' does not exist -- can't clean it rm Lib/ufo2ft/_version.py make[1]: Leaving directory '/build/reproducible-path/ufo2ft-2.30.0' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules build dh build --with python3 --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild I: pybuild base:305: python3.12 setup.py config /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running config I: pybuild base:305: python3.11 setup.py config /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running config dh_auto_build -O--buildsystem=pybuild I: pybuild base:305: /usr/bin/python3.12 setup.py build /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running build running build_py creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/_version.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/maxContextCalc.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/preProcessor.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/featureCompiler.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/constants.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/outlineCompiler.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/postProcessor.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/fontInfoData.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/util.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft copying Lib/ufo2ft/errors.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/flattenComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeTransformedComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/propagateAnchors.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/sortContours.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__main__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/removeOverlaps.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/explodeColorLayerGlyphs.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/cubicToQuadratic.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/dottedCircleFilter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/base.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/transformations.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/filters creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/kernFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/markFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/gdefFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/ast.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__main__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/baseFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/cursFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/featureWriters running egg_info creating Lib/ufo2ft.egg-info writing Lib/ufo2ft.egg-info/PKG-INFO writing dependency_links to Lib/ufo2ft.egg-info/dependency_links.txt writing requirements to Lib/ufo2ft.egg-info/requires.txt writing top-level names to Lib/ufo2ft.egg-info/top_level.txt writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' I: pybuild base:305: /usr/bin/python3 setup.py build /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) /usr/lib/python3/dist-packages/setuptools/__init__.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) WARNING: The wheel package is not available. WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section' /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg` !! ******************************************************************************** The license_file parameter is deprecated, use license_files instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! parsed = self.parsers.get(option_name, lambda x: x)(value) running build running build_py creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/_version.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/maxContextCalc.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/preProcessor.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/featureCompiler.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/constants.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/outlineCompiler.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/postProcessor.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/fontInfoData.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/util.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft copying Lib/ufo2ft/errors.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/flattenComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeTransformedComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/propagateAnchors.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/sortContours.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/__main__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/decomposeComponents.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/removeOverlaps.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/explodeColorLayerGlyphs.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/cubicToQuadratic.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/dottedCircleFilter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/base.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters copying Lib/ufo2ft/filters/transformations.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/filters creating /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/kernFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/markFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/gdefFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/ast.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__init__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/__main__.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/baseFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters copying Lib/ufo2ft/featureWriters/cursFeatureWriter.py -> /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build/ufo2ft/featureWriters running egg_info writing Lib/ufo2ft.egg-info/PKG-INFO writing dependency_links to Lib/ufo2ft.egg-info/dependency_links.txt writing requirements to Lib/ufo2ft.egg-info/requires.txt writing top-level names to Lib/ufo2ft.egg-info/top_level.txt reading manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'Lib/ufo2ft.egg-info/SOURCES.txt' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/ufo2ft-2.30.0' dh_auto_test I: pybuild base:305: cd /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build; python3.12 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 rootdir: /build/reproducible-path/ufo2ft-2.30.0 configfile: setup.cfg collected 663 items tests/featureCompiler_test.py ............... [ 2%] tests/fontInfoData_test.py ............... [ 4%] tests/integration_test.py ......s.s............FFFFFFF...FF.....FF [ 10%] tests/outlineCompiler_test.py .......................................... [ 16%] ............................................... [ 23%] tests/preProcessor_test.py ....s.....s........... [ 27%] tests/featureWriters/cursFeatureWriter_test.py ... [ 27%] tests/featureWriters/featureWriters_test.py ........ [ 28%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 30%] tests/featureWriters/kernFeatureWriter_test.py ..........F.............. [ 34%] [ 34%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 38%] .. [ 38%] tests/filters/decomposeComponents_test.py .. [ 38%] tests/filters/decomposeTransformedComponents_test.py ... [ 39%] tests/filters/dottedCircle_test.py . [ 39%] tests/filters/flattenComponents_test.py ........ [ 40%] tests/filters/propagateAnchors_test.py ............. [ 42%] tests/filters/sortContours_test.py .... [ 42%] tests/filters/transformations_test.py ............................... [ 47%] tests/featureCompiler_test.py ............... [ 49%] tests/fontInfoData_test.py ............... [ 52%] tests/integration_test.py ......s.s............FFFFFFF...FF.....FF [ 58%] tests/outlineCompiler_test.py .......................................... [ 64%] ............................................... [ 71%] tests/preProcessor_test.py ....s.....s........... [ 74%] tests/featureWriters/cursFeatureWriter_test.py ... [ 75%] tests/featureWriters/featureWriters_test.py ........ [ 76%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 78%] tests/featureWriters/kernFeatureWriter_test.py ..........F.............. [ 81%] [ 81%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 85%] .. [ 85%] tests/filters/decomposeComponents_test.py .. [ 86%] tests/filters/decomposeTransformedComponents_test.py ... [ 86%] tests/filters/dottedCircle_test.py . [ 86%] tests/filters/flattenComponents_test.py ........ [ 88%] tests/filters/propagateAnchors_test.py ............. [ 90%] tests/filters/sortContours_test.py .... [ 90%] tests/filters/transformations_test.py ............................... [ 95%] tests/fontInfoData_test.py .. [ 95%] tests/featureWriters/markFeatureWriter_test.py ......... [ 96%] tests/filters/filters_test.py ................... [ 99%] tests/filters/transformations_test.py . [100%] =================================== FAILURES =================================== _____________ IntegrationTest.test_compileVariableTTF[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _____________ IntegrationTest.test_compileVariableTTF[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -464,28 +464,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[defcon-False] _____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ________ IntegrationTest.test_compileVariableCFF2_subroutinized[defcon] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -467,28 +467,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -447,28 +447,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -444,28 +444,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _______________ IntegrationTest.test_compileVariableTTFs[defcon] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -576,103 +576,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -808,6 +712,7 @@ + ______________ IntegrationTest.test_compileVariableCFF2s[defcon] _______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -665,103 +665,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -897,6 +801,7 @@ + ______ KernFeatureWriterTest.test__groupScriptsByTagAndDirection[defcon] _______ self = FontClass = def test__groupScriptsByTagAndDirection(self, FontClass): font = FontClass() font.features.text = dedent( """ languagesystem DFLT dflt; languagesystem latn dflt; languagesystem latn TRK; languagesystem arab dflt; languagesystem arab URD; languagesystem deva dflt; languagesystem dev2 dflt; languagesystem math dflt; """ ) feaFile = parseLayoutFeatures(font) scripts = ast.getScriptLanguageSystems(feaFile) > scriptGroups = KernFeatureWriter._groupScriptsByTagAndDirection(scripts) tests/featureWriters/kernFeatureWriter_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ufo2ft/featureWriters/kernFeatureWriter.py:260: in _groupScriptsByTagAndDirection direction = unicodedata.script_horizontal_direction(scriptCode) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ script_code = 'Zmth', default = def script_horizontal_direction( script_code: str, default: T | type[KeyError] = KeyError ) -> HorizDirection | T: """Return "RTL" for scripts that contain right-to-left characters according to the Bidi_Class property. Otherwise return "LTR". """ if script_code not in Scripts.NAMES: if isinstance(default, type) and issubclass(default, KeyError): > raise default(script_code) E KeyError: 'Zmth' /usr/lib/python3/dist-packages/fontTools/unicodedata/__init__.py:223: KeyError ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -464,28 +464,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-None] ____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-True] ____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ___________ IntegrationTest.test_compileVariableCFF2[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _______ IntegrationTest.test_compileVariableCFF2_subroutinized[ufoLib2] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -467,28 +467,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -447,28 +447,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -444,28 +444,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ______________ IntegrationTest.test_compileVariableTTFs[ufoLib2] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -576,103 +576,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -808,6 +712,7 @@ + ______________ IntegrationTest.test_compileVariableCFF2s[ufoLib2] ______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -665,103 +665,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -897,6 +801,7 @@ + ______ KernFeatureWriterTest.test__groupScriptsByTagAndDirection[ufoLib2] ______ self = FontClass = .ctor at 0xf370cac8> def test__groupScriptsByTagAndDirection(self, FontClass): font = FontClass() font.features.text = dedent( """ languagesystem DFLT dflt; languagesystem latn dflt; languagesystem latn TRK; languagesystem arab dflt; languagesystem arab URD; languagesystem deva dflt; languagesystem dev2 dflt; languagesystem math dflt; """ ) feaFile = parseLayoutFeatures(font) scripts = ast.getScriptLanguageSystems(feaFile) > scriptGroups = KernFeatureWriter._groupScriptsByTagAndDirection(scripts) tests/featureWriters/kernFeatureWriter_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ufo2ft/featureWriters/kernFeatureWriter.py:260: in _groupScriptsByTagAndDirection direction = unicodedata.script_horizontal_direction(scriptCode) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ script_code = 'Zmth', default = def script_horizontal_direction( script_code: str, default: T | type[KeyError] = KeyError ) -> HorizDirection | T: """Return "RTL" for scripts that contain right-to-left characters according to the Bidi_Class property. Otherwise return "LTR". """ if script_code not in Scripts.NAMES: if isinstance(default, type) and issubclass(default, KeyError): > raise default(script_code) E KeyError: 'Zmth' /usr/lib/python3/dist-packages/fontTools/unicodedata/__init__.py:223: KeyError =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/fs/__init__.py:4 /usr/lib/python3/dist-packages/fs/__init__.py:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/fs/__init__.py:4 /usr/lib/python3/dist-packages/fs/__init__.py:4: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/fs/opener/__init__.py:6 /usr/lib/python3/dist-packages/fs/opener/__init__.py:6: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs.opener')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350 /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(parent) .pybuild/cpython3_3.12_ufo2ft/build/tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_head_created[defcon] .pybuild/cpython3_3.12_ufo2ft/build/tests/fontInfoData_test.py::GetAttrWithFallbackTest::test_head_created[ufoLib2] /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build/ufo2ft/fontInfoData.py:108: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC). t = datetime.utcfromtimestamp(int(os.environ["SOURCE_DATE_EPOCH"])) .pybuild/cpython3_3.12_ufo2ft/build/tests/integration_test.py: 18 warnings .pybuild/cpython3_3.12_ufo2ft/build/tests/outlineCompiler_test.py: 6 warnings /usr/lib/python3/dist-packages/cffsubr/__init__.py:63: DeprecationWarning: path is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice. with path(__name__, TX_EXE) as tx_cli: -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [2] tests/integration_test.py:126: skia-pathops is unavailable in debian yet SKIPPED [2] tests/integration_test.py:135: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:94: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:200: skia-pathops is unavailable in debian yet FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[defcon] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[defcon] FAILED tests/featureWriters/kernFeatureWriter_test.py::KernFeatureWriterTest::test__groupScriptsByTagAndDirection[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[ufoLib2] FAILED tests/featureWriters/kernFeatureWriter_test.py::KernFeatureWriterTest::test__groupScriptsByTagAndDirection[ufoLib2] =========== 24 failed, 631 passed, 8 skipped, 30 warnings in 15.11s ============ E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.12_ufo2ft/build; python3.12 -m pytest tests I: pybuild base:305: cd /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build; python3.11 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.11.8, pytest-7.4.4, pluggy-1.4.0 rootdir: /build/reproducible-path/ufo2ft-2.30.0 configfile: setup.cfg collected 663 items tests/featureCompiler_test.py ............... [ 2%] tests/fontInfoData_test.py ............... [ 4%] tests/integration_test.py ......s.s............FFFFFFF...FF.....FF [ 10%] tests/outlineCompiler_test.py .......................................... [ 16%] ............................................... [ 23%] tests/preProcessor_test.py ....s.....s........... [ 27%] tests/featureWriters/cursFeatureWriter_test.py ... [ 27%] tests/featureWriters/featureWriters_test.py ........ [ 28%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 30%] tests/featureWriters/kernFeatureWriter_test.py ..........F.............. [ 34%] [ 34%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 38%] .. [ 38%] tests/filters/decomposeComponents_test.py .. [ 38%] tests/filters/decomposeTransformedComponents_test.py ... [ 39%] tests/filters/dottedCircle_test.py . [ 39%] tests/filters/flattenComponents_test.py ........ [ 40%] tests/filters/propagateAnchors_test.py ............. [ 42%] tests/filters/sortContours_test.py .... [ 42%] tests/filters/transformations_test.py ............................... [ 47%] tests/featureCompiler_test.py ............... [ 49%] tests/fontInfoData_test.py ............... [ 52%] tests/integration_test.py ......s.s............FFFFFFF...FF.....FF [ 58%] tests/outlineCompiler_test.py .......................................... [ 64%] ............................................... [ 71%] tests/preProcessor_test.py ....s.....s........... [ 74%] tests/featureWriters/cursFeatureWriter_test.py ... [ 75%] tests/featureWriters/featureWriters_test.py ........ [ 76%] tests/featureWriters/gdefFeatureWriter_test.py .......... [ 78%] tests/featureWriters/kernFeatureWriter_test.py ..........F.............. [ 81%] [ 81%] tests/featureWriters/markFeatureWriter_test.py ......................... [ 85%] .. [ 85%] tests/filters/decomposeComponents_test.py .. [ 86%] tests/filters/decomposeTransformedComponents_test.py ... [ 86%] tests/filters/dottedCircle_test.py . [ 86%] tests/filters/flattenComponents_test.py ........ [ 88%] tests/filters/propagateAnchors_test.py ............. [ 90%] tests/filters/sortContours_test.py .... [ 90%] tests/filters/transformations_test.py ............................... [ 95%] tests/fontInfoData_test.py .. [ 95%] tests/featureWriters/markFeatureWriter_test.py ......... [ 96%] tests/filters/filters_test.py ................... [ 99%] tests/filters/transformations_test.py . [100%] =================================== FAILURES =================================== _____________ IntegrationTest.test_compileVariableTTF[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _____________ IntegrationTest.test_compileVariableTTF[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -464,28 +464,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[defcon-False] _____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-None] _____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-True] _____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[defcon-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ________ IntegrationTest.test_compileVariableCFF2_subroutinized[defcon] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -467,28 +467,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -447,28 +447,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -444,28 +444,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _______________ IntegrationTest.test_compileVariableTTFs[defcon] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -576,103 +576,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -808,6 +712,7 @@ + ______________ IntegrationTest.test_compileVariableCFF2s[defcon] _______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -665,103 +665,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -897,6 +801,7 @@ + ______ KernFeatureWriterTest.test__groupScriptsByTagAndDirection[defcon] _______ self = FontClass = def test__groupScriptsByTagAndDirection(self, FontClass): font = FontClass() font.features.text = dedent( """ languagesystem DFLT dflt; languagesystem latn dflt; languagesystem latn TRK; languagesystem arab dflt; languagesystem arab URD; languagesystem deva dflt; languagesystem dev2 dflt; languagesystem math dflt; """ ) feaFile = parseLayoutFeatures(font) scripts = ast.getScriptLanguageSystems(feaFile) > scriptGroups = KernFeatureWriter._groupScriptsByTagAndDirection(scripts) tests/featureWriters/kernFeatureWriter_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ufo2ft/featureWriters/kernFeatureWriter.py:260: in _groupScriptsByTagAndDirection direction = unicodedata.script_horizontal_direction(scriptCode) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ script_code = 'Zmth', default = def script_horizontal_direction( script_code: str, default: T | type[KeyError] = KeyError ) -> HorizDirection | T: """Return "RTL" for scripts that contain right-to-left characters according to the Bidi_Class property. Otherwise return "LTR". """ if script_code not in Scripts.NAMES: if isinstance(default, type) and issubclass(default, KeyError): > raise default(script_code) E KeyError: 'Zmth' /usr/lib/python3/dist-packages/fontTools/unicodedata/__init__.py:223: KeyError ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-None] _____________ self = designspace = useProductionNames = None def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-True] _____________ self = designspace = useProductionNames = True def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-useProductionNames.ttx +++ @@ -464,28 +464,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableTTF[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableTTF(self, designspace, useProductionNames): varfont = compileVariableTTF(designspace, useProductionNames=useProductionNames) > expectTTX( varfont, "TestVariableFont-TTF{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-None] ____________ self = designspace = useProductionNames = None def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ____________ IntegrationTest.test_compileVariableCFF2[ufoLib2-True] ____________ self = designspace = useProductionNames = True def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-useProductionNames.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-useProductionNames.ttx +++ @@ -461,28 +461,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ___________ IntegrationTest.test_compileVariableCFF2[ufoLib2-False] ____________ self = designspace = useProductionNames = False def test_compileVariableCFF2(self, designspace, useProductionNames): varfont = compileVariableCFF2( designspace, useProductionNames=useProductionNames ) > expectTTX( varfont, "TestVariableFont-CFF2{}.ttx".format( "-useProductionNames" if useProductionNames else "" ), ) tests/integration_test.py:224: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2.ttx +++ @@ -458,28 +458,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _______ IntegrationTest.test_compileVariableCFF2_subroutinized[ufoLib2] ________ self = designspace = def test_compileVariableCFF2_subroutinized(self, designspace): varfont = compileVariableCFF2(designspace, optimizeCFF=2) > expectTTX(varfont, "TestVariableFont-CFF2-cffsubr.ttx") tests/integration_test.py:233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-cffsubr.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-cffsubr.ttx +++ @@ -467,28 +467,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] _ self = designspace = output_format = 'VariableTTF', options = {} expected_ttx = 'TestVariableFont-TTF-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-TTF-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-TTF-post3.ttx +++ @@ -447,28 +447,7 @@ - - - - - - - - - - - - - - - - - - - - - - + _ IntegrationTest.test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] _ self = designspace = output_format = 'VariableCFF2', options = {} expected_ttx = 'TestVariableFont-CFF2-post3.ttx' @pytest.mark.parametrize( "output_format, options, expected_ttx", [ ("VariableTTF", {}, "TestVariableFont-TTF-post3.ttx"), ("VariableCFF2", {}, "TestVariableFont-CFF2-post3.ttx"), ], ) def test_drop_glyph_names_variable( self, designspace, output_format, options, expected_ttx ): # set keepGlyphNames in the default UFO.lib where postProcessor finds it designspace.findDefault().font.lib[KEEP_GLYPH_NAMES] = False compile_func = globals()[f"compile{output_format}"] ttf = compile_func(designspace, **options) > expectTTX(ttf, expected_ttx) tests/integration_test.py:270: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'TestVariableFont-CFF2-post3.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- TestVariableFont-CFF2-post3.ttx +++ @@ -444,28 +444,7 @@ - - - - - - - - - - - - - - - - - - - - - - + ______________ IntegrationTest.test_compileVariableTTFs[ufoLib2] _______________ self = designspace_v5 = def test_compileVariableTTFs(self, designspace_v5): fonts = compileVariableTTFs(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-TTF.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-TTF.ttx", ) tests/integration_test.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-TTF.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-TTF.ttx +++ @@ -576,103 +576,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -808,6 +712,7 @@ + ______________ IntegrationTest.test_compileVariableCFF2s[ufoLib2] ______________ self = designspace_v5 = def test_compileVariableCFF2s(self, designspace_v5): fonts = compileVariableCFF2s(designspace_v5) # NOTE: Test dumps were generated like this: # for k, font in fonts.items(): # font.recalcTimestamp = False # font["head"].created, font["head"].modified = 3570196637, 3601822698 # font["head"].checkSumAdjustment = 0x12345678 # font.saveXML(f"tests/data/DSv5/{k}-CFF2.ttx") assert set(fonts.keys()) == { "MutatorSansVariable_Weight_Width", "MutatorSansVariable_Weight", "MutatorSansVariable_Width", "MutatorSerifVariable_Width", } # The STAT table is set to [SRIF=0, wght=[300, 700], wdth=[50, 200]] + S1 + S2 > expectTTX( fonts["MutatorSansVariable_Weight_Width"], "DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx", ) tests/integration_test.py:401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ font = expectedTTX = 'DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx', tables = None def expectTTX(font, expectedTTX, tables=None): with open(getpath(expectedTTX), encoding="utf-8") as f: expected = readLines(f) font.recalcTimestamp = False font["head"].created, font["head"].modified = 3570196637, 3601822698 font["head"].checkSumAdjustment = 0x12345678 f = io.StringIO() font.saveXML(f, tables=tables) actual = readLines(f) if actual != expected: for line in difflib.unified_diff( expected, actual, fromfile=expectedTTX, tofile="" ): sys.stderr.write(line) > pytest.fail("TTX output is different from expected") E Failed: TTX output is different from expected tests/integration_test.py:61: Failed ----------------------------- Captured stderr call ----------------------------- --- DSv5/MutatorSansVariable_Weight_Width-CFF2.ttx +++ @@ -665,103 +665,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -897,6 +801,7 @@ + ______ KernFeatureWriterTest.test__groupScriptsByTagAndDirection[ufoLib2] ______ self = FontClass = .ctor at 0xf370a258> def test__groupScriptsByTagAndDirection(self, FontClass): font = FontClass() font.features.text = dedent( """ languagesystem DFLT dflt; languagesystem latn dflt; languagesystem latn TRK; languagesystem arab dflt; languagesystem arab URD; languagesystem deva dflt; languagesystem dev2 dflt; languagesystem math dflt; """ ) feaFile = parseLayoutFeatures(font) scripts = ast.getScriptLanguageSystems(feaFile) > scriptGroups = KernFeatureWriter._groupScriptsByTagAndDirection(scripts) tests/featureWriters/kernFeatureWriter_test.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ufo2ft/featureWriters/kernFeatureWriter.py:260: in _groupScriptsByTagAndDirection direction = unicodedata.script_horizontal_direction(scriptCode) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ script_code = 'Zmth', default = def script_horizontal_direction( script_code: str, default: T | type[KeyError] = KeyError ) -> HorizDirection | T: """Return "RTL" for scripts that contain right-to-left characters according to the Bidi_Class property. Otherwise return "LTR". """ if script_code not in Scripts.NAMES: if isinstance(default, type) and issubclass(default, KeyError): > raise default(script_code) E KeyError: 'Zmth' /usr/lib/python3/dist-packages/fontTools/unicodedata/__init__.py:223: KeyError =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/fs/__init__.py:4 /usr/lib/python3/dist-packages/fs/__init__.py:4: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/fs/__init__.py:4 /usr/lib/python3/dist-packages/fs/__init__.py:4: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/fs/opener/__init__.py:6 /usr/lib/python3/dist-packages/fs/opener/__init__.py:6: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs.opener')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages __import__("pkg_resources").declare_namespace(__name__) # type: ignore ../../../../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350 /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350: DeprecationWarning: Deprecated call to `pkg_resources.declare_namespace('fs')`. Implementing implicit namespace packages (as specified in PEP 420) is preferred to `pkg_resources.declare_namespace`. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(parent) .pybuild/cpython3_3.11_ufo2ft/build/tests/integration_test.py: 18 warnings .pybuild/cpython3_3.11_ufo2ft/build/tests/outlineCompiler_test.py: 6 warnings /usr/lib/python3/dist-packages/cffsubr/__init__.py:63: DeprecationWarning: path is deprecated. Use files() instead. Refer to https://importlib-resources.readthedocs.io/en/latest/using.html#migrating-from-legacy for migration advice. with path(__name__, TX_EXE) as tx_cli: -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ SKIPPED [2] tests/integration_test.py:126: skia-pathops is unavailable in debian yet SKIPPED [2] tests/integration_test.py:135: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:94: skia-pathops is unavailable in debian yet SKIPPED [2] tests/preProcessor_test.py:200: skia-pathops is unavailable in debian yet FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[defcon-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[defcon] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[defcon-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[defcon] FAILED tests/featureWriters/kernFeatureWriter_test.py::KernFeatureWriterTest::test__groupScriptsByTagAndDirection[defcon] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTF[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-None] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-True] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2[ufoLib2-False] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2_subroutinized[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableTTF-options0-TestVariableFont-TTF-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_drop_glyph_names_variable[ufoLib2-VariableCFF2-options1-TestVariableFont-CFF2-post3.ttx] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableTTFs[ufoLib2] FAILED tests/integration_test.py::IntegrationTest::test_compileVariableCFF2s[ufoLib2] FAILED tests/featureWriters/kernFeatureWriter_test.py::KernFeatureWriterTest::test__groupScriptsByTagAndDirection[ufoLib2] =========== 24 failed, 631 passed, 8 skipped, 28 warnings in 14.35s ============ E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/ufo2ft-2.30.0/.pybuild/cpython3_3.11_ufo2ft/build; python3.11 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 3.11" returned exit code 13 make[1]: *** [debian/rules:14: override_dh_auto_test] Error 25 make[1]: Leaving directory '/build/reproducible-path/ufo2ft-2.30.0' make: *** [debian/rules:6: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/43005 and its subdirectories Tue Apr 2 20:34:09 UTC 2024 W: No second build log, what happened?