Mock Version: 6.1 Mock Version: 6.1 Mock Version: 6.1 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/f40-build-59084700-6570958/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.80wvnbot:/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.80wvnbot:/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', '4597c5fec569455e9936eaeb5dd74f40', '-D', '/var/lib/mock/f40-build-59084700-6570958/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.80wvnbot:/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=1708128000 Wrote: /builddir/build/SRPMS/python-img2pdf-0.5.1-1.fc40.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/f40-build-59084700-6570958/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.80wvnbot:/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.80wvnbot:/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', 'f42e691afd4d42b9abc30baa6233f383', '-D', '/var/lib/mock/f40-build-59084700-6570958/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.80wvnbot:/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=1708128000 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.jXiYH6 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/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 + rm -rf /builddir/build/BUILD/img2pdf-0.5.1-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/img2pdf-0.5.1-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.0ay32W + umask 022 + cd /builddir/build/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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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.7Mdffn + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch ++ dirname /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch --prefix /usr running install /usr/lib/python3.12/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/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr creating /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib creating /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12 creating /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages copying build/lib/img2pdf.py -> /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages copying build/lib/jp2.py -> /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages byte-compiling /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages/img2pdf.py to img2pdf.cpython-312.pyc byte-compiling /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages/jp2.py to jp2.cpython-312.pyc writing byte-compilation script '/tmp/tmpe14rymoa.py' /usr/bin/python3 /tmp/tmpe14rymoa.py removing /tmp/tmpe14rymoa.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/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12/site-packages/img2pdf-0.5.1-py3.12.egg-info running install_scripts Installing img2pdf script to /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/bin Installing img2pdf-gui script to /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/bin + rm -rfv /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/bin/__pycache__ + /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 0.5.1-1.fc40 --unique-debug-suffix -0.5.1-1.fc40.noarch --unique-debug-src-base python-img2pdf-0.5.1-1.fc40.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/img2pdf-0.5.1 find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find: ‘debug’: No such file or directory find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /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 -j8 Bytecompiling .py files below /builddir/build/BUILDROOT/python-img2pdf-0.5.1-1.fc40.noarch/usr/lib/python3.12 using python3.12 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.CxFEv9 + umask 022 + cd /builddir/build/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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -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.12.10, pytest-7.4.3, pluggy-1.3.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/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] FAILED [ 1%] src/img2pdf_test.py::test_jpg_cmyk[pikepdf] FAILED [ 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] PASSED [ 2%] src/img2pdf_test.py::test_jpg_2000_rgba8[pikepdf] PASSED [ 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] FAILED [ 4%] src/img2pdf_test.py::test_png_rgb16[pikepdf] FAILED [ 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] FAILED [ 10%] src/img2pdf_test.py::test_png_gray16[pikepdf] FAILED [ 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] SKIPPED (requires ...) [ 25%] src/img2pdf_test.py::test_tiff_palette1[pikepdf] SKIPPED (requires i...) [ 25%] src/img2pdf_test.py::test_tiff_palette2[internal] SKIPPED (requires ...) [ 25%] src/img2pdf_test.py::test_tiff_palette2[pikepdf] SKIPPED (requires i...) [ 26%] src/img2pdf_test.py::test_tiff_palette4[internal] SKIPPED (requires ...) [ 26%] src/img2pdf_test.py::test_tiff_palette4[pikepdf] SKIPPED (requires i...) [ 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] SKIPPED [ 29%] src/img2pdf_test.py::test_tiff_ccitt_lsb_m2l_black[pikepdf] SKIPPED [ 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', 'permissions': 644, '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': '5.55671MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2443: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '5.55671MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2443: 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', 'permissions': 644, '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': '4.52236MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2492: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '4.52236MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2492: 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', 'permissions': 644, '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': '4.71558MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2544: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" _________________ 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', 'permissions': 644, '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': '4.71558MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2544: 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', 'permissions': 644, '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': '5.40936MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2586: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '5.40936MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2586: 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', 'permissions': 644, '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': '4.65114MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2635: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '4.65114MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2635: 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', 'permissions': 644, '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': '4.27272MB', 'userTime': '0.010u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2684: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '4.27272MB', 'userTime': '0.010u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2684: 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', 'permissions': 644, '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': '4.59854MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2733: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '4.59854MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2733: 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', 'permissions': 644, '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': '2.82731MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2882: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '2.82731MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2882: 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', 'permissions': 644, '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': '3.56345MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2932: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '3.56345MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2932: 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', 'permissions': 644, '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': '5.69905MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2982: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '5.69905MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2982: 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', 'permissions': 644, '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': '5.0366MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3032: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '5.0366MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3032: 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', 'permissions': 644, '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': '4.36472MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3082: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" _________________ 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', 'permissions': 644, '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': '4.36472MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3082: 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', 'permissions': 644, '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': '5.0509MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3134: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ________________ 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', 'permissions': 644, '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': '5.0509MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3134: 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', 'permissions': 644, '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': '3.45268MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3339: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ________________ 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', 'permissions': 644, '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': '3.45268MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3339: 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', 'permissions': 644, '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': '4.47401MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3400: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ___________ 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', 'permissions': 644, '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': '4.47401MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3400: 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', 'permissions': 644, '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': '3.49351MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3482: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ___________ 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', 'permissions': 644, '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': '3.49351MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3482: 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', 'permissions': 644, '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': '4.89293MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3564: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ___________ 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', 'permissions': 644, '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': '4.89293MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3564: 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', 'permissions': 644, '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': '3.52048MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3742: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ______________ 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', 'permissions': 644, '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': '3.52048MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3742: 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', 'permissions': 644, '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': '2.96246MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3822: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ______________ 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', 'permissions': 644, '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': '2.96246MB', 'userTime': '0.000u', 'elapsedTime': '0:01.001', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:3822: 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', 'permissions': 644, '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': '5.40936MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2586: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" __________________ 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', 'permissions': 644, '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': '5.40936MB', 'userTime': '0.000u', 'elapsedTime': '0:01.000', 'version': 'ImageMagick 7.1.1-47 Q16-HDRI powerpc64le 22763 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:2586: AssertionError =================================== FAILURES =================================== ___________________________ test_jpg_cmyk[internal] ____________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') jpg_cmyk_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk0/in.jpg') jpg_cmyk_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["darwin", "win32"], reason="test utilities not available on Windows and MacOS", ) def test_jpg_cmyk(tmp_path_factory, jpg_cmyk_img, jpg_cmyk_pdf): tmpdir = tmp_path_factory.mktemp("jpg_cmyk") > compare_ghostscript( tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, gsdevice="tiff32nc", exact=HAVE_EXACT_CMYK8 ) src/img2pdf_test.py:5564: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:417: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk0/in.jpg' im2 = '/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk1/gs-1.tiff', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" > assert psnr != b"0 (0)" E AssertionError: assert b'0 (0)' != b'0 (0)' src/img2pdf_test.py:390: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ____________________________ test_jpg_cmyk[pikepdf] ____________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') jpg_cmyk_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk0/in.jpg') jpg_cmyk_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["darwin", "win32"], reason="test utilities not available on Windows and MacOS", ) def test_jpg_cmyk(tmp_path_factory, jpg_cmyk_img, jpg_cmyk_pdf): tmpdir = tmp_path_factory.mktemp("jpg_cmyk") > compare_ghostscript( tmpdir, jpg_cmyk_img, jpg_cmyk_pdf, gsdevice="tiff32nc", exact=HAVE_EXACT_CMYK8 ) src/img2pdf_test.py:5564: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:417: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk0/in.jpg' im2 = '/tmp/pytest-of-mockbuild/pytest-0/jpg_cmyk2/gs-1.tiff', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" > assert psnr != b"0 (0)" E AssertionError: assert b'0 (0)' != b'0 (0)' src/img2pdf_test.py:390: AssertionError ___________________________ test_png_rgb16[internal] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') png_rgb16_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') png_rgb16_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/png_rgb16_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_rgb16(tmp_path_factory, png_rgb16_img, png_rgb16_pdf): tmpdir = tmp_path_factory.mktemp("png_rgb16") compare_ghostscript(tmpdir, png_rgb16_img, png_rgb16_pdf, gsdevice="tiff48nc") # poppler outputs 8-bit RGB so the comparison will not be exact > compare_poppler(tmpdir, png_rgb16_img, png_rgb16_pdf, exact=False) src/img2pdf_test.py:5640: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:425: in compare_poppler compare(str(img), str(tmpdir / "poppler-1.png"), exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png' im2 = '/tmp/pytest-of-mockbuild/pytest-0/png_rgb160/poppler-1.png' exact = False, icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.27547e-05 (8.87677e-07)' E assert None is not None E + where None = (b'4.27547e-05 (8.87677e-07)') E + where = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch src/img2pdf_test.py:391: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ----------------------------- Captured stderr call ----------------------------- 0 (0) ___________________________ test_png_rgb16[pikepdf] ____________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') png_rgb16_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png') png_rgb16_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/png_rgb16_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_rgb16(tmp_path_factory, png_rgb16_img, png_rgb16_pdf): tmpdir = tmp_path_factory.mktemp("png_rgb16") compare_ghostscript(tmpdir, png_rgb16_img, png_rgb16_pdf, gsdevice="tiff48nc") # poppler outputs 8-bit RGB so the comparison will not be exact > compare_poppler(tmpdir, png_rgb16_img, png_rgb16_pdf, exact=False) src/img2pdf_test.py:5640: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:425: in compare_poppler compare(str(img), str(tmpdir / "poppler-1.png"), exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/normal16_png0/normal16.png' im2 = '/tmp/pytest-of-mockbuild/pytest-0/png_rgb161/poppler-1.png' exact = False, icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.27547e-05 (8.87677e-07)' E assert None is not None E + where None = (b'4.27547e-05 (8.87677e-07)') E + where = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch src/img2pdf_test.py:391: AssertionError ----------------------------- Captured stderr call ----------------------------- 0 (0) __________________________ test_png_gray16[internal] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') png_gray16_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png') png_gray16_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/png_gray16_pdf0/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_gray16(tmp_path_factory, png_gray16_img, png_gray16_pdf): tmpdir = tmp_path_factory.mktemp("png_gray16") # ghostscript outputs 8-bit grayscale, so the comparison will not be exact > compare_ghostscript( tmpdir, png_gray16_img, png_gray16_pdf, gsdevice="pnggray", exact=False ) src/img2pdf_test.py:5775: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:417: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png' im2 = '/tmp/pytest-of-mockbuild/pytest-0/png_gray160/gs-1.png', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.24454e-05 (8.81255e-07)' E assert None is not None E + where None = (b'4.24454e-05 (8.81255e-07)') E + where = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch src/img2pdf_test.py:391: AssertionError ---------------------------- Captured stderr setup ----------------------------- WARNING: The convert command is deprecated in IMv7, use "magick" instead of "convert" or "magick convert" ___________________________ test_png_gray16[pikepdf] ___________________________ tmp_path_factory = TempPathFactory(_given_basetemp=None, _trace=, _basetemp=PosixPath('/tmp/pytest-of-mockbuild/pytest-0'), _retention_count=3, _retention_policy='all') png_gray16_img = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png') png_gray16_pdf = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/png_gray16_pdf1/out.pdf') @pytest.mark.skipif( sys.platform in ["win32"], reason="test utilities not available on Windows and MacOS", ) def test_png_gray16(tmp_path_factory, png_gray16_img, png_gray16_pdf): tmpdir = tmp_path_factory.mktemp("png_gray16") # ghostscript outputs 8-bit grayscale, so the comparison will not be exact > compare_ghostscript( tmpdir, png_gray16_img, png_gray16_pdf, gsdevice="pnggray", exact=False ) src/img2pdf_test.py:5775: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/img2pdf_test.py:417: in compare_ghostscript compare(str(img), str(tmpdir / "gs-1.") + ext, exact, icc, False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ im1 = '/tmp/pytest-of-mockbuild/pytest-0/gray16_png0/gray16.png' im2 = '/tmp/pytest-of-mockbuild/pytest-0/png_gray161/gs-1.png', exact = False icc = False, cmyk = False def compare(im1, im2, exact, icc, cmyk): if exact: if cmyk and not HAVE_EXACT_CMYK8: raise Exception("cmyk cannot be exact before ImageMagick 7.1.0-48") elif icc: raise Exception("icc cannot be exact") else: subprocess.check_call( COMPARE + [ "-metric", "AE", "-alpha", "off", im1, im2, "null:", ] ) else: iccargs = [] if icc: if ICC_PROFILE is None: pytest.skip("Could not locate an ICC profile") iccargs = ["-profile", ICC_PROFILE] psnr = subprocess.run( COMPARE + iccargs + [ "-metric", "PSNR", im1, im2, "null:", ], check=False, stderr=subprocess.PIPE, ).stderr assert psnr != b"0" assert psnr != b"0 (0)" > assert psnr_re.fullmatch(psnr) is not None, psnr E AssertionError: b'4.24454e-05 (8.81255e-07)' E assert None is not None E + where None = (b'4.24454e-05 (8.81255e-07)') E + where = re.compile(b'((?:inf|(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?))(?: \\([0-9.]+\\))?').fullmatch src/img2pdf_test.py:391: AssertionError =============================== warnings summary =============================== src/img2pdf_test.py:109 /builddir/build/BUILD/img2pdf-0.5.1/src/img2pdf_test.py:109: UserWarning: imagemagick >= 6.9.10-12 not available, skipping certain checks... warnings.warn("imagemagick >= 6.9.10-12 not available, skipping certain checks...") -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED src/img2pdf_test.py::test_jpg_cmyk[internal] - AssertionError: assert ... FAILED src/img2pdf_test.py::test_jpg_cmyk[pikepdf] - AssertionError: assert b... FAILED src/img2pdf_test.py::test_png_rgb16[internal] - AssertionError: b'4.27... FAILED src/img2pdf_test.py::test_png_rgb16[pikepdf] - AssertionError: b'4.275... FAILED src/img2pdf_test.py::test_png_gray16[internal] - AssertionError: b'4.2... FAILED src/img2pdf_test.py::test_png_gray16[pikepdf] - AssertionError: b'4.24... 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_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_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... = 6 failed, 283 passed, 16 skipped, 6 deselected, 1 warning, 40 errors in 74.78s (0:01:14) = RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.CxFEv9 (%check) Bad exit status from /var/tmp/rpm-tmp.CxFEv9 (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M f42e691afd4d42b9abc30baa6233f383 -D /var/lib/mock/f40-build-59084700-6570958/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.80wvnbot:/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 f42e691afd4d42b9abc30baa6233f383 -D /var/lib/mock/f40-build-59084700-6570958/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.80wvnbot:/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'