Mock Version: 6.0 Mock Version: 6.0 Mock Version: 6.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec'], chrootPath='/var/lib/mock/f42-build-57656609-6556305/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '6d02d9f75c8b4ef098e49deec0018635', '-D', '/var/lib/mock/f42-build-57656609-6556305/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1725753600 Wrote: /builddir/build/SRPMS/python-img2pdf-0.5.1-5.fc42.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec'], chrootPath='/var/lib/mock/f42-build-57656609-6556305/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '8688dd9e7f174536a86b8a356e322b9a', '-D', '/var/lib/mock/f42-build-57656609-6556305/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1725753600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.PQoEd5 + umask 022 + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + test -d /builddir/build/BUILD/python-img2pdf-0.5.1-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-img2pdf-0.5.1-build + /usr/bin/rm -rf /builddir/build/BUILD/python-img2pdf-0.5.1-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-img2pdf-0.5.1-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-img2pdf-0.5.1-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.iGPVGz + umask 022 + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + rm -rf img2pdf-0.5.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/img2pdf-0.5.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd img2pdf-0.5.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/magick-prog.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.FA2KM2 + umask 022 + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd img2pdf-0.5.1 + sed -i '1{/^#!\//d}' src/img2pdf.py src/img2pdf_test.py src/jp2.py + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -sP' running build running build_py creating build creating build/lib copying src/img2pdf.py -> build/lib copying src/jp2.py -> build/lib running egg_info writing src/img2pdf.egg-info/PKG-INFO writing dependency_links to src/img2pdf.egg-info/dependency_links.txt writing entry points to src/img2pdf.egg-info/entry_points.txt writing requirements to src/img2pdf.egg-info/requires.txt writing top-level names to src/img2pdf.egg-info/top_level.txt reading manifest file 'src/img2pdf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'test.sh' warning: no files found matching 'magick.py' adding license file 'LICENSE' writing manifest file 'src/img2pdf.egg-info/SOURCES.txt' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.jiS6uJ + umask 022 + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + '[' /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-img2pdf-0.5.1-build + mkdir /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd img2pdf-0.5.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT --prefix /usr running install /usr/lib/python3.13/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. Follow the current Python packaging guidelines when building Python RPM packages. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html and https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ for details. ******************************************************************************** !! self.initialize_options() running install_lib creating /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr creating /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib creating /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13 creating /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages copying build/lib/img2pdf.py -> /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages copying build/lib/jp2.py -> /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages byte-compiling /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/img2pdf.py to img2pdf.cpython-313.pyc byte-compiling /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/jp2.py to jp2.cpython-313.pyc writing byte-compilation script '/tmp/tmpo1598nx_.py' /usr/bin/python3 /tmp/tmpo1598nx_.py removing /tmp/tmpo1598nx_.py running install_egg_info running egg_info writing src/img2pdf.egg-info/PKG-INFO writing dependency_links to src/img2pdf.egg-info/dependency_links.txt writing entry points to src/img2pdf.egg-info/entry_points.txt writing requirements to src/img2pdf.egg-info/requires.txt writing top-level names to src/img2pdf.egg-info/top_level.txt reading manifest file 'src/img2pdf.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'test.sh' warning: no files found matching 'magick.py' adding license file 'LICENSE' writing manifest file 'src/img2pdf.egg-info/SOURCES.txt' Copying src/img2pdf.egg-info to /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/img2pdf-0.5.1-py3.13.egg-info running install_scripts Installing img2pdf script to /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/bin Installing img2pdf-gui script to /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/bin + rm -rfv /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/bin/__pycache__ + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j6 Bytecompiling .py files below /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j6 /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/__pycache__/jp2.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/__pycache__/jp2.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/__pycache__/img2pdf.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/python-img2pdf-0.5.1-build/BUILDROOT/usr/lib/python3.13/site-packages/__pycache__/img2pdf.cpython-313.opt-1.pyc: replacing with normalized version Scanned 8 directories and 15 files, processed 4 inodes, 4 modified (4 replaced + 0 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.jIvpEx + umask 022 + cd /builddir/build/BUILD/python-img2pdf-0.5.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd img2pdf-0.5.1 + sed -i '1i#!/usr/bin/python3' src/img2pdf.py + PYTHONPATH=src + /usr/bin/python3 -m pytest src/img2pdf_test.py -v -k 'not miff_c and not png_icc' ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-img2pdf-0.5.1-build/img2pdf-0.5.1 collecting ... collected 351 items / 6 deselected / 345 selected src/img2pdf_test.py::test_jpg[internal] PASSED [ 0%] src/img2pdf_test.py::test_jpg[pikepdf] PASSED [ 0%] src/img2pdf_test.py::test_jpg_rot[internal] PASSED [ 0%] src/img2pdf_test.py::test_jpg_rot[pikepdf] PASSED [ 1%] src/img2pdf_test.py::test_jpg_cmyk[internal] PASSED [ 1%] src/img2pdf_test.py::test_jpg_cmyk[pikepdf] PASSED [ 1%] src/img2pdf_test.py::test_jpg_2000[internal] PASSED [ 2%] src/img2pdf_test.py::test_jpg_2000[pikepdf] PASSED [ 2%] src/img2pdf_test.py::test_jpg_2000_rgba8[internal] FAILED [ 2%] src/img2pdf_test.py::test_jpg_2000_rgba8[pikepdf] FAILED [ 2%] src/img2pdf_test.py::test_jpg_2000_rgba16[internal] PASSED [ 3%] src/img2pdf_test.py::test_jpg_2000_rgba16[pikepdf] PASSED [ 3%] src/img2pdf_test.py::test_png_rgb8[internal] PASSED [ 3%] src/img2pdf_test.py::test_png_rgb8[pikepdf] PASSED [ 4%] src/img2pdf_test.py::test_png_rgb16[internal] PASSED [ 4%] src/img2pdf_test.py::test_png_rgb16[pikepdf] PASSED [ 4%] src/img2pdf_test.py::test_png_rgba8[internal] PASSED [ 4%] src/img2pdf_test.py::test_png_rgba8[pikepdf] PASSED [ 5%] src/img2pdf_test.py::test_png_rgba16[internal] PASSED [ 5%] src/img2pdf_test.py::test_png_rgba16[pikepdf] PASSED [ 5%] src/img2pdf_test.py::test_png_gray8a[internal] PASSED [ 6%] src/img2pdf_test.py::test_png_gray8a[pikepdf] PASSED [ 6%] src/img2pdf_test.py::test_png_gray16a[internal] PASSED [ 6%] src/img2pdf_test.py::test_png_gray16a[pikepdf] PASSED [ 6%] src/img2pdf_test.py::test_png_interlaced[internal] PASSED [ 7%] src/img2pdf_test.py::test_png_interlaced[pikepdf] PASSED [ 7%] src/img2pdf_test.py::test_png_gray1[internal] PASSED [ 7%] src/img2pdf_test.py::test_png_gray1[pikepdf] PASSED [ 8%] src/img2pdf_test.py::test_png_gray2[internal] PASSED [ 8%] src/img2pdf_test.py::test_png_gray2[pikepdf] PASSED [ 8%] src/img2pdf_test.py::test_png_gray4[internal] PASSED [ 8%] src/img2pdf_test.py::test_png_gray4[pikepdf] PASSED [ 9%] src/img2pdf_test.py::test_png_gray8[internal] PASSED [ 9%] src/img2pdf_test.py::test_png_gray8[pikepdf] PASSED [ 9%] src/img2pdf_test.py::test_png_gray16[internal] PASSED [ 10%] src/img2pdf_test.py::test_png_gray16[pikepdf] PASSED [ 10%] src/img2pdf_test.py::test_png_palette1[internal] PASSED [ 10%] src/img2pdf_test.py::test_png_palette1[pikepdf] PASSED [ 11%] src/img2pdf_test.py::test_png_palette2[internal] PASSED [ 11%] src/img2pdf_test.py::test_png_palette2[pikepdf] PASSED [ 11%] src/img2pdf_test.py::test_png_palette4[internal] PASSED [ 11%] src/img2pdf_test.py::test_png_palette4[pikepdf] PASSED [ 12%] src/img2pdf_test.py::test_png_palette8[internal] PASSED [ 12%] src/img2pdf_test.py::test_png_palette8[pikepdf] PASSED [ 12%] src/img2pdf_test.py::test_gif_transparent[internal] PASSED [ 13%] src/img2pdf_test.py::test_gif_transparent[pikepdf] PASSED [ 13%] src/img2pdf_test.py::test_gif_palette1[internal] PASSED [ 13%] src/img2pdf_test.py::test_gif_palette1[pikepdf] PASSED [ 13%] src/img2pdf_test.py::test_gif_palette2[internal] PASSED [ 14%] src/img2pdf_test.py::test_gif_palette2[pikepdf] PASSED [ 14%] src/img2pdf_test.py::test_gif_palette4[internal] PASSED [ 14%] src/img2pdf_test.py::test_gif_palette4[pikepdf] PASSED [ 15%] src/img2pdf_test.py::test_gif_palette8[internal] PASSED [ 15%] src/img2pdf_test.py::test_gif_palette8[pikepdf] PASSED [ 15%] src/img2pdf_test.py::test_gif_animation[internal] PASSED [ 15%] src/img2pdf_test.py::test_gif_animation[pikepdf] PASSED [ 16%] src/img2pdf_test.py::test_tiff_float[internal] ERROR [ 16%] src/img2pdf_test.py::test_tiff_float[pikepdf] ERROR [ 16%] src/img2pdf_test.py::test_tiff_cmyk8[internal] ERROR [ 17%] src/img2pdf_test.py::test_tiff_cmyk8[pikepdf] ERROR [ 17%] src/img2pdf_test.py::test_tiff_cmyk16[internal] ERROR [ 17%] src/img2pdf_test.py::test_tiff_cmyk16[pikepdf] ERROR [ 17%] src/img2pdf_test.py::test_tiff_rgb8[internal] ERROR [ 18%] src/img2pdf_test.py::test_tiff_rgb8[pikepdf] ERROR [ 18%] src/img2pdf_test.py::test_tiff_rgb12[internal] ERROR [ 18%] src/img2pdf_test.py::test_tiff_rgb12[pikepdf] ERROR [ 19%] src/img2pdf_test.py::test_tiff_rgb14[internal] ERROR [ 19%] src/img2pdf_test.py::test_tiff_rgb14[pikepdf] ERROR [ 19%] src/img2pdf_test.py::test_tiff_rgb16[internal] ERROR [ 20%] src/img2pdf_test.py::test_tiff_rgb16[pikepdf] ERROR [ 20%] src/img2pdf_test.py::test_tiff_rgba8[internal] PASSED [ 20%] src/img2pdf_test.py::test_tiff_rgba8[pikepdf] PASSED [ 20%] src/img2pdf_test.py::test_tiff_rgba16[internal] PASSED [ 21%] src/img2pdf_test.py::test_tiff_rgba16[pikepdf] PASSED [ 21%] src/img2pdf_test.py::test_tiff_gray1[internal] ERROR [ 21%] src/img2pdf_test.py::test_tiff_gray1[pikepdf] ERROR [ 22%] src/img2pdf_test.py::test_tiff_gray2[internal] ERROR [ 22%] src/img2pdf_test.py::test_tiff_gray2[pikepdf] ERROR [ 22%] src/img2pdf_test.py::test_tiff_gray4[internal] ERROR [ 22%] src/img2pdf_test.py::test_tiff_gray4[pikepdf] ERROR [ 23%] src/img2pdf_test.py::test_tiff_gray8[internal] ERROR [ 23%] src/img2pdf_test.py::test_tiff_gray8[pikepdf] ERROR [ 23%] src/img2pdf_test.py::test_tiff_gray16[internal] ERROR [ 24%] src/img2pdf_test.py::test_tiff_gray16[pikepdf] ERROR [ 24%] src/img2pdf_test.py::test_tiff_multipage[internal] ERROR [ 24%] src/img2pdf_test.py::test_tiff_multipage[pikepdf] ERROR [ 24%] src/img2pdf_test.py::test_tiff_palette1[internal] ERROR [ 25%] src/img2pdf_test.py::test_tiff_palette1[pikepdf] ERROR [ 25%] src/img2pdf_test.py::test_tiff_palette2[internal] ERROR [ 25%] src/img2pdf_test.py::test_tiff_palette2[pikepdf] ERROR [ 26%] src/img2pdf_test.py::test_tiff_palette4[internal] ERROR [ 26%] src/img2pdf_test.py::test_tiff_palette4[pikepdf] ERROR [ 26%] src/img2pdf_test.py::test_tiff_palette8[internal] ERROR [ 26%] src/img2pdf_test.py::test_tiff_palette8[pikepdf] ERROR [ 27%] src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_white[internal] ERROR [ 27%] src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_white[pikepdf] ERROR [ 27%] src/img2pdf_test.py::test_tiff_ccitt_msb_m2l_white[internal] ERROR [ 28%] src/img2pdf_test.py::test_tiff_ccitt_msb_m2l_white[pikepdf] ERROR [ 28%] src/img2pdf_test.py::test_tiff_ccitt_msb_l2m_white[internal] ERROR [ 28%] src/img2pdf_test.py::test_tiff_ccitt_msb_l2m_white[pikepdf] ERROR [ 28%] src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_black[internal] ERROR [ 29%] src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_black[pikepdf] ERROR [ 29%] src/img2pdf_test.py::test_tiff_ccitt_nometa1[internal] ERROR [ 29%] src/img2pdf_test.py::test_tiff_ccitt_nometa1[pikepdf] ERROR [ 30%] src/img2pdf_test.py::test_tiff_ccitt_nometa2[internal] ERROR [ 30%] src/img2pdf_test.py::test_tiff_ccitt_nometa2[pikepdf] ERROR [ 30%] src/img2pdf_test.py::test_miff_rgb8[internal] ERROR [ 31%] src/img2pdf_test.py::test_miff_rgb8[pikepdf] ERROR [ 31%] src/img2pdf_test.py::test_layout[layout_test_cases0] PASSED [ 31%] src/img2pdf_test.py::test_layout[layout_test_cases1] PASSED [ 31%] src/img2pdf_test.py::test_layout[layout_test_cases2] PASSED [ 32%] src/img2pdf_test.py::test_layout[layout_test_cases3] PASSED [ 32%] src/img2pdf_test.py::test_layout[layout_test_cases4] PASSED [ 32%] src/img2pdf_test.py::test_layout[layout_test_cases5] PASSED [ 33%] src/img2pdf_test.py::test_layout[layout_test_cases6] PASSED [ 33%] src/img2pdf_test.py::test_layout[layout_test_cases7] PASSED [ 33%] src/img2pdf_test.py::test_layout[layout_test_cases8] PASSED [ 33%] src/img2pdf_test.py::test_layout[layout_test_cases9] PASSED [ 34%] src/img2pdf_test.py::test_layout[layout_test_cases10] PASSED [ 34%] src/img2pdf_test.py::test_layout[layout_test_cases11] PASSED [ 34%] src/img2pdf_test.py::test_layout[layout_test_cases12] PASSED [ 35%] src/img2pdf_test.py::test_layout[layout_test_cases13] PASSED [ 35%] src/img2pdf_test.py::test_layout[layout_test_cases14] PASSED [ 35%] src/img2pdf_test.py::test_layout[layout_test_cases15] PASSED [ 35%] src/img2pdf_test.py::test_layout[layout_test_cases16] PASSED [ 36%] src/img2pdf_test.py::test_layout[layout_test_cases17] PASSED [ 36%] src/img2pdf_test.py::test_layout[layout_test_cases18] PASSED [ 36%] src/img2pdf_test.py::test_layout[layout_test_cases19] PASSED [ 37%] src/img2pdf_test.py::test_layout[layout_test_cases20] PASSED [ 37%] src/img2pdf_test.py::test_layout[layout_test_cases21] PASSED [ 37%] src/img2pdf_test.py::test_layout[layout_test_cases22] PASSED [ 37%] src/img2pdf_test.py::test_layout[layout_test_cases23] PASSED [ 38%] src/img2pdf_test.py::test_layout[layout_test_cases24] PASSED [ 38%] src/img2pdf_test.py::test_layout[layout_test_cases25] PASSED [ 38%] src/img2pdf_test.py::test_layout[layout_test_cases26] PASSED [ 39%] src/img2pdf_test.py::test_layout[layout_test_cases27] PASSED [ 39%] src/img2pdf_test.py::test_layout[layout_test_cases28] PASSED [ 39%] src/img2pdf_test.py::test_layout[layout_test_cases29] PASSED [ 40%] src/img2pdf_test.py::test_layout[layout_test_cases30] PASSED [ 40%] src/img2pdf_test.py::test_layout[layout_test_cases31] PASSED [ 40%] src/img2pdf_test.py::test_layout[layout_test_cases32] PASSED [ 40%] src/img2pdf_test.py::test_layout[layout_test_cases33] PASSED [ 41%] src/img2pdf_test.py::test_layout[layout_test_cases34] PASSED [ 41%] src/img2pdf_test.py::test_layout[layout_test_cases35] PASSED [ 41%] src/img2pdf_test.py::test_layout[layout_test_cases36] PASSED [ 42%] src/img2pdf_test.py::test_layout[layout_test_cases37] PASSED [ 42%] src/img2pdf_test.py::test_layout[layout_test_cases38] PASSED [ 42%] src/img2pdf_test.py::test_layout[layout_test_cases39] PASSED [ 42%] src/img2pdf_test.py::test_layout[layout_test_cases40] PASSED [ 43%] src/img2pdf_test.py::test_layout[layout_test_cases41] PASSED [ 43%] src/img2pdf_test.py::test_layout[layout_test_cases42] PASSED [ 43%] src/img2pdf_test.py::test_layout[layout_test_cases43] PASSED [ 44%] src/img2pdf_test.py::test_layout[layout_test_cases44] PASSED [ 44%] src/img2pdf_test.py::test_layout[layout_test_cases45] PASSED [ 44%] src/img2pdf_test.py::test_layout[layout_test_cases46] PASSED [ 44%] src/img2pdf_test.py::test_layout[layout_test_cases47] PASSED [ 45%] src/img2pdf_test.py::test_layout[layout_test_cases48] PASSED [ 45%] src/img2pdf_test.py::test_layout[layout_test_cases49] PASSED [ 45%] src/img2pdf_test.py::test_layout[layout_test_cases50] PASSED [ 46%] src/img2pdf_test.py::test_layout[layout_test_cases51] PASSED [ 46%] src/img2pdf_test.py::test_layout[layout_test_cases52] PASSED [ 46%] src/img2pdf_test.py::test_layout[layout_test_cases53] PASSED [ 46%] src/img2pdf_test.py::test_layout[layout_test_cases54] PASSED [ 47%] src/img2pdf_test.py::test_layout[layout_test_cases55] PASSED [ 47%] src/img2pdf_test.py::test_layout[layout_test_cases56] PASSED [ 47%] src/img2pdf_test.py::test_layout[layout_test_cases57] PASSED [ 48%] src/img2pdf_test.py::test_layout[layout_test_cases58] PASSED [ 48%] src/img2pdf_test.py::test_layout[layout_test_cases59] PASSED [ 48%] src/img2pdf_test.py::test_layout[layout_test_cases60] PASSED [ 48%] src/img2pdf_test.py::test_layout[layout_test_cases61] PASSED [ 49%] src/img2pdf_test.py::test_layout[layout_test_cases62] PASSED [ 49%] src/img2pdf_test.py::test_layout[layout_test_cases63] PASSED [ 49%] src/img2pdf_test.py::test_layout[layout_test_cases64] PASSED [ 50%] src/img2pdf_test.py::test_layout[layout_test_cases65] PASSED [ 50%] src/img2pdf_test.py::test_layout[layout_test_cases66] PASSED [ 50%] src/img2pdf_test.py::test_layout[layout_test_cases67] PASSED [ 51%] src/img2pdf_test.py::test_layout[layout_test_cases68] PASSED [ 51%] src/img2pdf_test.py::test_layout[layout_test_cases69] PASSED [ 51%] src/img2pdf_test.py::test_layout[layout_test_cases70] PASSED [ 51%] src/img2pdf_test.py::test_layout[layout_test_cases71] PASSED [ 52%] src/img2pdf_test.py::test_layout[layout_test_cases72] PASSED [ 52%] src/img2pdf_test.py::test_layout[layout_test_cases73] PASSED [ 52%] src/img2pdf_test.py::test_layout[layout_test_cases74] PASSED [ 53%] src/img2pdf_test.py::test_layout[layout_test_cases75] PASSED [ 53%] src/img2pdf_test.py::test_layout[layout_test_cases76] PASSED [ 53%] src/img2pdf_test.py::test_layout[layout_test_cases77] PASSED [ 53%] src/img2pdf_test.py::test_layout[layout_test_cases78] PASSED [ 54%] src/img2pdf_test.py::test_layout[layout_test_cases79] PASSED [ 54%] src/img2pdf_test.py::test_layout[layout_test_cases80] PASSED [ 54%] src/img2pdf_test.py::test_layout[layout_test_cases81] PASSED [ 55%] src/img2pdf_test.py::test_layout[layout_test_cases82] PASSED [ 55%] src/img2pdf_test.py::test_layout[layout_test_cases83] PASSED [ 55%] src/img2pdf_test.py::test_layout[layout_test_cases84] PASSED [ 55%] src/img2pdf_test.py::test_layout[layout_test_cases85] PASSED [ 56%] src/img2pdf_test.py::test_layout[layout_test_cases86] PASSED [ 56%] src/img2pdf_test.py::test_layout[layout_test_cases87] PASSED [ 56%] src/img2pdf_test.py::test_layout[layout_test_cases88] PASSED [ 57%] src/img2pdf_test.py::test_layout[layout_test_cases89] PASSED [ 57%] src/img2pdf_test.py::test_layout[layout_test_cases90] PASSED [ 57%] src/img2pdf_test.py::test_layout[layout_test_cases91] PASSED [ 57%] src/img2pdf_test.py::test_layout[layout_test_cases92] PASSED [ 58%] src/img2pdf_test.py::test_layout[layout_test_cases93] PASSED [ 58%] src/img2pdf_test.py::test_layout[layout_test_cases94] PASSED [ 58%] src/img2pdf_test.py::test_layout[layout_test_cases95] PASSED [ 59%] src/img2pdf_test.py::test_layout[layout_test_cases96] PASSED [ 59%] src/img2pdf_test.py::test_layout[layout_test_cases97] PASSED [ 59%] src/img2pdf_test.py::test_layout[layout_test_cases98] PASSED [ 60%] src/img2pdf_test.py::test_layout[layout_test_cases99] PASSED [ 60%] src/img2pdf_test.py::test_layout[layout_test_cases100] PASSED [ 60%] src/img2pdf_test.py::test_layout[layout_test_cases101] PASSED [ 60%] src/img2pdf_test.py::test_layout[layout_test_cases102] PASSED [ 61%] src/img2pdf_test.py::test_layout[layout_test_cases103] PASSED [ 61%] src/img2pdf_test.py::test_layout[layout_test_cases104] PASSED [ 61%] src/img2pdf_test.py::test_layout[layout_test_cases105] PASSED [ 62%] src/img2pdf_test.py::test_layout[layout_test_cases106] PASSED [ 62%] src/img2pdf_test.py::test_layout[layout_test_cases107] PASSED [ 62%] src/img2pdf_test.py::test_layout[layout_test_cases108] PASSED [ 62%] src/img2pdf_test.py::test_layout[layout_test_cases109] PASSED [ 63%] src/img2pdf_test.py::test_layout[layout_test_cases110] PASSED [ 63%] src/img2pdf_test.py::test_layout[layout_test_cases111] PASSED [ 63%] src/img2pdf_test.py::test_layout[layout_test_cases112] PASSED [ 64%] src/img2pdf_test.py::test_layout[layout_test_cases113] PASSED [ 64%] src/img2pdf_test.py::test_layout[layout_test_cases114] PASSED [ 64%] src/img2pdf_test.py::test_layout[layout_test_cases115] PASSED [ 64%] src/img2pdf_test.py::test_layout[layout_test_cases116] PASSED [ 65%] src/img2pdf_test.py::test_layout[layout_test_cases117] PASSED [ 65%] src/img2pdf_test.py::test_layout[layout_test_cases118] PASSED [ 65%] src/img2pdf_test.py::test_layout[layout_test_cases119] PASSED [ 66%] src/img2pdf_test.py::test_layout[layout_test_cases120] PASSED [ 66%] src/img2pdf_test.py::test_layout[layout_test_cases121] PASSED [ 66%] src/img2pdf_test.py::test_layout[layout_test_cases122] PASSED [ 66%] src/img2pdf_test.py::test_layout[layout_test_cases123] PASSED [ 67%] src/img2pdf_test.py::test_layout[layout_test_cases124] PASSED [ 67%] src/img2pdf_test.py::test_layout[layout_test_cases125] PASSED [ 67%] src/img2pdf_test.py::test_layout[layout_test_cases126] PASSED [ 68%] src/img2pdf_test.py::test_layout[layout_test_cases127] PASSED [ 68%] src/img2pdf_test.py::test_layout[layout_test_cases128] PASSED [ 68%] src/img2pdf_test.py::test_layout[layout_test_cases129] PASSED [ 68%] src/img2pdf_test.py::test_layout[layout_test_cases130] PASSED [ 69%] src/img2pdf_test.py::test_layout[layout_test_cases131] PASSED [ 69%] src/img2pdf_test.py::test_layout[layout_test_cases132] PASSED [ 69%] src/img2pdf_test.py::test_layout[layout_test_cases133] PASSED [ 70%] src/img2pdf_test.py::test_layout[layout_test_cases134] PASSED [ 70%] src/img2pdf_test.py::test_layout[layout_test_cases135] PASSED [ 70%] src/img2pdf_test.py::test_layout[layout_test_cases136] PASSED [ 71%] src/img2pdf_test.py::test_layout[layout_test_cases137] PASSED [ 71%] src/img2pdf_test.py::test_layout[layout_test_cases138] PASSED [ 71%] src/img2pdf_test.py::test_layout[layout_test_cases139] PASSED [ 71%] src/img2pdf_test.py::test_layout[layout_test_cases140] PASSED [ 72%] src/img2pdf_test.py::test_layout[layout_test_cases141] PASSED [ 72%] src/img2pdf_test.py::test_layout[layout_test_cases142] PASSED [ 72%] src/img2pdf_test.py::test_layout[layout_test_cases143] PASSED [ 73%] src/img2pdf_test.py::test_layout[layout_test_cases144] PASSED [ 73%] src/img2pdf_test.py::test_layout[layout_test_cases145] PASSED [ 73%] src/img2pdf_test.py::test_layout[layout_test_cases146] PASSED [ 73%] src/img2pdf_test.py::test_layout[layout_test_cases147] PASSED [ 74%] src/img2pdf_test.py::test_layout[layout_test_cases148] PASSED [ 74%] src/img2pdf_test.py::test_layout[layout_test_cases149] PASSED [ 74%] src/img2pdf_test.py::test_layout[layout_test_cases150] PASSED [ 75%] src/img2pdf_test.py::test_layout[layout_test_cases151] PASSED [ 75%] src/img2pdf_test.py::test_layout[layout_test_cases152] PASSED [ 75%] src/img2pdf_test.py::test_layout[layout_test_cases153] PASSED [ 75%] src/img2pdf_test.py::test_layout[layout_test_cases154] PASSED [ 76%] src/img2pdf_test.py::test_layout[layout_test_cases155] PASSED [ 76%] src/img2pdf_test.py::test_layout[layout_test_cases156] PASSED [ 76%] src/img2pdf_test.py::test_layout[layout_test_cases157] PASSED [ 77%] src/img2pdf_test.py::test_layout[layout_test_cases158] PASSED [ 77%] src/img2pdf_test.py::test_layout[layout_test_cases159] PASSED [ 77%] src/img2pdf_test.py::test_layout[layout_test_cases160] PASSED [ 77%] src/img2pdf_test.py::test_layout[layout_test_cases161] PASSED [ 78%] src/img2pdf_test.py::test_layout[layout_test_cases162] PASSED [ 78%] src/img2pdf_test.py::test_layout[layout_test_cases163] PASSED [ 78%] src/img2pdf_test.py::test_layout[layout_test_cases164] PASSED [ 79%] src/img2pdf_test.py::test_layout[layout_test_cases165] PASSED [ 79%] src/img2pdf_test.py::test_layout[layout_test_cases166] PASSED [ 79%] src/img2pdf_test.py::test_layout[layout_test_cases167] PASSED [ 80%] src/img2pdf_test.py::test_layout[layout_test_cases168] PASSED [ 80%] src/img2pdf_test.py::test_layout[layout_test_cases169] PASSED [ 80%] src/img2pdf_test.py::test_layout[layout_test_cases170] PASSED [ 80%] src/img2pdf_test.py::test_layout[layout_test_cases171] PASSED [ 81%] src/img2pdf_test.py::test_layout[layout_test_cases172] PASSED [ 81%] src/img2pdf_test.py::test_layout[layout_test_cases173] PASSED [ 81%] src/img2pdf_test.py::test_layout[layout_test_cases174] PASSED [ 82%] src/img2pdf_test.py::test_layout[layout_test_cases175] PASSED [ 82%] src/img2pdf_test.py::test_layout[layout_test_cases176] PASSED [ 82%] src/img2pdf_test.py::test_layout[layout_test_cases177] PASSED [ 82%] src/img2pdf_test.py::test_layout[layout_test_cases178] PASSED [ 83%] src/img2pdf_test.py::test_layout[layout_test_cases179] PASSED [ 83%] src/img2pdf_test.py::test_layout[layout_test_cases180] PASSED [ 83%] src/img2pdf_test.py::test_faketime[internal-2021-02-05 17:49:00-Europe/Berlin-True] SKIPPED [ 84%] src/img2pdf_test.py::test_faketime[internal-2021-02-05 17:49:00-Europe/Berlin-False] SKIPPED [ 84%] src/img2pdf_test.py::test_faketime[internal-2021-02-05 17:49:00-GMT+12-True] SKIPPED [ 84%] src/img2pdf_test.py::test_faketime[internal-2021-02-05 17:49:00-GMT+12-False] SKIPPED [ 84%] src/img2pdf_test.py::test_faketime[pikepdf-2021-02-05 17:49:00-Europe/Berlin-True] SKIPPED [ 85%] src/img2pdf_test.py::test_faketime[pikepdf-2021-02-05 17:49:00-Europe/Berlin-False] SKIPPED [ 85%] src/img2pdf_test.py::test_faketime[pikepdf-2021-02-05 17:49:00-GMT+12-True] SKIPPED [ 85%] src/img2pdf_test.py::test_faketime[pikepdf-2021-02-05 17:49:00-GMT+12-False] SKIPPED [ 86%] src/img2pdf_test.py::test_date[internal-2021-02-05 17:49:00-Europe/Berlin-True] PASSED [ 86%] src/img2pdf_test.py::test_date[internal-2021-02-05 17:49:00-Europe/Berlin-False] PASSED [ 86%] src/img2pdf_test.py::test_date[internal-2021-02-05 17:49:00-GMT+12-True] PASSED [ 86%] src/img2pdf_test.py::test_date[internal-2021-02-05 17:49:00-GMT+12-False] PASSED [ 87%] src/img2pdf_test.py::test_date[internal-2021-02-05T17:49:00-Europe/Berlin-True] PASSED [ 87%] src/img2pdf_test.py::test_date[internal-2021-02-05T17:49:00-Europe/Berlin-False] PASSED [ 87%] src/img2pdf_test.py::test_date[internal-2021-02-05T17:49:00-GMT+12-True] PASSED [ 88%] src/img2pdf_test.py::test_date[internal-2021-02-05T17:49:00-GMT+12-False] PASSED [ 88%] src/img2pdf_test.py::test_date[internal-Fri, 05 Feb 2021 17:49:00 +0100-Europe/Berlin-True] PASSED [ 88%] src/img2pdf_test.py::test_date[internal-Fri, 05 Feb 2021 17:49:00 +0100-Europe/Berlin-False] PASSED [ 88%] src/img2pdf_test.py::test_date[internal-Fri, 05 Feb 2021 17:49:00 +0100-GMT+12-True] PASSED [ 89%] src/img2pdf_test.py::test_date[internal-Fri, 05 Feb 2021 17:49:00 +0100-GMT+12-False] PASSED [ 89%] src/img2pdf_test.py::test_date[internal-last year 12:00-Europe/Berlin-True] PASSED [ 89%] src/img2pdf_test.py::test_date[internal-last year 12:00-Europe/Berlin-False] PASSED [ 90%] src/img2pdf_test.py::test_date[internal-last year 12:00-GMT+12-True] PASSED [ 90%] src/img2pdf_test.py::test_date[internal-last year 12:00-GMT+12-False] PASSED [ 90%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05 17:49:00-Europe/Berlin-True] PASSED [ 91%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05 17:49:00-Europe/Berlin-False] PASSED [ 91%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05 17:49:00-GMT+12-True] PASSED [ 91%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05 17:49:00-GMT+12-False] PASSED [ 91%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05T17:49:00-Europe/Berlin-True] PASSED [ 92%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05T17:49:00-Europe/Berlin-False] PASSED [ 92%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05T17:49:00-GMT+12-True] PASSED [ 92%] src/img2pdf_test.py::test_date[pikepdf-2021-02-05T17:49:00-GMT+12-False] PASSED [ 93%] src/img2pdf_test.py::test_date[pikepdf-Fri, 05 Feb 2021 17:49:00 +0100-Europe/Berlin-True] PASSED [ 93%] src/img2pdf_test.py::test_date[pikepdf-Fri, 05 Feb 2021 17:49:00 +0100-Europe/Berlin-False] PASSED [ 93%] src/img2pdf_test.py::test_date[pikepdf-Fri, 05 Feb 2021 17:49:00 +0100-GMT+12-True] PASSED [ 93%] src/img2pdf_test.py::test_date[pikepdf-Fri, 05 Feb 2021 17:49:00 +0100-GMT+12-False] PASSED [ 94%] src/img2pdf_test.py::test_date[pikepdf-last year 12:00-Europe/Berlin-True] PASSED [ 94%] src/img2pdf_test.py::test_date[pikepdf-last year 12:00-Europe/Berlin-False] PASSED [ 94%] src/img2pdf_test.py::test_date[pikepdf-last year 12:00-GMT+12-True] PASSED [ 95%] src/img2pdf_test.py::test_date[pikepdf-last year 12:00-GMT+12-False] PASSED [ 95%] src/img2pdf_test.py::test_general[CMYK.jpg-internal] PASSED [ 95%] src/img2pdf_test.py::test_general[CMYK.jpg-pikepdf] PASSED [ 95%] src/img2pdf_test.py::test_general[CMYK.tif-internal] PASSED [ 96%] src/img2pdf_test.py::test_general[CMYK.tif-pikepdf] PASSED [ 96%] src/img2pdf_test.py::test_general[animation.gif-internal] PASSED [ 96%] src/img2pdf_test.py::test_general[animation.gif-pikepdf] PASSED [ 97%] src/img2pdf_test.py::test_general[gray.png-internal] PASSED [ 97%] src/img2pdf_test.py::test_general[gray.png-pikepdf] PASSED [ 97%] src/img2pdf_test.py::test_general[mono.png-internal] PASSED [ 97%] src/img2pdf_test.py::test_general[mono.png-pikepdf] PASSED [ 98%] src/img2pdf_test.py::test_general[mono.tif-internal] PASSED [ 98%] src/img2pdf_test.py::test_general[mono.tif-pikepdf] PASSED [ 98%] src/img2pdf_test.py::test_general[normal.jpg-internal] PASSED [ 99%] src/img2pdf_test.py::test_general[normal.jpg-pikepdf] PASSED [ 99%] src/img2pdf_test.py::test_general[normal.png-internal] PASSED [ 99%] src/img2pdf_test.py::test_general[normal.png-pikepdf] PASSED [100%] ==================================== ERRORS ==================================== _________________ ERROR at setup of test_tiff_float[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_float_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_float_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-depth", "32", "-define", "quantum:format=floating-point", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 32, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert ( identify[0]["image"].get("properties", {}).get("quantum:format") == "floating-point" ), str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_float_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 32, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 19055.6, 'median': 0, 'standardDeviation': 27243.5, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 65535, 'mean': 19057.6, 'median': 0, 'standardDeviation': 27236.4, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 65535, 'mean': 19088.9, 'median': 0, 'standardDeviation': 27257.5, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 65535, 'mean': 19020.4, 'median': 0, 'standardDeviation': 27236.6, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'None', 'orientation': 'TopLeft', 'properties': {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '11'}, 'tainted': False, 'filesize': '43530B', 'numberPixels': '3600', 'pixelsPerSecond': '16.3654MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', ...}.get E + where {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', ...} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 32, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2440: AssertionError __________________ ERROR at setup of test_tiff_float[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_float_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_float_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-depth", "32", "-define", "quantum:format=floating-point", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 32, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert ( identify[0]["image"].get("properties", {}).get("quantum:format") == "floating-point" ), str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_float_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 32, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 19055.6, 'median': 0, 'standardDeviation': 27243.5, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 65535, 'mean': 19057.6, 'median': 0, 'standardDeviation': 27236.4, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 65535, 'mean': 19088.9, 'median': 0, 'standardDeviation': 27257.5, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 65535, 'mean': 19020.4, 'median': 0, 'standardDeviation': 27236.6, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'None', 'orientation': 'TopLeft', 'properties': {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '11'}, 'tainted': False, 'filesize': '43530B', 'numberPixels': '3600', 'pixelsPerSecond': '16.3654MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', ...}.get E + where {'quantum:format': 'floating-point', 'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', ...} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 32, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2440: AssertionError _________________ ERROR at setup of test_tiff_cmyk8[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_cmyk8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_cmyk8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-colorspace", "cmyk", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "CMYK", str(identify) assert identify[0]["image"].get("type") == "ColorSeparation", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_cmyk80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'ColorSeparation', 'endianness': 'LSB', 'colorspace': 'CMYK', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'cyan': 8, 'magenta': 8, 'yellow': 1, 'black': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 109.364, 'median': 9.25, 'standardDeviation': 119.38, 'kurtosis': -1.82957, 'skewness': 0.282353, 'entropy': 0.386969}}, 'channelStatistics': {'cyan': {'min': 0, 'max': 255, 'mean': 111.073, 'median': 0, 'standardDeviation': 122.544, 'kurtosis': -1.88637, 'skewness': 0.256167, 'entropy': 0.313817}, 'magenta': {'min': 0, 'max': 255, 'mean': 112.166, 'median': 0, 'standardDeviation': 122.27, 'kurtosis': -1.8898, 'skewness': 0.238371, 'entropy': 0.312564}, 'yellow': {'min': 0, 'max': 255, 'mean': 112.434, 'median': 0, 'standardDeviation': 122.348, 'kurtosis': -1.89217, 'skewness': 0.234551, 'entropy': 0.311477}, 'black': {'min': 0, 'max': 255, 'mean': 101.782, 'median': 37, 'standardDeviation': 110.36, 'kurtosis': -1.64994, 'skewness': 0.400325, 'entropy': 0.610017}}, 'totalInkDensity': '299.216%', 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2976B', 'numberPixels': '3600', 'pixelsPerSecond': '13.1672MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2489: AssertionError __________________ ERROR at setup of test_tiff_cmyk8[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_cmyk8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_cmyk8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-colorspace", "cmyk", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "CMYK", str(identify) assert identify[0]["image"].get("type") == "ColorSeparation", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_cmyk80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'ColorSeparation', 'endianness': 'LSB', 'colorspace': 'CMYK', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'cyan': 8, 'magenta': 8, 'yellow': 1, 'black': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 109.364, 'median': 9.25, 'standardDeviation': 119.38, 'kurtosis': -1.82957, 'skewness': 0.282353, 'entropy': 0.386969}}, 'channelStatistics': {'cyan': {'min': 0, 'max': 255, 'mean': 111.073, 'median': 0, 'standardDeviation': 122.544, 'kurtosis': -1.88637, 'skewness': 0.256167, 'entropy': 0.313817}, 'magenta': {'min': 0, 'max': 255, 'mean': 112.166, 'median': 0, 'standardDeviation': 122.27, 'kurtosis': -1.8898, 'skewness': 0.238371, 'entropy': 0.312564}, 'yellow': {'min': 0, 'max': 255, 'mean': 112.434, 'median': 0, 'standardDeviation': 122.348, 'kurtosis': -1.89217, 'skewness': 0.234551, 'entropy': 0.311477}, 'black': {'min': 0, 'max': 255, 'mean': 101.782, 'median': 37, 'standardDeviation': 110.36, 'kurtosis': -1.64994, 'skewness': 0.400325, 'entropy': 0.610017}}, 'totalInkDensity': '299.216%', 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2976B', 'numberPixels': '3600', 'pixelsPerSecond': '13.1672MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7511a952780499da9db703c19d66c5fa4f9e04521541503c3368cb988c9ef023', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2489: AssertionError _________________ ERROR at setup of test_tiff_cmyk16[internal] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_cmyk16_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_cmyk16") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-depth", "16", "-colorspace", "cmyk", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "CMYK", str(identify) assert identify[0]["image"].get("type") == "ColorSeparation", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_cmyk160/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'ColorSeparation', 'endianness': 'LSB', 'colorspace': 'CMYK', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'cyan': 16, 'magenta': 16, 'yellow': 1, 'black': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 28106.2, 'median': 2377.25, 'standardDeviation': 30679.2, 'kurtosis': -1.82944, 'skewness': 0.282366, 'entropy': 0.380729}}, 'channelStatistics': {'cyan': {'min': 0, 'max': 65535, 'mean': 28545.4, 'median': 0, 'standardDeviation': 31491.6, 'kurtosis': -1.8862, 'skewness': 0.256177, 'entropy': 0.307185}, 'magenta': {'min': 0, 'max': 65535, 'mean': 28826.3, 'median': 0, 'standardDeviation': 31421.2, 'kurtosis': -1.88962, 'skewness': 0.238392, 'entropy': 0.303386}, 'yellow': {'min': 0, 'max': 65535, 'mean': 28895, 'median': 0, 'standardDeviation': 31441.4, 'kurtosis': -1.89199, 'skewness': 0.234569, 'entropy': 0.30233}, 'black': {'min': 0, 'max': 65535, 'mean': 26158, 'median': 9509, 'standardDeviation': 28362.5, 'kurtosis': -1.64994, 'skewness': 0.400325, 'entropy': 0.610017}}, 'totalInkDensity': '299.216%', 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '4612B', 'numberPixels': '3600', 'pixelsPerSecond': '13.044MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2541: AssertionError _________________ ERROR at setup of test_tiff_cmyk16[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_cmyk16_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_cmyk16") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), "-depth", "16", "-colorspace", "cmyk", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "CMYK", str(identify) assert identify[0]["image"].get("type") == "ColorSeparation", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_cmyk160/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'ColorSeparation', 'endianness': 'LSB', 'colorspace': 'CMYK', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'cyan': 16, 'magenta': 16, 'yellow': 1, 'black': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 28106.2, 'median': 2377.25, 'standardDeviation': 30679.2, 'kurtosis': -1.82944, 'skewness': 0.282366, 'entropy': 0.380729}}, 'channelStatistics': {'cyan': {'min': 0, 'max': 65535, 'mean': 28545.4, 'median': 0, 'standardDeviation': 31491.6, 'kurtosis': -1.8862, 'skewness': 0.256177, 'entropy': 0.307185}, 'magenta': {'min': 0, 'max': 65535, 'mean': 28826.3, 'median': 0, 'standardDeviation': 31421.2, 'kurtosis': -1.88962, 'skewness': 0.238392, 'entropy': 0.303386}, 'yellow': {'min': 0, 'max': 65535, 'mean': 28895, 'median': 0, 'standardDeviation': 31441.4, 'kurtosis': -1.89199, 'skewness': 0.234569, 'entropy': 0.30233}, 'black': {'min': 0, 'max': 65535, 'mean': 26158, 'median': 9509, 'standardDeviation': 28362.5, 'kurtosis': -1.64994, 'skewness': 0.400325, 'entropy': 0.610017}}, 'totalInkDensity': '299.216%', 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '4612B', 'numberPixels': '3600', 'pixelsPerSecond': '13.044MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'c691d0d59f0f71a8dedae7cb5048ac0ca431dc7b71ac89a83b6b2a44a616a442', 'tiff:endian': 'lsb', 'tiff:photometric': 'separated', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2541: AssertionError __________________ ERROR at setup of test_tiff_rgb8[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_normal_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2256B', 'numberPixels': '3600', 'pixelsPerSecond': '9.41386MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2583: AssertionError __________________ ERROR at setup of test_tiff_rgb8[pikepdf] ___________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_normal_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2256B', 'numberPixels': '3600', 'pixelsPerSecond': '9.41386MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2583: AssertionError _________________ ERROR at setup of test_tiff_rgb12[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb12_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "12", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("baseDepth") == 12, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb81/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 12, 'baseDepth': 12, 'channelDepth': {'red': 12, 'green': 12, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 4095.94, 'mean': 1195.62, 'median': 0, 'standardDeviation': 1707.91, 'kurtosis': -1.00195, 'skewness': 0.914639, 'entropy': 0.446271}}, 'channelStatistics': {'red': {'min': 0, 'max': 4095.94, 'mean': 1195.75, 'median': 0, 'standardDeviation': 1707.47, 'kurtosis': -1.00107, 'skewness': 0.914908, 'entropy': 0.447488}, 'green': {'min': 0, 'max': 4095.94, 'mean': 1197.71, 'median': 0, 'standardDeviation': 1708.79, 'kurtosis': -1.00682, 'skewness': 0.912032, 'entropy': 0.446303}, 'blue': {'min': 0, 'max': 4095.94, 'mean': 1193.41, 'median': 0, 'standardDeviation': 1707.48, 'kurtosis': -0.997979, 'skewness': 0.916978, 'entropy': 0.445022}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '5366B', 'numberPixels': '3600', 'pixelsPerSecond': '14.2668MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 12, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2632: AssertionError __________________ ERROR at setup of test_tiff_rgb12[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb12_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "12", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("baseDepth") == 12, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb81/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 12, 'baseDepth': 12, 'channelDepth': {'red': 12, 'green': 12, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 4095.94, 'mean': 1195.62, 'median': 0, 'standardDeviation': 1707.91, 'kurtosis': -1.00195, 'skewness': 0.914639, 'entropy': 0.446271}}, 'channelStatistics': {'red': {'min': 0, 'max': 4095.94, 'mean': 1195.75, 'median': 0, 'standardDeviation': 1707.47, 'kurtosis': -1.00107, 'skewness': 0.914908, 'entropy': 0.447488}, 'green': {'min': 0, 'max': 4095.94, 'mean': 1197.71, 'median': 0, 'standardDeviation': 1708.79, 'kurtosis': -1.00682, 'skewness': 0.912032, 'entropy': 0.446303}, 'blue': {'min': 0, 'max': 4095.94, 'mean': 1193.41, 'median': 0, 'standardDeviation': 1707.48, 'kurtosis': -0.997979, 'skewness': 0.916978, 'entropy': 0.445022}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '5366B', 'numberPixels': '3600', 'pixelsPerSecond': '14.2668MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'ab114596e3a7eed7e487e31ebdf5128417bc878e9847df01cb939f74802b12fd', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 12, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2632: AssertionError _________________ ERROR at setup of test_tiff_rgb14[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb14_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "14", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("baseDepth") == 14, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb82/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 14, 'baseDepth': 14, 'channelDepth': {'red': 14, 'green': 14, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 16383.8, 'mean': 4782.56, 'median': 0, 'standardDeviation': 6831.69, 'kurtosis': -1.00197, 'skewness': 0.91463, 'entropy': 0.446271}}, 'channelStatistics': {'red': {'min': 0, 'max': 16383.8, 'mean': 4783.06, 'median': 0, 'standardDeviation': 6829.89, 'kurtosis': -1.00108, 'skewness': 0.914899, 'entropy': 0.447488}, 'green': {'min': 0, 'max': 16383.8, 'mean': 4790.9, 'median': 0, 'standardDeviation': 6835.21, 'kurtosis': -1.00683, 'skewness': 0.912023, 'entropy': 0.446303}, 'blue': {'min': 0, 'max': 16383.8, 'mean': 4773.72, 'median': 0, 'standardDeviation': 6829.96, 'kurtosis': -0.997995, 'skewness': 0.916969, 'entropy': 0.445022}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '6358B', 'numberPixels': '3600', 'pixelsPerSecond': '14.1622MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 14, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2681: AssertionError __________________ ERROR at setup of test_tiff_rgb14[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb14_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "14", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("baseDepth") == 14, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb82/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 14, 'baseDepth': 14, 'channelDepth': {'red': 14, 'green': 14, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 16383.8, 'mean': 4782.56, 'median': 0, 'standardDeviation': 6831.69, 'kurtosis': -1.00197, 'skewness': 0.91463, 'entropy': 0.446271}}, 'channelStatistics': {'red': {'min': 0, 'max': 16383.8, 'mean': 4783.06, 'median': 0, 'standardDeviation': 6829.89, 'kurtosis': -1.00108, 'skewness': 0.914899, 'entropy': 0.447488}, 'green': {'min': 0, 'max': 16383.8, 'mean': 4790.9, 'median': 0, 'standardDeviation': 6835.21, 'kurtosis': -1.00683, 'skewness': 0.912023, 'entropy': 0.446303}, 'blue': {'min': 0, 'max': 16383.8, 'mean': 4773.72, 'median': 0, 'standardDeviation': 6829.96, 'kurtosis': -0.997995, 'skewness': 0.916969, 'entropy': 0.445022}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '6358B', 'numberPixels': '3600', 'pixelsPerSecond': '14.1622MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '4cfcfdeb7dd11983cb449d4cbc7b0e603012c9488fa4155b3f2187832d0954f9', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 14, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2681: AssertionError _________________ ERROR at setup of test_tiff_rgb16[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb16_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "16", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb83/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'red': 16, 'green': 16, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 19130, 'median': 0, 'standardDeviation': 27326.4, 'kurtosis': -1.00198, 'skewness': 0.914626, 'entropy': 0.455603}}, 'channelStatistics': {'red': {'min': 0, 'max': 65535, 'mean': 19132.1, 'median': 0, 'standardDeviation': 27319.2, 'kurtosis': -1.00109, 'skewness': 0.914894, 'entropy': 0.456815}, 'green': {'min': 0, 'max': 65535, 'mean': 19163.4, 'median': 0, 'standardDeviation': 27340.5, 'kurtosis': -1.00684, 'skewness': 0.912018, 'entropy': 0.455643}, 'blue': {'min': 0, 'max': 65535, 'mean': 19094.7, 'median': 0, 'standardDeviation': 27319.5, 'kurtosis': -0.998006, 'skewness': 0.916965, 'entropy': 0.454351}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '3578B', 'numberPixels': '3600', 'pixelsPerSecond': '13.9303MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2730: AssertionError __________________ ERROR at setup of test_tiff_rgb16[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') @pytest.fixture(scope="session") def tiff_rgb16_img(tmp_path_factory, tmp_normal16_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal16_png), "-depth", "16", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb83/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'red': 16, 'green': 16, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 65535, 'mean': 19130, 'median': 0, 'standardDeviation': 27326.4, 'kurtosis': -1.00198, 'skewness': 0.914626, 'entropy': 0.455603}}, 'channelStatistics': {'red': {'min': 0, 'max': 65535, 'mean': 19132.1, 'median': 0, 'standardDeviation': 27319.2, 'kurtosis': -1.00109, 'skewness': 0.914894, 'entropy': 0.456815}, 'green': {'min': 0, 'max': 65535, 'mean': 19163.4, 'median': 0, 'standardDeviation': 27340.5, 'kurtosis': -1.00684, 'skewness': 0.912018, 'entropy': 0.455643}, 'blue': {'min': 0, 'max': 65535, 'mean': 19094.7, 'median': 0, 'standardDeviation': 27319.5, 'kurtosis': -0.998006, 'skewness': 0.916965, 'entropy': 0.454351}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '3578B', 'numberPixels': '3600', 'pixelsPerSecond': '13.9303MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '25ffbd318d040cc17726c3275c93bc6a0c346b6d3617e81170dc1d43f4fa03f1', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2730: AssertionError _________________ ERROR at setup of test_tiff_gray1[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_gray1_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_gray1") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-depth", "1", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray10/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '568B', 'numberPixels': '3600', 'pixelsPerSecond': '13.7952MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2879: AssertionError __________________ ERROR at setup of test_tiff_gray1[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_gray1_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_gray1") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-depth", "1", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray10/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '568B', 'numberPixels': '3600', 'pixelsPerSecond': '13.7952MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2879: AssertionError _________________ ERROR at setup of test_tiff_gray2[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray2_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray2_png0/gray2.png') @pytest.fixture(scope="session") def tiff_gray2_img(tmp_path_factory, tmp_gray2_png): in_img = tmp_path_factory.mktemp("tiff_gray2") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray2_png), "-depth", "2", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 2, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray20/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 2, 'baseDepth': 2, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 3, 'mean': 1.315, 'median': 1, 'standardDeviation': 1.0873, 'kurtosis': -1.24094, 'skewness': 0.236132, 'entropy': 0.989108}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '726B', 'numberPixels': '3600', 'pixelsPerSecond': '13.6482MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 2, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2929: AssertionError __________________ ERROR at setup of test_tiff_gray2[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray2_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray2_png0/gray2.png') @pytest.fixture(scope="session") def tiff_gray2_img(tmp_path_factory, tmp_gray2_png): in_img = tmp_path_factory.mktemp("tiff_gray2") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray2_png), "-depth", "2", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 2, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray20/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 2, 'baseDepth': 2, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 3, 'mean': 1.315, 'median': 1, 'standardDeviation': 1.0873, 'kurtosis': -1.24094, 'skewness': 0.236132, 'entropy': 0.989108}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '726B', 'numberPixels': '3600', 'pixelsPerSecond': '13.6482MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'abff3699f88c4a9058bb00efd8418dd96b86e94c253201a5b8710d07c06b0c99', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 2, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2929: AssertionError _________________ ERROR at setup of test_tiff_gray4[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray4_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray4_png0/gray4.png') @pytest.fixture(scope="session") def tiff_gray4_img(tmp_path_factory, tmp_gray4_png): in_img = tmp_path_factory.mktemp("tiff_gray4") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray4_png), "-depth", "4", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 4, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray40/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 4, 'baseDepth': 4, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 15, 'mean': 6.58306, 'median': 6, 'standardDeviation': 5.14943, 'kurtosis': -1.33592, 'skewness': 0.173306, 'entropy': 0.92194}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1082B', 'numberPixels': '3600', 'pixelsPerSecond': '14.1106MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 4, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2979: AssertionError __________________ ERROR at setup of test_tiff_gray4[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray4_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray4_png0/gray4.png') @pytest.fixture(scope="session") def tiff_gray4_img(tmp_path_factory, tmp_gray4_png): in_img = tmp_path_factory.mktemp("tiff_gray4") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray4_png), "-depth", "4", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 4, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray40/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 4, 'baseDepth': 4, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 15, 'mean': 6.58306, 'median': 6, 'standardDeviation': 5.14943, 'kurtosis': -1.33592, 'skewness': 0.173306, 'entropy': 0.92194}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1082B', 'numberPixels': '3600', 'pixelsPerSecond': '14.1106MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'f55f92cd5de129beef98d7a2919d8c3af3b516976d822f041c7f99d42b48cc13', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 4, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2979: AssertionError _________________ ERROR at setup of test_tiff_gray8[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray8_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray8_png0/gray8.png') @pytest.fixture(scope="session") def tiff_gray8_img(tmp_path_factory, tmp_gray8_png): in_img = tmp_path_factory.mktemp("tiff_gray8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray8_png), "-depth", "8", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 254, 'mean': 111.517, 'median': 109, 'standardDeviation': 87.1815, 'kurtosis': -1.3425, 'skewness': 0.17345, 'entropy': 0.803611}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1750B', 'numberPixels': '3600', 'pixelsPerSecond': '14.0732MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3029: AssertionError __________________ ERROR at setup of test_tiff_gray8[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray8_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray8_png0/gray8.png') @pytest.fixture(scope="session") def tiff_gray8_img(tmp_path_factory, tmp_gray8_png): in_img = tmp_path_factory.mktemp("tiff_gray8") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray8_png), "-depth", "8", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 254, 'mean': 111.517, 'median': 109, 'standardDeviation': 87.1815, 'kurtosis': -1.3425, 'skewness': 0.17345, 'entropy': 0.803611}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1750B', 'numberPixels': '3600', 'pixelsPerSecond': '14.0732MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'c2667319eb8e6bd622ec637829745a79fb93e299e2215be085d5d4ce9ca4d1fa', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3029: AssertionError _________________ ERROR at setup of test_tiff_gray16[internal] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png') @pytest.fixture(scope="session") def tiff_gray16_img(tmp_path_factory, tmp_gray16_png): in_img = tmp_path_factory.mktemp("tiff_gray16") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray16_png), "-depth", "16", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray160/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 65534, 'mean': 28769.9, 'median': 28139, 'standardDeviation': 22445.6, 'kurtosis': -1.34052, 'skewness': 0.171573, 'entropy': 0.758063}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '4184B', 'numberPixels': '3600', 'pixelsPerSecond': '14.3601MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3079: AssertionError _________________ ERROR at setup of test_tiff_gray16[pikepdf] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray16_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png') @pytest.fixture(scope="session") def tiff_gray16_img(tmp_path_factory, tmp_gray16_png): in_img = tmp_path_factory.mktemp("tiff_gray16") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray16_png), "-depth", "16", "-compress", "Zip", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Grayscale", str(identify) assert identify[0]["image"].get("depth") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_gray160/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Grayscale', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 16, 'baseDepth': 16, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 65534, 'mean': 28769.9, 'median': 28139, 'standardDeviation': 22445.6, 'kurtosis': -1.34052, 'skewness': 0.171573, 'entropy': 0.758063}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '4184B', 'numberPixels': '3600', 'pixelsPerSecond': '14.3601MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '3dc6f07d1abbd185ffc0e5c1fe4d86353961d022ea3d6312862105552fd0b7fe', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 16, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3079: AssertionError _______________ ERROR at setup of test_tiff_multipage[internal] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') tmp_inverse_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/inverse_png0/inverse.png') @pytest.fixture(scope="session") def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): in_img = tmp_path_factory.mktemp("tiff_multipage_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), str(tmp_inverse_png), "-strip", "-compress", "Zip", str(in_img), ] ) identify = json.loads( subprocess.check_output(CONVERT + [str(in_img) + "[0]", "json:"]) ) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_multipage_img0/in.tiff[0]', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', 'tiff:subfiletype': 'PAGE'}, 'tainted': False, 'filesize': '4606B', 'numberPixels': '3600', 'pixelsPerSecond': '14.487MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', ...}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', ...} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3131: AssertionError ________________ ERROR at setup of test_tiff_multipage[pikepdf] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') tmp_inverse_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/inverse_png0/inverse.png') @pytest.fixture(scope="session") def tiff_multipage_img(tmp_path_factory, tmp_normal_png, tmp_inverse_png): in_img = tmp_path_factory.mktemp("tiff_multipage_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_normal_png), str(tmp_inverse_png), "-strip", "-compress", "Zip", str(in_img), ] ) identify = json.loads( subprocess.check_output(CONVERT + [str(in_img) + "[0]", "json:"]) ) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_multipage_img0/in.tiff[0]', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', 'tiff:subfiletype': 'PAGE'}, 'tainted': False, 'filesize': '4606B', 'numberPixels': '3600', 'pixelsPerSecond': '14.487MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', ...}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60', ...} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3131: AssertionError ________________ ERROR at setup of test_tiff_palette1[internal] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette1_png0/palette1.png') @pytest.fixture(scope="session") def tiff_palette1_img(tmp_path_factory, tmp_palette1_png): in_img = tmp_path_factory.mktemp("tiff_palette1_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette1_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 1, str(identify) assert identify[0]["image"].get("colormapEntries") == 2, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette1_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 1, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0.00392157, 'max': 0.996078, 'mean': 0.289466, 'median': 0.00784314, 'standardDeviation': 0.444914, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}}, 'channelStatistics': {'red': {'min': 0.00392157, 'max': 0.996078, 'mean': 0.287789, 'median': 0.00392157, 'standardDeviation': 0.44846, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}, 'green': {'min': 0.00784314, 'max': 0.992157, 'mean': 0.289466, 'median': 0.00784314, 'standardDeviation': 0.444914, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}, 'blue': {'min': 0.0117647, 'max': 0.988235, 'mean': 0.291144, 'median': 0.0117647, 'standardDeviation': 0.441369, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}}, 'colormapEntries': 2, 'colormap': ['#010203FF', '#FEFDFCFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '678B', 'numberPixels': '3600', 'pixelsPerSecond': '14.2981MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3208: AssertionError ________________ ERROR at setup of test_tiff_palette1[pikepdf] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette1_png0/palette1.png') @pytest.fixture(scope="session") def tiff_palette1_img(tmp_path_factory, tmp_palette1_png): in_img = tmp_path_factory.mktemp("tiff_palette1_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette1_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 1, str(identify) assert identify[0]["image"].get("colormapEntries") == 2, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette1_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 1, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0.00392157, 'max': 0.996078, 'mean': 0.289466, 'median': 0.00784314, 'standardDeviation': 0.444914, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}}, 'channelStatistics': {'red': {'min': 0.00392157, 'max': 0.996078, 'mean': 0.287789, 'median': 0.00392157, 'standardDeviation': 0.44846, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}, 'green': {'min': 0.00784314, 'max': 0.992157, 'mean': 0.289466, 'median': 0.00784314, 'standardDeviation': 0.444914, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}, 'blue': {'min': 0.0117647, 'max': 0.988235, 'mean': 0.291144, 'median': 0.0117647, 'standardDeviation': 0.441369, 'kurtosis': -1.10513, 'skewness': 0.946138, 'entropy': 0.863645}}, 'colormapEntries': 2, 'colormap': ['#010203FF', '#FEFDFCFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '678B', 'numberPixels': '3600', 'pixelsPerSecond': '14.2981MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'dc62896b6b3d3821fe51b079335349b090251db86c5413d64b5128a8e3551d7a', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3208: AssertionError ________________ ERROR at setup of test_tiff_palette2[internal] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette2_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette2_png0/palette2.png') @pytest.fixture(scope="session") def tiff_palette2_img(tmp_path_factory, tmp_palette2_png): in_img = tmp_path_factory.mktemp("tiff_palette2_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette2_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 2, str(identify) assert identify[0]["image"].get("colormapEntries") == 4, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette2_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 2, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 2.98824, 'mean': 0.680654, 'median': 0, 'standardDeviation': 1.25336, 'kurtosis': -0.31506, 'skewness': 1.29784, 'entropy': 0.774059}}, 'channelStatistics': {'red': {'min': 0, 'max': 2.98824, 'mean': 0.696425, 'median': 0, 'standardDeviation': 1.26353, 'kurtosis': -0.406743, 'skewness': 1.26229, 'entropy': 0.7833}, 'green': {'min': 0, 'max': 2.98824, 'mean': 0.674843, 'median': 0, 'standardDeviation': 1.24964, 'kurtosis': -0.281755, 'skewness': 1.31085, 'entropy': 0.770677}, 'blue': {'min': 0, 'max': 2.98824, 'mean': 0.670693, 'median': 0, 'standardDeviation': 1.24691, 'kurtosis': -0.256681, 'skewness': 1.32038, 'entropy': 0.7682}}, 'colormapEntries': 4, 'colormap': ['#000000FF', '#FE0000FF', '#00FE00FF', '#0000FEFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '830B', 'numberPixels': '3600', 'pixelsPerSecond': '9.58461MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 2, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3251: AssertionError ________________ ERROR at setup of test_tiff_palette2[pikepdf] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette2_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette2_png0/palette2.png') @pytest.fixture(scope="session") def tiff_palette2_img(tmp_path_factory, tmp_palette2_png): in_img = tmp_path_factory.mktemp("tiff_palette2_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette2_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 2, str(identify) assert identify[0]["image"].get("colormapEntries") == 4, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette2_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 2, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 2.98824, 'mean': 0.680654, 'median': 0, 'standardDeviation': 1.25336, 'kurtosis': -0.31506, 'skewness': 1.29784, 'entropy': 0.774059}}, 'channelStatistics': {'red': {'min': 0, 'max': 2.98824, 'mean': 0.696425, 'median': 0, 'standardDeviation': 1.26353, 'kurtosis': -0.406743, 'skewness': 1.26229, 'entropy': 0.7833}, 'green': {'min': 0, 'max': 2.98824, 'mean': 0.674843, 'median': 0, 'standardDeviation': 1.24964, 'kurtosis': -0.281755, 'skewness': 1.31085, 'entropy': 0.770677}, 'blue': {'min': 0, 'max': 2.98824, 'mean': 0.670693, 'median': 0, 'standardDeviation': 1.24691, 'kurtosis': -0.256681, 'skewness': 1.32038, 'entropy': 0.7682}}, 'colormapEntries': 4, 'colormap': ['#000000FF', '#FE0000FF', '#00FE00FF', '#0000FEFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '830B', 'numberPixels': '3600', 'pixelsPerSecond': '9.58461MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': 'a6e624ecaef8d81e284339c1aed63e39fe7eb1257df66a0beff2eef7d9359d84', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 2, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3251: AssertionError ________________ ERROR at setup of test_tiff_palette4[internal] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette4_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette4_png0/palette4.png') @pytest.fixture(scope="session") def tiff_palette4_img(tmp_path_factory, tmp_palette4_png): in_img = tmp_path_factory.mktemp("tiff_palette4_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette4_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 4, str(identify) assert identify[0]["image"].get("colormapEntries") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette4_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 4, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 15, 'mean': 4.35056, 'median': 0, 'standardDeviation': 6.10245, 'kurtosis': -0.878524, 'skewness': 0.899628, 'entropy': 0.665013}}, 'channelStatistics': {'red': {'min': 0, 'max': 15, 'mean': 4.86799, 'median': 0, 'standardDeviation': 6.56344, 'kurtosis': -1.29087, 'skewness': 0.739509, 'entropy': 0.662343}, 'green': {'min': 0, 'max': 15, 'mean': 4.27717, 'median': 0, 'standardDeviation': 6.16387, 'kurtosis': -0.883314, 'skewness': 0.931871, 'entropy': 0.658975}, 'blue': {'min': 0, 'max': 15, 'mean': 3.90652, 'median': 0, 'standardDeviation': 5.58004, 'kurtosis': -0.461386, 'skewness': 1.0275, 'entropy': 0.673721}}, 'colormapEntries': 16, 'colormap': ['#000000FF', '#800000FF', '#008000FF', '#808000FF', '#000080FF', '#800080FF', '#008080FF', '#C0C0C0FF', '#808080FF', '#FF0000FF', '#00FF00FF', '#FF0000FF', '#00FF00FF', '#FF00FFFF', '#00FF00FF', '#FFFFFFFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1072B', 'numberPixels': '3600', 'pixelsPerSecond': '9.10664MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 4, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3294: AssertionError ________________ ERROR at setup of test_tiff_palette4[pikepdf] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette4_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette4_png0/palette4.png') @pytest.fixture(scope="session") def tiff_palette4_img(tmp_path_factory, tmp_palette4_png): in_img = tmp_path_factory.mktemp("tiff_palette4_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette4_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("baseDepth") == 4, str(identify) assert identify[0]["image"].get("colormapEntries") == 16, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette4_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 4, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 15, 'mean': 4.35056, 'median': 0, 'standardDeviation': 6.10245, 'kurtosis': -0.878524, 'skewness': 0.899628, 'entropy': 0.665013}}, 'channelStatistics': {'red': {'min': 0, 'max': 15, 'mean': 4.86799, 'median': 0, 'standardDeviation': 6.56344, 'kurtosis': -1.29087, 'skewness': 0.739509, 'entropy': 0.662343}, 'green': {'min': 0, 'max': 15, 'mean': 4.27717, 'median': 0, 'standardDeviation': 6.16387, 'kurtosis': -0.883314, 'skewness': 0.931871, 'entropy': 0.658975}, 'blue': {'min': 0, 'max': 15, 'mean': 3.90652, 'median': 0, 'standardDeviation': 5.58004, 'kurtosis': -0.461386, 'skewness': 1.0275, 'entropy': 0.673721}}, 'colormapEntries': 16, 'colormap': ['#000000FF', '#800000FF', '#008000FF', '#808000FF', '#000080FF', '#800080FF', '#008080FF', '#C0C0C0FF', '#808080FF', '#FF0000FF', '#00FF00FF', '#FF0000FF', '#00FF00FF', '#FF00FFFF', '#00FF00FF', '#FFFFFFFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1072B', 'numberPixels': '3600', 'pixelsPerSecond': '9.10664MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '996c2a56ee8422da0f767d68b7bb2b067f628c17f9fd1d8be8a078d42608b2c6', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 4, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3294: AssertionError ________________ ERROR at setup of test_tiff_palette8[internal] ________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette8_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette8_png0/palette8.png') @pytest.fixture(scope="session") def tiff_palette8_img(tmp_path_factory, tmp_palette8_png): in_img = tmp_path_factory.mktemp("tiff_palette8_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette8_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("colormapEntries") == 256, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette8_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.4189, 'median': 0, 'standardDeviation': 106.677, 'kurtosis': -0.998918, 'skewness': 0.913351, 'entropy': 0.575446}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.4925, 'median': 0, 'standardDeviation': 106.619, 'kurtosis': -0.999317, 'skewness': 0.912972, 'entropy': 0.580509}, 'green': {'min': 0, 'max': 255, 'mean': 74.5561, 'median': 0, 'standardDeviation': 106.546, 'kurtosis': -1.00447, 'skewness': 0.911503, 'entropy': 0.566691}, 'blue': {'min': 0, 'max': 255, 'mean': 74.2081, 'median': 0, 'standardDeviation': 106.867, 'kurtosis': -0.992966, 'skewness': 0.915579, 'entropy': 0.579138}}, 'colormapEntries': 256, 'colormap': ['#0F0F0FFF', '#1E1E1EFF', '#2D2D2DFF', '#3C3C3CFF', '#4B4B4BFF', '#5A5A5AFF', '#696969FF', '#787878FF', '#878787FF', '#969696FF', '#A5A5A5FF', '#B4B4B4FF', '#C3C3C3FF', '#D2D2D2FF', '#E1E1E1FF', '#F0F0F0FF', '#000000FF', '#000040FF', '#000080FF', '#0000BFFF', '#0000FFFF', '#002400FF', '#002440FF', '#002480FF', '#0024BFFF', '#0024FFFF', '#004900FF', '#004940FF', '#004980FF', '#0049BFFF', '#0049FFFF', '#006D00FF', '#006D40FF', '#006D80FF', '#006DBFFF', '#006DFFFF', '#009200FF', '#009240FF', '#009280FF', '#0092BFFF', '#0092FFFF', '#00B600FF', '#00B640FF', '#00B680FF', '#00B6BFFF', '#00B6FFFF', '#00DB00FF', '#00DB40FF', '#00DB80FF', '#00DBBFFF', '#00DBFFFF', '#00FF00FF', '#00FF40FF', '#00FF80FF', '#00FFBFFF', '#00FFFFFF', '#330000FF', '#330040FF', '#330080FF', '#3300BFFF', '#3300FFFF', '#332400FF', '#332440FF', '#332480FF', '#3324BFFF', '#3324FFFF', '#334900FF', '#334940FF', '#334980FF', '#3349BFFF', '#3349FFFF', '#336D00FF', '#336D40FF', '#336D80FF', '#336DBFFF', '#336DFFFF', '#339200FF', '#339240FF', '#339280FF', '#3392BFFF', '#3392FFFF', '#33B600FF', '#33B640FF', '#33B680FF', '#33B6BFFF', '#33B6FFFF', '#33DB00FF', '#33DB40FF', '#33DB80FF', '#33DBBFFF', '#33DBFFFF', '#33FF00FF', '#33FF40FF', '#33FF80FF', '#33FFBFFF', '#33FFFFFF', '#660000FF', '#660040FF', '#660080FF', '#6600BFFF', '#6600FFFF', '#662400FF', '#662440FF', '#662480FF', '#6624BFFF', '#6624FFFF', '#664900FF', '#664940FF', '#664980FF', '#6649BFFF', '#6649FFFF', '#666D00FF', '#666D40FF', '#666D80FF', '#666DBFFF', '#666DFFFF', '#669200FF', '#669240FF', '#669280FF', '#6692BFFF', '#6692FFFF', '#66B600FF', '#66B640FF', '#66B680FF', '#66B6BFFF', '#66B6FFFF', '#66DB00FF', '#66DB40FF', '#66DB80FF', '#66DBBFFF', '#66DBFFFF', '#66FF00FF', '#66FF40FF', '#66FF80FF', '#66FFBFFF', '#66FFFFFF', '#990000FF', '#990040FF', '#990080FF', '#9900BFFF', '#9900FFFF', '#992400FF', '#992440FF', '#992480FF', '#9924BFFF', '#9924FFFF', '#994900FF', '#994940FF', '#994980FF', '#9949BFFF', '#9949FFFF', '#996D00FF', '#996D40FF', '#996D80FF', '#996DBFFF', '#996DFFFF', '#999200FF', '#999240FF', '#999280FF', '#9992BFFF', '#9992FFFF', '#99B600FF', '#99B640FF', '#99B680FF', '#99B6BFFF', '#99B6FFFF', '#99DB00FF', '#99DB40FF', '#99DB80FF', '#99DBBFFF', '#99DBFFFF', '#99FF00FF', '#99FF40FF', '#99FF80FF', '#99FFBFFF', '#99FFFFFF', '#CC0000FF', '#CC0040FF', '#CC0080FF', '#CC00BFFF', '#CC00FFFF', '#CC2400FF', '#CC2440FF', '#CC2480FF', '#CC24BFFF', '#CC24FFFF', '#CC4900FF', '#CC4940FF', '#CC4980FF', '#CC49BFFF', '#CC49FFFF', '#CC6D00FF', '#CC6D40FF', '#CC6D80FF', '#CC6DBFFF', '#CC6DFFFF', '#CC9200FF', '#CC9240FF', '#CC9280FF', '#CC92BFFF', '#CC92FFFF', '#CCB600FF', '#CCB640FF', '#CCB680FF', '#CCB6BFFF', '#CCB6FFFF', '#CCDB00FF', '#CCDB40FF', '#CCDB80FF', '#CCDBBFFF', '#CCDBFFFF', '#CCFF00FF', '#CCFF40FF', '#CCFF80FF', '#CCFFBFFF', '#CCFFFFFF', '#FF0000FF', '#FF0040FF', '#FF0080FF', '#FF00BFFF', '#FF00FFFF', '#FF2400FF', '#FF2440FF', '#FF2480FF', '#FF24BFFF', '#FF24FFFF', '#FF4900FF', '#FF4940FF', '#FF4980FF', '#FF49BFFF', '#FF49FFFF', '#FF6D00FF', '#FF6D40FF', '#FF6D80FF', '#FF6DBFFF', '#FF6DFFFF', '#FF9200FF', '#FF9240FF', '#FF9280FF', '#FF92BFFF', '#FF92FFFF', '#FFB600FF', '#FFB640FF', '#FFB680FF', '#FFB6BFFF', '#FFB6FFFF', '#FFDB00FF', '#FFDB40FF', '#FFDB80FF', '#FFDBBFFF', '#FFDBFFFF', '#FFFF00FF', '#FFFF40FF', '#FFFF80FF', '#FFFFBFFF', '#FFFFFFFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2970B', 'numberPixels': '3600', 'pixelsPerSecond': '9.14481MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3336: AssertionError ________________ ERROR at setup of test_tiff_palette8[pikepdf] _________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_palette8_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/palette8_png0/palette8.png') @pytest.fixture(scope="session") def tiff_palette8_img(tmp_path_factory, tmp_palette8_png): in_img = tmp_path_factory.mktemp("tiff_palette8_img") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_palette8_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "Palette", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("colormapEntries") == 256, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_palette8_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'PseudoClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Palette', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.4189, 'median': 0, 'standardDeviation': 106.677, 'kurtosis': -0.998918, 'skewness': 0.913351, 'entropy': 0.575446}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.4925, 'median': 0, 'standardDeviation': 106.619, 'kurtosis': -0.999317, 'skewness': 0.912972, 'entropy': 0.580509}, 'green': {'min': 0, 'max': 255, 'mean': 74.5561, 'median': 0, 'standardDeviation': 106.546, 'kurtosis': -1.00447, 'skewness': 0.911503, 'entropy': 0.566691}, 'blue': {'min': 0, 'max': 255, 'mean': 74.2081, 'median': 0, 'standardDeviation': 106.867, 'kurtosis': -0.992966, 'skewness': 0.915579, 'entropy': 0.579138}}, 'colormapEntries': 256, 'colormap': ['#0F0F0FFF', '#1E1E1EFF', '#2D2D2DFF', '#3C3C3CFF', '#4B4B4BFF', '#5A5A5AFF', '#696969FF', '#787878FF', '#878787FF', '#969696FF', '#A5A5A5FF', '#B4B4B4FF', '#C3C3C3FF', '#D2D2D2FF', '#E1E1E1FF', '#F0F0F0FF', '#000000FF', '#000040FF', '#000080FF', '#0000BFFF', '#0000FFFF', '#002400FF', '#002440FF', '#002480FF', '#0024BFFF', '#0024FFFF', '#004900FF', '#004940FF', '#004980FF', '#0049BFFF', '#0049FFFF', '#006D00FF', '#006D40FF', '#006D80FF', '#006DBFFF', '#006DFFFF', '#009200FF', '#009240FF', '#009280FF', '#0092BFFF', '#0092FFFF', '#00B600FF', '#00B640FF', '#00B680FF', '#00B6BFFF', '#00B6FFFF', '#00DB00FF', '#00DB40FF', '#00DB80FF', '#00DBBFFF', '#00DBFFFF', '#00FF00FF', '#00FF40FF', '#00FF80FF', '#00FFBFFF', '#00FFFFFF', '#330000FF', '#330040FF', '#330080FF', '#3300BFFF', '#3300FFFF', '#332400FF', '#332440FF', '#332480FF', '#3324BFFF', '#3324FFFF', '#334900FF', '#334940FF', '#334980FF', '#3349BFFF', '#3349FFFF', '#336D00FF', '#336D40FF', '#336D80FF', '#336DBFFF', '#336DFFFF', '#339200FF', '#339240FF', '#339280FF', '#3392BFFF', '#3392FFFF', '#33B600FF', '#33B640FF', '#33B680FF', '#33B6BFFF', '#33B6FFFF', '#33DB00FF', '#33DB40FF', '#33DB80FF', '#33DBBFFF', '#33DBFFFF', '#33FF00FF', '#33FF40FF', '#33FF80FF', '#33FFBFFF', '#33FFFFFF', '#660000FF', '#660040FF', '#660080FF', '#6600BFFF', '#6600FFFF', '#662400FF', '#662440FF', '#662480FF', '#6624BFFF', '#6624FFFF', '#664900FF', '#664940FF', '#664980FF', '#6649BFFF', '#6649FFFF', '#666D00FF', '#666D40FF', '#666D80FF', '#666DBFFF', '#666DFFFF', '#669200FF', '#669240FF', '#669280FF', '#6692BFFF', '#6692FFFF', '#66B600FF', '#66B640FF', '#66B680FF', '#66B6BFFF', '#66B6FFFF', '#66DB00FF', '#66DB40FF', '#66DB80FF', '#66DBBFFF', '#66DBFFFF', '#66FF00FF', '#66FF40FF', '#66FF80FF', '#66FFBFFF', '#66FFFFFF', '#990000FF', '#990040FF', '#990080FF', '#9900BFFF', '#9900FFFF', '#992400FF', '#992440FF', '#992480FF', '#9924BFFF', '#9924FFFF', '#994900FF', '#994940FF', '#994980FF', '#9949BFFF', '#9949FFFF', '#996D00FF', '#996D40FF', '#996D80FF', '#996DBFFF', '#996DFFFF', '#999200FF', '#999240FF', '#999280FF', '#9992BFFF', '#9992FFFF', '#99B600FF', '#99B640FF', '#99B680FF', '#99B6BFFF', '#99B6FFFF', '#99DB00FF', '#99DB40FF', '#99DB80FF', '#99DBBFFF', '#99DBFFFF', '#99FF00FF', '#99FF40FF', '#99FF80FF', '#99FFBFFF', '#99FFFFFF', '#CC0000FF', '#CC0040FF', '#CC0080FF', '#CC00BFFF', '#CC00FFFF', '#CC2400FF', '#CC2440FF', '#CC2480FF', '#CC24BFFF', '#CC24FFFF', '#CC4900FF', '#CC4940FF', '#CC4980FF', '#CC49BFFF', '#CC49FFFF', '#CC6D00FF', '#CC6D40FF', '#CC6D80FF', '#CC6DBFFF', '#CC6DFFFF', '#CC9200FF', '#CC9240FF', '#CC9280FF', '#CC92BFFF', '#CC92FFFF', '#CCB600FF', '#CCB640FF', '#CCB680FF', '#CCB6BFFF', '#CCB6FFFF', '#CCDB00FF', '#CCDB40FF', '#CCDB80FF', '#CCDBBFFF', '#CCDBFFFF', '#CCFF00FF', '#CCFF40FF', '#CCFF80FF', '#CCFFBFFF', '#CCFFFFFF', '#FF0000FF', '#FF0040FF', '#FF0080FF', '#FF00BFFF', '#FF00FFFF', '#FF2400FF', '#FF2440FF', '#FF2480FF', '#FF24BFFF', '#FF24FFFF', '#FF4900FF', '#FF4940FF', '#FF4980FF', '#FF49BFFF', '#FF49FFFF', '#FF6D00FF', '#FF6D40FF', '#FF6D80FF', '#FF6DBFFF', '#FF6DFFFF', '#FF9200FF', '#FF9240FF', '#FF9280FF', '#FF92BFFF', '#FF92FFFF', '#FFB600FF', '#FFB640FF', '#FFB680FF', '#FFB6BFFF', '#FFB6FFFF', '#FFDB00FF', '#FFDB40FF', '#FFDB80FF', '#FFDBBFFF', '#FFDBFFFF', '#FFFF00FF', '#FFFF40FF', '#FFFF80FF', '#FFFFBFFF', '#FFFFFFFF'], 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2970B', 'numberPixels': '3600', 'pixelsPerSecond': '9.14481MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '698eff80780ee9b6927690e7948185d5bc1ecaaf1cc1f358f2462c70428e1856', 'tiff:endian': 'lsb', 'tiff:photometric': 'palette', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3336: AssertionError __________ ERROR at setup of test_tiff_ccitt_lsb_m2l_white[internal] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_lsb_m2l_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_lsb_m2l_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_lsb_m2l_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '14.6718MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3397: AssertionError ___________ ERROR at setup of test_tiff_ccitt_lsb_m2l_white[pikepdf] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_lsb_m2l_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_lsb_m2l_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_lsb_m2l_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '14.6718MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3397: AssertionError __________ ERROR at setup of test_tiff_ccitt_msb_m2l_white[internal] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_msb_m2l_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_msb_m2l_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=msb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "MSB", ] # FIXME: should be MSB assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_msb_m2l_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'MSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '9.44034MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3479: AssertionError ___________ ERROR at setup of test_tiff_ccitt_msb_m2l_white[pikepdf] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_msb_m2l_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_msb_m2l_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=msb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "MSB", ] # FIXME: should be MSB assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_msb_m2l_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'MSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '9.44034MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3479: AssertionError __________ ERROR at setup of test_tiff_ccitt_msb_l2m_white[internal] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_msb_l2m_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_msb_l2m_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=msb", "-define", "tiff:fill-order=lsb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "MSB", ] # FIXME: should be MSB assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_msb_l2m_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'MSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '8.98753MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3561: AssertionError ___________ ERROR at setup of test_tiff_ccitt_msb_l2m_white[pikepdf] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_msb_l2m_white_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_msb_l2m_white_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=msb", "-define", "tiff:fill-order=lsb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "MSB", ] # FIXME: should be MSB assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_msb_l2m_white_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'MSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '976B', 'numberPixels': '3600', 'pixelsPerSecond': '8.98753MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'msb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3561: AssertionError __________ ERROR at setup of test_tiff_ccitt_lsb_m2l_black[internal] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_lsb_m2l_black_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_lsb_m2l_black_img") / "in.tiff" # "-define quantum:polarity=min-is-black" requires ImageMagick with: # https://github.com/ImageMagick/ImageMagick/commit/00730551f0a34328685c59d0dde87dd9e366103a # or at least 7.0.8-11 from Aug 29, 2018 # or at least 6.9.10-12 from Sep 7, 2018 (for the ImageMagick6 branch) # also see: https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=34605 subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-black", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_lsb_m2l_black_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '970B', 'numberPixels': '3600', 'pixelsPerSecond': '16.2987MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3648: AssertionError ___________ ERROR at setup of test_tiff_ccitt_lsb_m2l_black[pikepdf] ___________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_lsb_m2l_black_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_lsb_m2l_black_img") / "in.tiff" # "-define quantum:polarity=min-is-black" requires ImageMagick with: # https://github.com/ImageMagick/ImageMagick/commit/00730551f0a34328685c59d0dde87dd9e366103a # or at least 7.0.8-11 from Aug 29, 2018 # or at least 6.9.10-12 from Sep 7, 2018 (for the ImageMagick6 branch) # also see: https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=34605 subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-black", "-compress", "Group4", str(in_img), ] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_lsb_m2l_black_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '970B', 'numberPixels': '3600', 'pixelsPerSecond': '16.2987MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-black', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3648: AssertionError _____________ ERROR at setup of test_tiff_ccitt_nometa1[internal] ______________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_nometa1_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_nometa1_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) subprocess.check_call( ["tiffset", "-u", "258", str(in_img)] ) # remove BitsPerSample (258) subprocess.check_call( ["tiffset", "-u", "266", str(in_img)] ) # remove FillOrder (266) subprocess.check_call( ["tiffset", "-u", "277", str(in_img)] ) # remove SamplesPerPixel (277) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_nometa1_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1390B', 'numberPixels': '3600', 'pixelsPerSecond': '10.0524MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3739: AssertionError ______________ ERROR at setup of test_tiff_ccitt_nometa1[pikepdf] ______________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_nometa1_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_nometa1_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) subprocess.check_call( ["tiffset", "-u", "258", str(in_img)] ) # remove BitsPerSample (258) subprocess.check_call( ["tiffset", "-u", "266", str(in_img)] ) # remove FillOrder (266) subprocess.check_call( ["tiffset", "-u", "277", str(in_img)] ) # remove SamplesPerPixel (277) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_nometa1_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '1390B', 'numberPixels': '3600', 'pixelsPerSecond': '10.0524MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3739: AssertionError _____________ ERROR at setup of test_tiff_ccitt_nometa2[internal] ______________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_nometa2_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_nometa2_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) subprocess.check_call( ["tiffset", "-u", "278", str(in_img)] ) # remove RowsPerStrip (278) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("units") == "PixelsPerInch", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_nometa2_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'}, 'tainted': False, 'filesize': '1126B', 'numberPixels': '3600', 'pixelsPerSecond': '16.0808MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3819: AssertionError ______________ ERROR at setup of test_tiff_ccitt_nometa2[pikepdf] ______________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_gray1_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray1_png0/gray1.png') @pytest.fixture(scope="session") def tiff_ccitt_nometa2_img(tmp_path_factory, tmp_gray1_png): in_img = tmp_path_factory.mktemp("tiff_ccitt_nometa2_img") / "in.tiff" subprocess.check_call( CONVERT + [ str(tmp_gray1_png), "-compress", "group4", "-define", "tiff:endian=lsb", "-define", "tiff:fill-order=msb", "-define", "quantum:polarity=min-is-white", "-compress", "Group4", str(in_img), ] ) subprocess.check_call( ["tiffset", "-u", "278", str(in_img)] ) # remove RowsPerStrip (278) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("units") == "PixelsPerInch", str(identify) assert identify[0]["image"].get("type") == "Bilevel", str(identify) endian = "endianess" if identify[0].get("version", "0") < "1.0" else "endianness" assert identify[0]["image"].get(endian) in [ "Undefined", "LSB", ], str(identify) assert identify[0]["image"].get("colorspace") == "Gray", str(identify) assert identify[0]["image"].get("depth") == 1, str(identify) assert identify[0]["image"].get("compression") == "Group4", str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_ccitt_nometa2_img0/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'Bilevel', 'endianness': 'LSB', 'colorspace': 'Gray', 'depth': 1, 'baseDepth': 1, 'channelDepth': {'gray': 1}, 'pixels': 3600, 'channelStatistics': {'gray': {'min': 0, 'max': 1, 'mean': 0.436111, 'median': 0, 'standardDeviation': 0.49597, 'kurtosis': -1.9342, 'skewness': 0.25756, 'entropy': 0.98819}}, 'renderingIntent': 'Undefined', 'gamma': 0.454545, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Group4', 'orientation': 'TopLeft', 'properties': {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'}, 'tainted': False, 'filesize': '1126B', 'numberPixels': '3600', 'pixelsPerSecond': '16.0808MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'}.get E + where {'signature': '7cb2a4f4df5f29f3dcd3713b56f19caeb1074bdfee5baa5bfc3579735e655f66', 'tiff:endian': 'lsb', 'tiff:photometric': 'min-is-white'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 1, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:3819: AssertionError __________________ ERROR at setup of test_miff_rgb8[internal] __________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_normal_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2256B', 'numberPixels': '3600', 'pixelsPerSecond': '9.41386MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2583: AssertionError __________________ ERROR at setup of test_miff_rgb8[pikepdf] ___________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') tmp_normal_png = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal_png0/normal.png') @pytest.fixture(scope="session") def tiff_rgb8_img(tmp_path_factory, tmp_normal_png): in_img = tmp_path_factory.mktemp("tiff_rgb8") / "in.tiff" subprocess.check_call( CONVERT + [str(tmp_normal_png), "-compress", "Zip", str(in_img)] ) identify = json.loads(subprocess.check_output(CONVERT + [str(in_img), "json:"])) assert len(identify) == 1 # somewhere between imagemagick 6.9.7.4 and 6.9.9.34, the json output was # put into an array, here we cater for the older version containing just # the bare dictionary if "image" in identify: identify = [identify] assert "image" in identify[0] assert identify[0]["image"].get("format") == "TIFF", str(identify) assert identify[0]["image"].get("mimeType") == "image/tiff", str(identify) assert identify[0]["image"].get("geometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) assert identify[0]["image"].get("colorspace") == "sRGB", str(identify) assert identify[0]["image"].get("type") == "TrueColor", str(identify) assert identify[0]["image"].get("depth") == 8, str(identify) assert identify[0]["image"].get("pageGeometry") == { "width": 60, "height": 60, "x": 0, "y": 0, }, str(identify) > assert ( identify[0]["image"].get("properties", {}).get("tiff:alpha") == "unspecified" ), str(identify) E AssertionError: [{'version': '1.0', 'image': {'name': '/tmp/pytest-of-mockbuild/pytest-0/tiff_rgb80/in.tiff', 'baseName': 'in.tiff', 'format': 'TIFF', 'formatDescription': 'Tagged Image File Format', 'mimeType': 'image/tiff', 'class': 'DirectClass', 'geometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'units': 'PixelsPerInch', 'type': 'TrueColor', 'endianness': 'LSB', 'colorspace': 'sRGB', 'depth': 8, 'baseDepth': 8, 'channelDepth': {'red': 8, 'green': 8, 'blue': 1}, 'pixels': 3600, 'imageStatistics': {'Overall': {'min': 0, 'max': 255, 'mean': 74.1465, 'median': 0, 'standardDeviation': 106.006, 'kurtosis': -1.00199, 'skewness': 0.91509, 'entropy': 0.460859}}, 'channelStatistics': {'red': {'min': 0, 'max': 255, 'mean': 74.1542, 'median': 0, 'standardDeviation': 105.978, 'kurtosis': -1.0011, 'skewness': 0.915359, 'entropy': 0.462046}, 'green': {'min': 0, 'max': 255, 'mean': 74.2758, 'median': 0, 'standardDeviation': 106.06, 'kurtosis': -1.00686, 'skewness': 0.912479, 'entropy': 0.460981}, 'blue': {'min': 0, 'max': 255, 'mean': 74.0094, 'median': 0, 'standardDeviation': 105.979, 'kurtosis': -0.998009, 'skewness': 0.917431, 'entropy': 0.459548}}, 'renderingIntent': 'Perceptual', 'gamma': 0.454545, 'chromaticity': {'redPrimary': {'x': 0.64, 'y': 0.33}, 'greenPrimary': {'x': 0.3, 'y': 0.6}, 'bluePrimary': {'x': 0.15, 'y': 0.06}, 'whitePrimary': {'x': 0.3127, 'y': 0.329}}, 'matteColor': '#BDBDBDBDBDBD', 'backgroundColor': '#FFFFFFFFFFFF', 'borderColor': '#DFDFDFDFDFDF', 'transparentColor': '#000000000000', 'interlace': 'None', 'intensity': 'Undefined', 'compose': 'Over', 'pageGeometry': {'width': 60, 'height': 60, 'x': 0, 'y': 0}, 'dispose': 'Undefined', 'iterations': 0, 'compression': 'Zip', 'orientation': 'TopLeft', 'properties': {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}, 'tainted': False, 'filesize': '2256B', 'numberPixels': '3600', 'pixelsPerSecond': '9.41386MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-43 Q16-HDRI x86_64 22550 https://imagemagick.org'}}] E assert None == 'unspecified' E + where None = ('tiff:alpha') E + where = {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'}.get E + where {'signature': '347da9cc530cc040b2818b07e399104f8cd8dd42a484eb9524b0ba9970fb8cd2', 'tiff:endian': 'lsb', 'tiff:photometric': 'RGB', 'tiff:rows-per-strip': '60'} = ('properties', {}) E + where = {'backgroundColor': '#FFFFFFFFFFFF', 'baseDepth': 8, 'baseName': 'in.tiff', 'borderColor': '#DFDFDFDFDFDF', ...}.get src/img2pdf_test.py:2583: AssertionError =================================== FAILURES =================================== ________________________ test_jpg_2000_rgba8[internal] _________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') jpg_2000_rgba8_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba80/in.jp2') jpg_2000_rgba8_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba8_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) @pytest.mark.skipif( not HAVE_JP2, reason="requires imagemagick with support for jpeg2000" ) def test_jpg_2000_rgba8(tmp_path_factory, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf): tmpdir = tmp_path_factory.mktemp("jpg_2000_rgba8") compare_ghostscript(tmpdir, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf) > compare_poppler(tmpdir, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf) src/img2pdf_test.py:5594: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:422: in compare_poppler compare(str(img), str(tmpdir / "poppler-1.png"), exact, icc, False) src/img2pdf_test.py:355: in compare subprocess.check_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['magick', 'compare', '-metric', 'AE', '-alpha', 'off', ...],) kwargs = {}, retcode = 1 cmd = ['magick', 'compare', '-metric', 'AE', '-alpha', 'off', ...] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['magick', 'compare', '-metric', 'AE', '-alpha', 'off', '/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba80/in.jp2', '/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba81/poppler-1.png', 'null:']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:421: CalledProcessError ----------------------------- Captured stderr call ----------------------------- 03600 _________________________ test_jpg_2000_rgba8[pikepdf] _________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') jpg_2000_rgba8_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba80/in.jp2') jpg_2000_rgba8_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba8_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) @pytest.mark.skipif( not HAVE_JP2, reason="requires imagemagick with support for jpeg2000" ) def test_jpg_2000_rgba8(tmp_path_factory, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf): tmpdir = tmp_path_factory.mktemp("jpg_2000_rgba8") compare_ghostscript(tmpdir, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf) > compare_poppler(tmpdir, jpg_2000_rgba8_img, jpg_2000_rgba8_pdf) src/img2pdf_test.py:5594: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:422: in compare_poppler compare(str(img), str(tmpdir / "poppler-1.png"), exact, icc, False) src/img2pdf_test.py:355: in compare subprocess.check_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['magick', 'compare', '-metric', 'AE', '-alpha', 'off', ...],) kwargs = {}, retcode = 1 cmd = ['magick', 'compare', '-metric', 'AE', '-alpha', 'off', ...] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['magick', 'compare', '-metric', 'AE', '-alpha', 'off', '/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba80/in.jp2', '/tmp/pytest-of-mockbuild/pytest-0/jpg_2000_rgba82/poppler-1.png', 'null:']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:421: CalledProcessError ----------------------------- Captured stderr call ----------------------------- 03600 =========================== short test summary info ============================ FAILED src/img2pdf_test.py::test_jpg_2000_rgba8[internal] - subprocess.Called... FAILED src/img2pdf_test.py::test_jpg_2000_rgba8[pikepdf] - subprocess.CalledP... ERROR src/img2pdf_test.py::test_tiff_float[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_float[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_cmyk8[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_cmyk8[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_cmyk16[internal] - AssertionError: [{'ve... ERROR src/img2pdf_test.py::test_tiff_cmyk16[pikepdf] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_rgb8[internal] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_rgb8[pikepdf] - AssertionError: [{'versi... ERROR src/img2pdf_test.py::test_tiff_rgb12[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_rgb12[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_rgb14[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_rgb14[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_rgb16[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_rgb16[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_gray1[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_gray1[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_gray2[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_gray2[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_gray4[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_gray4[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_gray8[internal] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_gray8[pikepdf] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_tiff_gray16[internal] - AssertionError: [{'ve... ERROR src/img2pdf_test.py::test_tiff_gray16[pikepdf] - AssertionError: [{'ver... ERROR src/img2pdf_test.py::test_tiff_multipage[internal] - AssertionError: [{... ERROR src/img2pdf_test.py::test_tiff_multipage[pikepdf] - AssertionError: [{'... ERROR src/img2pdf_test.py::test_tiff_palette1[internal] - AssertionError: [{'... ERROR src/img2pdf_test.py::test_tiff_palette1[pikepdf] - AssertionError: [{'v... ERROR src/img2pdf_test.py::test_tiff_palette2[internal] - AssertionError: [{'... ERROR src/img2pdf_test.py::test_tiff_palette2[pikepdf] - AssertionError: [{'v... ERROR src/img2pdf_test.py::test_tiff_palette4[internal] - AssertionError: [{'... ERROR src/img2pdf_test.py::test_tiff_palette4[pikepdf] - AssertionError: [{'v... ERROR src/img2pdf_test.py::test_tiff_palette8[internal] - AssertionError: [{'... ERROR src/img2pdf_test.py::test_tiff_palette8[pikepdf] - AssertionError: [{'v... ERROR src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_white[internal] - Assertio... ERROR src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_white[pikepdf] - Assertion... ERROR src/img2pdf_test.py::test_tiff_ccitt_msb_m2l_white[internal] - Assertio... ERROR src/img2pdf_test.py::test_tiff_ccitt_msb_m2l_white[pikepdf] - Assertion... ERROR src/img2pdf_test.py::test_tiff_ccitt_msb_l2m_white[internal] - Assertio... ERROR src/img2pdf_test.py::test_tiff_ccitt_msb_l2m_white[pikepdf] - Assertion... ERROR src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_black[internal] - Assertio... ERROR src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_black[pikepdf] - Assertion... ERROR src/img2pdf_test.py::test_tiff_ccitt_nometa1[internal] - AssertionError... ERROR src/img2pdf_test.py::test_tiff_ccitt_nometa1[pikepdf] - AssertionError:... ERROR src/img2pdf_test.py::test_tiff_ccitt_nometa2[internal] - AssertionError... ERROR src/img2pdf_test.py::test_tiff_ccitt_nometa2[pikepdf] - AssertionError:... ERROR src/img2pdf_test.py::test_miff_rgb8[internal] - AssertionError: [{'vers... ERROR src/img2pdf_test.py::test_miff_rgb8[pikepdf] - AssertionError: [{'versi... ====== 2 failed, 287 passed, 8 skipped, 6 deselected, 48 errors in 43.03s ====== RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.jIvpEx (%check) Bad exit status from /var/tmp/rpm-tmp.jIvpEx (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M 8688dd9e7f174536a86b8a356e322b9a -D /var/lib/mock/f42-build-57656609-6556305/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin \'--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"\' \'--setenv=PS1= \\s-\\v\\$ \' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c \'/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.13/site-packages/mockbuild/util.py", line 610, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # /usr/bin/systemd-nspawn -q -M 8688dd9e7f174536a86b8a356e322b9a -D /var/lib/mock/f42-build-57656609-6556305/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.ovcqey7w:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-img2pdf.spec'