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