Bug#852926: diffoscope: FTBFS: dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.5 returned exit code 13

Lucas Nussbaum lucas at debian.org
Sat Jan 28 08:33:00 UTC 2017


Source: diffoscope
Version: 70
Severity: serious
Tags: stretch sid
User: debian-qa at lists.debian.org
Usertags: qa-ftbfs-20170128 qa-ftbfs
Justification: FTBFS on amd64

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> register-python-argcomplete diffoscope > debian/diffoscope.bash-completion
> rst2man debian/diffoscope.1.rst debian/diffoscope.1
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:184: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/config.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/logging.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/difference.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/profiling.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/external_tools.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/main.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/changes.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/locale.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/exc.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/tools.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/tempfiles.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/diff.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> copying diffoscope/progress.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/debian_fallback.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/xz.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/dex.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/zip.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/ppu.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/rpm.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/mono.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/apk.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/haskell.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/llvm.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/symlink.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/binary.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/ar.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/tar.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/gzip.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/rust.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/ps.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/device.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/openssh.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/javascript.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/json.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/rpm_fallback.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/squashfs.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/git.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/icc.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/gettext.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/image.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/bzip2.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/macho.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/elf.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/cpio.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/debian.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/java.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/sqlite.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/directory.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/iso9660.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/cbfs.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/text.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/fsimage.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/deb.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/pdf.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/ipk.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/png.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/fonts.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> copying diffoscope/comparators/missing_file.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/markdown.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/utils.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/restructuredtext.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/base.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/text.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> copying diffoscope/presenters/icon.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/file.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/fuzzy.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/command.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/specialize.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/filenames.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/archive.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/libarchive.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/compare.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> copying diffoscope/comparators/utils/container.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/comparators/utils
> creating /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters/html
> copying diffoscope/presenters/html/templates.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters/html
> copying diffoscope/presenters/html/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters/html
> copying diffoscope/presenters/html/linediff.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters/html
> copying diffoscope/presenters/html/html.py -> /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/diffoscope/presenters/html
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:184: cd /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build; python3.5 -m pytest -vv -r sxX --cov=diffoscope --cov-report=term-missing --cov-report=html
> ============================= test session starts ==============================
> platform linux -- Python 3.5.3, pytest-3.0.6, py-1.4.32, pluggy-0.4.0 -- /usr/bin/python3.5
> cachedir: ../../../.cache
> rootdir: /<<PKGBUILDDIR>>, inifile: 
> plugins: cov-2.4.0
> collecting ... collected 271 items
> 
> tests/test_difference.py::test_too_much_input_for_diff PASSED
> tests/test_difference.py::test_too_long_diff_block_lines PASSED
> tests/test_difference.py::test_non_str_arguments_to_source1_source2 PASSED
> tests/test_main.py::test_non_existing_files PASSED
> tests/test_main.py::test_non_existing_left_with_new_file PASSED
> tests/test_main.py::test_non_existing_right_with_new_file PASSED
> tests/test_main.py::test_non_existing_files_with_new_file PASSED
> tests/test_main.py::test_remove_temp_files_on_sigterm PASSED
> tests/test_main.py::test_ctrl_c_handling PASSED
> tests/test_main.py::test_no_differences PASSED
> tests/test_main.py::test_no_differences_directories PASSED
> tests/test_main.py::test_list_tools PASSED
> tests/test_presenters.py::test_text_option_is_default FAILED
> tests/test_presenters.py::test_text_option_color FAILED
> tests/test_presenters.py::test_text_option_with_file FAILED
> tests/test_presenters.py::test_text_option_with_stdiout FAILED
> tests/test_presenters.py::test_markdown PASSED
> tests/test_presenters.py::test_restructuredtext PASSED
> tests/test_presenters.py::test_no_report_option FAILED
> tests/test_presenters.py::test_html_option_with_file FAILED
> tests/test_presenters.py::test_htmldir_option FAILED
> tests/test_presenters.py::test_html_option_with_stdout FAILED
> tests/comparators/test_apk.py::test_identification PASSED
> tests/comparators/test_apk.py::test_no_differences PASSED
> tests/comparators/test_apk.py::test_compare_non_existing PASSED
> tests/comparators/test_apk.py::test_zipinfo PASSED
> tests/comparators/test_apk.py::test_android_manifest PASSED
> tests/comparators/test_apk.py::test_apk_metadata_source PASSED
> tests/comparators/test_binary.py::test_same_content PASSED
> tests/comparators/test_binary.py::test_not_same_content PASSED
> tests/comparators/test_binary.py::test_guess_file_type PASSED
> tests/comparators/test_binary.py::test_guess_encoding_binary PASSED
> tests/comparators/test_binary.py::test_guess_encoding_ascii PASSED
> tests/comparators/test_binary.py::test_guess_encoding_unicode PASSED
> tests/comparators/test_binary.py::test_guess_encoding_iso8859 PASSED
> tests/comparators/test_binary.py::test_no_differences_with_xxd PASSED
> tests/comparators/test_binary.py::test_compare_with_xxd PASSED
> tests/comparators/test_binary.py::test_compare_non_existing_with_xxd PASSED
> tests/comparators/test_binary.py::test_no_differences_without_xxd PASSED
> tests/comparators/test_binary.py::test_compare_without_xxd PASSED
> tests/comparators/test_binary.py::test_with_compare_details PASSED
> tests/comparators/test_binary.py::test_with_compare_details_and_fallback PASSED
> tests/comparators/test_binary.py::test_with_compare_details_and_no_actual_differences PASSED
> tests/comparators/test_binary.py::test_with_compare_details_and_failed_process PASSED
> tests/comparators/test_binary.py::test_with_compare_details_and_tool_not_found PASSED
> tests/comparators/test_binary.py::test_compare_two_nonexisting_files PASSED
> tests/comparators/test_binary.py::test_symlink_to_dir PASSED
> tests/comparators/test_bzip2.py::test_identification PASSED
> tests/comparators/test_bzip2.py::test_no_differences PASSED
> tests/comparators/test_bzip2.py::test_content_source PASSED
> tests/comparators/test_bzip2.py::test_content_source_without_extension PASSED
> tests/comparators/test_bzip2.py::test_content_diff PASSED
> tests/comparators/test_bzip2.py::test_compare_non_existing PASSED
> tests/comparators/test_cbfs.py::test_identification_using_offset SKIPPED
> tests/comparators/test_cbfs.py::test_identification_without_offset SKIPPED
> tests/comparators/test_cbfs.py::test_no_differences SKIPPED
> tests/comparators/test_cbfs.py::test_listing SKIPPED
> tests/comparators/test_cbfs.py::test_content SKIPPED
> tests/comparators/test_cbfs.py::test_compare_non_existing SKIPPED
> tests/comparators/test_cpio.py::test_identification PASSED
> tests/comparators/test_cpio.py::test_no_differences PASSED
> tests/comparators/test_cpio.py::test_listing PASSED
> tests/comparators/test_cpio.py::test_symlink PASSED
> tests/comparators/test_cpio.py::test_compressed_files PASSED
> tests/comparators/test_cpio.py::test_compare_non_existing PASSED
> tests/comparators/test_deb.py::test_identification PASSED
> tests/comparators/test_deb.py::test_no_differences PASSED
> tests/comparators/test_deb.py::test_metadata PASSED
> tests/comparators/test_deb.py::test_compressed_files PASSED
> tests/comparators/test_deb.py::test_identification_of_md5sums_outside_deb PASSED
> tests/comparators/test_deb.py::test_identification_of_md5sums_in_deb PASSED
> tests/comparators/test_deb.py::test_md5sums PASSED
> tests/comparators/test_deb.py::test_identical_files_in_md5sums PASSED
> tests/comparators/test_deb.py::test_identification_of_data_tar PASSED
> tests/comparators/test_deb.py::test_skip_comparison_of_known_identical_files PASSED
> tests/comparators/test_deb.py::test_compare_non_existing PASSED
> tests/comparators/test_debian.py::test_dot_changes_identification PASSED
> tests/comparators/test_debian.py::test_dot_changes_invalid PASSED
> tests/comparators/test_debian.py::test_dot_changes_no_differences PASSED
> tests/comparators/test_debian.py::test_dot_changes_no_differences_exclude_buildinfo PASSED
> tests/comparators/test_debian.py::test_dot_changes_identical_contents_and_different_files PASSED
> tests/comparators/test_debian.py::test_dot_changes_different_contents_and_identical_files PASSED
> tests/comparators/test_debian.py::test_dot_dsc_identification PASSED
> tests/comparators/test_debian.py::test_dot_dsc_invalid PASSED
> tests/comparators/test_debian.py::test_dot_dsc_no_differences PASSED
> tests/comparators/test_debian.py::test_dot_dsc_internal_diff PASSED
> tests/comparators/test_debian.py::test_dot_dsc_compare_non_existing PASSED
> tests/comparators/test_debian.py::test_dot_buildinfo_identification PASSED
> tests/comparators/test_debian.py::test_dot_buildinfo_invalid PASSED
> tests/comparators/test_debian.py::test_dot_buildinfo_no_differences PASSED
> tests/comparators/test_debian.py::test_dot_buildinfo_internal_diff PASSED
> tests/comparators/test_debian.py::test_dot_buildinfo_compare_non_existing PASSED
> tests/comparators/test_dex.py::test_identification PASSED
> tests/comparators/test_dex.py::test_no_differences PASSED
> tests/comparators/test_dex.py::test_differences PASSED
> tests/comparators/test_dex.py::test_compare_non_existing PASSED
> tests/comparators/test_directory.py::test_no_differences PASSED
> tests/comparators/test_directory.py::test_no_differences_with_extra_slash PASSED
> tests/comparators/test_directory.py::test_content PASSED
> tests/comparators/test_directory.py::test_stat PASSED
> tests/comparators/test_elf.py::test_obj_identification PASSED
> tests/comparators/test_elf.py::test_obj_no_differences PASSED
> tests/comparators/test_elf.py::test_obj_compare_non_existing PASSED
> tests/comparators/test_elf.py::test_diff PASSED
> tests/comparators/test_elf.py::test_lib_identification PASSED
> tests/comparators/test_elf.py::test_lib_no_differences PASSED
> tests/comparators/test_elf.py::test_lib_differences PASSED
> tests/comparators/test_elf.py::test_lib_compare_non_existing PASSED
> tests/comparators/test_elf.py::test_differences_with_dbgsym PASSED
> tests/comparators/test_elf.py::test_original_gnu_debuglink PASSED
> tests/comparators/test_epub.py::test_identification PASSED
> tests/comparators/test_epub.py::test_no_differences PASSED
> tests/comparators/test_epub.py::test_differences PASSED
> tests/comparators/test_epub.py::test_compare_non_existing PASSED
> tests/comparators/test_fonts.py::test_identification PASSED
> tests/comparators/test_fonts.py::test_no_differences PASSED
> tests/comparators/test_fonts.py::test_diff PASSED
> tests/comparators/test_fonts.py::test_compare_non_existing PASSED
> tests/comparators/test_fsimage.py::test_identification PASSED
> tests/comparators/test_fsimage.py::test_no_differences SKIPPED
> tests/comparators/test_fsimage.py::test_differences SKIPPED
> tests/comparators/test_fsimage.py::test_compare_non_existing SKIPPED
> tests/comparators/test_gettext.py::test_identification PASSED
> tests/comparators/test_gettext.py::test_no_differences PASSED
> tests/comparators/test_gettext.py::test_diff PASSED
> tests/comparators/test_gettext.py::test_charsets PASSED
> tests/comparators/test_gettext.py::test_compare_non_existing PASSED
> tests/comparators/test_git.py::test_identification PASSED
> tests/comparators/test_git.py::test_no_differences PASSED
> tests/comparators/test_git.py::test_diff PASSED
> tests/comparators/test_gzip.py::test_identification PASSED
> tests/comparators/test_gzip.py::test_no_differences PASSED
> tests/comparators/test_gzip.py::test_metadata PASSED
> tests/comparators/test_gzip.py::test_content_source PASSED
> tests/comparators/test_gzip.py::test_content_source_without_extension PASSED
> tests/comparators/test_gzip.py::test_content_diff PASSED
> tests/comparators/test_gzip.py::test_compare_non_existing PASSED
> tests/comparators/test_haskell.py::test_identification SKIPPED
> tests/comparators/test_haskell.py::test_no_differences PASSED
> tests/comparators/test_haskell.py::test_diff SKIPPED
> tests/comparators/test_icc.py::test_identification PASSED
> tests/comparators/test_icc.py::test_no_differences PASSED
> tests/comparators/test_icc.py::test_diff PASSED
> tests/comparators/test_icc.py::test_compare_non_existing PASSED
> tests/comparators/test_ico_image.py::test_identification PASSED
> tests/comparators/test_ico_image.py::test_no_differences PASSED
> tests/comparators/test_ico_image.py::test_diff PASSED
> tests/comparators/test_ico_image.py::test_diff_meta PASSED
> tests/comparators/test_ipk.py::test_identification PASSED
> tests/comparators/test_ipk.py::test_no_differences PASSED
> tests/comparators/test_ipk.py::test_metadata PASSED
> tests/comparators/test_ipk.py::test_compressed_files PASSED
> tests/comparators/test_ipk.py::test_compare_non_existing PASSED
> tests/comparators/test_iso9660.py::test_identification PASSED
> tests/comparators/test_iso9660.py::test_no_differences PASSED
> tests/comparators/test_iso9660.py::test_iso9660_content PASSED
> tests/comparators/test_iso9660.py::test_iso9660_rockridge PASSED
> tests/comparators/test_iso9660.py::test_symlink PASSED
> tests/comparators/test_iso9660.py::test_compressed_files PASSED
> tests/comparators/test_iso9660.py::test_compare_non_existing PASSED
> tests/comparators/test_java.py::test_identification PASSED
> tests/comparators/test_java.py::test_no_differences PASSED
> tests/comparators/test_java.py::test_diff PASSED
> tests/comparators/test_java.py::test_compare_non_existing PASSED
> tests/comparators/test_javascript.py::test_identification PASSED
> tests/comparators/test_javascript.py::test_no_differences PASSED
> tests/comparators/test_javascript.py::test_diff PASSED
> tests/comparators/test_javascript.py::test_compare_non_existing PASSED
> tests/comparators/test_jpeg_image.py::test_identification PASSED
> tests/comparators/test_jpeg_image.py::test_no_differences PASSED
> tests/comparators/test_jpeg_image.py::test_diff PASSED
> tests/comparators/test_jpeg_image.py::test_compare_non_existing PASSED
> tests/comparators/test_jpeg_image.py::test_diff_meta PASSED
> tests/comparators/test_json.py::test_identification PASSED
> tests/comparators/test_json.py::test_no_differences PASSED
> tests/comparators/test_json.py::test_diff PASSED
> tests/comparators/test_json.py::test_compare_non_existing PASSED
> tests/comparators/test_json.py::test_ordering_differences PASSED
> tests/comparators/test_macho.py::test_obj_identification PASSED
> tests/comparators/test_macho.py::test_obj_no_differences PASSED
> tests/comparators/test_macho.py::test_obj_compare_non_existing SKIPPED
> tests/comparators/test_macho.py::test_diff SKIPPED
> tests/comparators/test_mono.py::test_identification PASSED
> tests/comparators/test_mono.py::test_no_differences PASSED
> tests/comparators/test_mono.py::test_diff PASSED
> tests/comparators/test_mono.py::test_compare_non_existing PASSED
> tests/comparators/test_openssh_pub_key.py::test_identification PASSED
> tests/comparators/test_openssh_pub_key.py::test_no_differences PASSED
> tests/comparators/test_openssh_pub_key.py::test_diff PASSED
> tests/comparators/test_openssh_pub_key.py::test_compare_non_existing PASSED
> tests/comparators/test_pdf.py::test_identification PASSED
> tests/comparators/test_pdf.py::test_no_differences PASSED
> tests/comparators/test_pdf.py::test_text_diff PASSED
> tests/comparators/test_pdf.py::test_internal_diff PASSED
> tests/comparators/test_pdf.py::test_compare_non_existing PASSED
> tests/comparators/test_png.py::test_identification PASSED
> tests/comparators/test_png.py::test_no_differences PASSED
> tests/comparators/test_png.py::test_diff PASSED
> tests/comparators/test_png.py::test_compare_non_existing PASSED
> tests/comparators/test_ppu.py::test_identification PASSED
> tests/comparators/test_ppu.py::test_no_differences PASSED
> tests/comparators/test_ppu.py::test_diff PASSED
> tests/comparators/test_ppu.py::test_compare_non_existing PASSED
> tests/comparators/test_ps.py::test_identification PASSED
> tests/comparators/test_ps.py::test_no_differences PASSED
> tests/comparators/test_ps.py::test_internal_diff PASSED
> tests/comparators/test_ps.py::test_text_diff PASSED
> tests/comparators/test_ps.py::test_compare_non_existing PASSED
> tests/comparators/test_rlib.py::test_identification PASSED
> tests/comparators/test_rlib.py::test_no_differences PASSED
> tests/comparators/test_rlib.py::test_num_items PASSED
> tests/comparators/test_rlib.py::test_item0_armap PASSED
> tests/comparators/test_rlib.py::test_item1_elf PASSED
> tests/comparators/test_rlib.py::test_item2_rust_metadata_bin PASSED
> tests/comparators/test_rlib.py::test_item3_deflate_llvm_bitcode PASSED
> tests/comparators/test_rlib.py::test_compare_non_existing PASSED
> tests/comparators/test_rpm.py::test_identification PASSED
> tests/comparators/test_rpm.py::test_no_differences PASSED
> tests/comparators/test_rpm.py::test_header PASSED
> tests/comparators/test_rpm.py::test_listing PASSED
> tests/comparators/test_rpm.py::test_content PASSED
> tests/comparators/test_rpm.py::test_compare_non_existing PASSED
> tests/comparators/test_sqlite.py::test_identification PASSED
> tests/comparators/test_sqlite.py::test_no_differences PASSED
> tests/comparators/test_sqlite.py::test_diff PASSED
> tests/comparators/test_sqlite.py::test_compare_non_existing PASSED
> tests/comparators/test_squashfs.py::test_identification PASSED
> tests/comparators/test_squashfs.py::test_no_differences PASSED
> tests/comparators/test_squashfs.py::test_no_warnings PASSED
> tests/comparators/test_squashfs.py::test_superblock PASSED
> tests/comparators/test_squashfs.py::test_symlink PASSED
> tests/comparators/test_squashfs.py::test_compressed_files PASSED
> tests/comparators/test_squashfs.py::test_compare_non_existing PASSED
> tests/comparators/test_tar.py::test_identification PASSED
> tests/comparators/test_tar.py::test_no_differences PASSED
> tests/comparators/test_tar.py::test_listing PASSED
> tests/comparators/test_tar.py::test_symlinks PASSED
> tests/comparators/test_tar.py::test_text_file PASSED
> tests/comparators/test_tar.py::test_compare_non_existing PASSED
> tests/comparators/test_tar.py::test_no_permissions_dir_in_tarball PASSED
> tests/comparators/test_text.py::test_no_differences PASSED
> tests/comparators/test_text.py::test_difference_in_ascii PASSED
> tests/comparators/test_text.py::test_difference_in_unicode PASSED
> tests/comparators/test_text.py::test_difference_between_iso88591_and_unicode PASSED
> tests/comparators/test_text.py::test_difference_between_iso88591_and_unicode_only PASSED
> tests/comparators/test_text.py::test_compare_non_existing PASSED
> tests/comparators/test_text.py::test_ordering_differences PASSED
> tests/comparators/test_utils.py::test_tools_missing PASSED
> tests/comparators/test_utils.py::test_skip_unless_tools_exist_empty SKIPPED
> tests/comparators/test_utils.py::test_skip_unless_tools_exist_missing SKIPPED
> tests/comparators/test_utils.py::test_fuzzy_matching PASSED
> tests/comparators/test_utils.py::test_fuzzy_matching_only_once PASSED
> tests/comparators/test_utils.py::test_no_fuzzy_matching PASSED
> tests/comparators/test_utils.py::test_no_fuzzy_matching_new_file PASSED
> tests/comparators/test_utils.py::test_trim_stderr_in_command PASSED
> tests/comparators/test_xz.py::test_identification PASSED
> tests/comparators/test_xz.py::test_no_differences PASSED
> tests/comparators/test_xz.py::test_content_source PASSED
> tests/comparators/test_xz.py::test_content_source_without_extension PASSED
> tests/comparators/test_xz.py::test_content_diff PASSED
> tests/comparators/test_xz.py::test_compare_non_existing PASSED
> tests/comparators/test_zip.py::test_identification PASSED
> tests/comparators/test_zip.py::test_no_differences PASSED
> tests/comparators/test_zip.py::test_metadata PASSED
> tests/comparators/test_zip.py::test_compressed_files PASSED
> tests/comparators/test_zip.py::test_compare_non_existing PASSED
> tests/comparators/test_zip.py::test_mozzip_identification PASSED
> tests/comparators/test_zip.py::test_mozzip_no_differences PASSED
> tests/comparators/test_zip.py::test_mozzip_metadata PASSED
> tests/comparators/test_zip.py::test_mozzip_compressed_files PASSED
> tests/comparators/test_zip.py::test_mozzip_compare_non_existing PASSED
> 
> ----------- coverage: platform linux, python 3.5.3-final-0 -----------
> Name                                         Stmts   Miss  Cover   Missing
> --------------------------------------------------------------------------
> diffoscope/__init__.py                           1      0   100%
> diffoscope/changes.py                          124     54    56%   85, 93, 96, 105, 112, 119, 140, 177, 183, 189, 195-197, 203, 209, 225-228, 231-234, 243, 255-289, 310-317, 324, 336
> diffoscope/comparators/__init__.py               1      0   100%
> diffoscope/comparators/apk.py                   54      1    98%   39
> diffoscope/comparators/ar.py                    26      0   100%
> diffoscope/comparators/binary.py                16      0   100%
> diffoscope/comparators/bzip2.py                 28      0   100%
> diffoscope/comparators/cbfs.py                  84     43    49%   39-40, 44, 47, 53-64, 67, 70, 73, 77-81, 93-94, 116-119, 123-135, 138
> diffoscope/comparators/cpio.py                  14      1    93%   34
> diffoscope/comparators/deb.py                  102     12    88%   33-34, 47, 66, 76, 92-93, 99, 131-133, 152
> diffoscope/comparators/debian.py               139      5    96%   85-86, 183, 201, 217
> diffoscope/comparators/debian_fallback.py       26     26     0%   20-53
> diffoscope/comparators/device.py                45      8    82%   39-41, 47-49, 77-80
> diffoscope/comparators/dex.py                   29      1    97%   38
> diffoscope/comparators/directory.py            129     15    88%   78-81, 89, 99-100, 102, 108-109, 112-113, 161-163, 178
> diffoscope/comparators/elf.py                  273     25    91%   68, 76-77, 206, 267, 309, 350-352, 356, 368-370, 374, 413, 427-433, 449, 455, 468-469, 478-479
> diffoscope/comparators/fonts.py                 14      0   100%
> diffoscope/comparators/fsimage.py               56     36    36%   32-33, 40-54, 57-60, 63, 66, 69-73, 80-90
> diffoscope/comparators/gettext.py               35      0   100%
> diffoscope/comparators/git.py                   28      0   100%
> diffoscope/comparators/gzip.py                  31      0   100%
> diffoscope/comparators/haskell.py               57     13    77%   37, 47, 84-86, 95, 101-106, 110, 121-122, 139, 142
> diffoscope/comparators/icc.py                   12      0   100%
> diffoscope/comparators/image.py                 37      2    95%   103-104
> diffoscope/comparators/ipk.py                    4      0   100%
> diffoscope/comparators/iso9660.py               41      3    93%   35-36, 61
> diffoscope/comparators/java.py                  20      0   100%
> diffoscope/comparators/javascript.py            12      0   100%
> diffoscope/comparators/json.py                  27      2    93%   40-41
> diffoscope/comparators/llvm.py                  15      0   100%
> diffoscope/comparators/macho.py                 51     26    49%   33-35, 39, 42, 45-51, 56, 61, 66, 76-80, 86-101
> diffoscope/comparators/missing_file.py          48      3    94%   67, 70, 89
> diffoscope/comparators/mono.py                  12      0   100%
> diffoscope/comparators/openssh.py               12      0   100%
> diffoscope/comparators/pdf.py                   17      0   100%
> diffoscope/comparators/png.py                   17      0   100%
> diffoscope/comparators/ppu.py                   53     14    74%   70, 77-90
> diffoscope/comparators/ps.py                    23      2    91%   47-48
> diffoscope/comparators/rpm.py                   69      2    97%   41, 48
> diffoscope/comparators/rpm_fallback.py          11      5    55%   30-34
> diffoscope/comparators/rust.py                  37      0   100%
> diffoscope/comparators/sqlite.py                12      0   100%
> diffoscope/comparators/squashfs.py             145     19    87%   80, 96, 110, 116, 119, 131, 139, 159, 164-165, 168-169, 172-173, 186, 215-218, 232
> diffoscope/comparators/symlink.py               29      1    97%   38
> diffoscope/comparators/tar.py                   11      0   100%
> diffoscope/comparators/text.py                  32      2    94%   62-64
> diffoscope/comparators/utils/__init__.py         0      0   100%
> diffoscope/comparators/utils/archive.py         81     11    86%   56, 60, 64, 68, 111, 114, 117, 126, 136, 139, 144
> diffoscope/comparators/utils/command.py         60      1    98%   58
> diffoscope/comparators/utils/compare.py         75      2    97%   39-40
> diffoscope/comparators/utils/container.py       76      8    89%   63-64, 69-72, 76, 80
> diffoscope/comparators/utils/file.py           160     28    82%   34-35, 61-71, 77, 83, 113-114, 152, 156, 160, 185-188, 226, 229, 242-245, 252-255
> diffoscope/comparators/utils/filenames.py        7      0   100%
> diffoscope/comparators/utils/fuzzy.py           29      2    93%   27-28
> diffoscope/comparators/utils/libarchive.py     143     12    92%   40-41, 43-44, 120, 126, 129, 142, 156, 170-171, 182
> diffoscope/comparators/utils/specialize.py      36      3    92%   69-70, 75
> diffoscope/comparators/xz.py                    28      0   100%
> diffoscope/comparators/zip.py                   87      2    98%   68, 71
> diffoscope/config.py                            24      2    92%   49, 57
> diffoscope/diff.py                             203     30    85%   87, 124, 186, 243-245, 248-273, 304-308
> diffoscope/difference.py                       155     10    94%   59, 65, 75-79, 89, 107, 165
> diffoscope/exc.py                               15      7    53%   27-28, 35-40
> diffoscope/external_tools.py                     1      0   100%
> diffoscope/locale.py                            13      0   100%
> diffoscope/logging.py                            9      0   100%
> diffoscope/main.py                             150     20    87%   48-49, 180, 182, 184-185, 195, 202, 220, 228, 249, 256, 261, 273, 275-279, 289
> diffoscope/presenters/__init__.py                0      0   100%
> diffoscope/presenters/base.py                   13      1    92%   36
> diffoscope/presenters/html/__init__.py           1      0   100%
> diffoscope/presenters/html/html.py             378    109    71%   87, 123-126, 130, 132-134, 143-144, 162, 164, 167, 169, 173, 184, 195, 209, 214, 251-255, 264-267, 271-277, 290, 296, 304-318, 334-335, 338-339, 351-352, 355-359, 362-363, 367-370, 380-383, 398, 402-414, 430-431, 439-441, 485-487, 494, 511, 516-518, 540, 543-556, 565-567, 570
> diffoscope/presenters/html/linediff.py          53      3    94%   26, 85-86
> diffoscope/presenters/html/templates.py          5      0   100%
> diffoscope/presenters/icon.py                    1      0   100%
> diffoscope/presenters/markdown.py               19      0   100%
> diffoscope/presenters/restructuredtext.py       25      0   100%
> diffoscope/presenters/text.py                   25      2    92%   44-45
> diffoscope/presenters/utils.py                  54      5    91%   87-88, 101-104
> diffoscope/profiling.py                         38     15    61%   34, 55-62, 70-71, 74-88
> diffoscope/progress.py                          82     33    60%   44-49, 52, 57-59, 66, 71, 75, 100-130, 133-137, 140, 144, 147, 154
> diffoscope/tempfiles.py                         30      4    87%   53-54, 61-62
> diffoscope/tools.py                             26      1    96%   68
> --------------------------------------------------------------------------
> TOTAL                                         4161    632    85%
> Coverage HTML written to dir htmlcov
> 
> =========================== short test summary info ============================
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:66: requires cbfstool
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_macho.py:45: requires otool and lipo
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_utils.py:50: requires /missing
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_fsimage.py:52: guestfs not working on the system
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:81: requires cbfstool
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:62: requires cbfstool
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_fsimage.py:81: guestfs not working on the system
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:58: requires cbfstool
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:76: requires cbfstool
> SKIP [1] /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/tests/comparators/test_haskell.py:49: mismatch between system ghc and fixture
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_utils.py:46: requires
> SKIP [1] /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build/tests/comparators/test_haskell.py:35: mismatch between system ghc and fixture
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_fsimage.py:63: guestfs not working on the system
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_macho.py:52: requires otool and lipo
> SKIP [1] .pybuild/pythonX.Y_3.5/build/tests/comparators/test_cbfs.py:88: requires cbfstool
> 
> =================================== FAILURES ===================================
> _________________________ test_text_option_is_default __________________________
> 
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e5ba58>
> 
>     def test_text_option_is_default(capsys):
>         out = run(capsys)
>     
> >       assert out == data('output.txt')
> 
> tests/test_presenters.py:67: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e94278>
> input = b'--- test1.tar\n+++ test2.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file list\n\xe2\x94\x82 @@ -1,4 +1,4 @@\n\xe2\x94...4\x84 symlink\n\xe2\x94\x82 @@ -1 +1 @@\n\xe2\x94\x82 -destination: broken\n\xe2\x94\x82 +destination: really-broken\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> ____________________________ test_text_option_color ____________________________
> 
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e2a518>
> 
>     def test_text_option_color(capsys):
>         out = run(capsys, '--text-color=always')
>     
> >       assert out == data('output.colored.txt')
> 
> tests/test_presenters.py:72: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e3e1d0>
> input = b'--- test1.tar\n+++ test2.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file list\n\xe2\x94\x82 \x1b[0;36m@@ -1,4 +1,4 @@...@@\x1b[0m\n\xe2\x94\x82 \x1b[31m-destination: broken\x1b[0m\n\xe2\x94\x82 \x1b[32m+destination: really-broken\x1b[0m\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> __________________________ test_text_option_with_file __________________________
> 
> tmpdir = local('/tmp/pytest-of-user42/pytest-2/test_text_option_with_file0')
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e85978>
> 
>     def test_text_option_with_file(tmpdir, capsys):
>         report_path = str(tmpdir.join('report.txt'))
>     
>         out = run(capsys, '--text', report_path)
>     
>         assert out == ''
>     
>         with open(report_path, 'r', encoding='utf-8') as f:
> >           assert f.read() == data('output.txt')
> 
> tests/test_presenters.py:82: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e3eb00>
> input = b'--- test1.tar\n+++ test2.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file list\n\xe2\x94\x82 @@ -1,4 +1,4 @@\n\xe2\x94...4\x84 symlink\n\xe2\x94\x82 @@ -1 +1 @@\n\xe2\x94\x82 -destination: broken\n\xe2\x94\x82 +destination: really-broken\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> ________________________ test_text_option_with_stdiout _________________________
> 
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e55358>
> 
>     def test_text_option_with_stdiout(capsys):
>         out = run(capsys, '--text', '-')
>     
> >       assert out == data('output.txt')
> 
> tests/test_presenters.py:87: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f94992da1d0>
> input = b'--- test1.tar\n+++ test2.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file list\n\xe2\x94\x82 @@ -1,4 +1,4 @@\n\xe2\x94...4\x84 symlink\n\xe2\x94\x82 @@ -1 +1 @@\n\xe2\x94\x82 -destination: broken\n\xe2\x94\x82 +destination: really-broken\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> ____________________________ test_no_report_option _____________________________
> 
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e6d400>
> 
>     def test_no_report_option(capsys):
>         out = run(capsys)
>     
> >       assert out == data('output.txt')
> 
> tests/test_presenters.py:102: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e6b828>
> input = b'--- test1.tar\n+++ test2.tar\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file list\n\xe2\x94\x82 @@ -1,4 +1,4 @@\n\xe2\x94...4\x84 symlink\n\xe2\x94\x82 @@ -1 +1 @@\n\xe2\x94\x82 -destination: broken\n\xe2\x94\x82 +destination: really-broken\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 28: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> __________________________ test_html_option_with_file __________________________
> 
> tmpdir = local('/tmp/pytest-of-user42/pytest-2/test_html_option_with_file0')
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e4c6a0>
> 
>     def test_html_option_with_file(tmpdir, capsys):
>         report_path = str(tmpdir.join('report.html'))
>     
>         out = run(capsys, '--html', report_path)
>     
>         assert out == ''
>         with open(report_path, 'r', encoding='utf-8') as f:
> >           assert extract_body(f.read()) == extract_body(data('output.html'))
> 
> tests/test_presenters.py:111: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e5ea58>
> input = b'<!DOCTYPE html>\n<html>\n<head>\n  <meta charset="utf-8" />\n  <meta http-equiv="x-ua-compatible" content="IE=edge">... href="https://diffoscope.org" rel="noopener noreferrer" target="_blank">diffoscope</a> 69</div>\n</body>\n</html>\n\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4203: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> _____________________________ test_htmldir_option ______________________________
> 
> tmpdir = local('/tmp/pytest-of-user42/pytest-2/test_htmldir_option0')
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e2a1d0>
> 
>     def test_htmldir_option(tmpdir, capsys):
>         html_dir = os.path.join(str(tmpdir), 'target')
>     
>         out = run(capsys, '--html-dir', html_dir, '--jquery', 'disable')
>     
>         assert out == ''
>         assert os.path.isdir(html_dir)
>         with open(os.path.join(html_dir, 'index.html'), 'r', encoding='utf-8') as f:
> >           assert extract_body(f.read()) == extract_body(data('index.html'))
> 
> tests/test_presenters.py:121: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e903c8>
> input = b'<!DOCTYPE html>\n<html>\n<head>\n  <meta charset="utf-8" />\n  <meta http-equiv="x-ua-compatible" content="IE=edge">...<a href="https://diffoscope.org" rel="noopener noreferrer" target="_blank">diffoscope</a> 69</div>\n</body>\n</html>\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4200: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> _________________________ test_html_option_with_stdout _________________________
> 
> capsys = <_pytest.capture.CaptureFixture object at 0x7f9487e58668>
> 
>     def test_html_option_with_stdout(capsys):
>         out = run(capsys, '--html', '-')
>     
> >       assert extract_body(out) == extract_body(data('output.html'))
> 
> tests/test_presenters.py:126: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/test_presenters.py:49: in data
>     return f.read()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> self = <encodings.ascii.IncrementalDecoder object at 0x7f9487e4cd30>
> input = b'<!DOCTYPE html>\n<html>\n<head>\n  <meta charset="utf-8" />\n  <meta http-equiv="x-ua-compatible" content="IE=edge">... href="https://diffoscope.org" rel="noopener noreferrer" target="_blank">diffoscope</a> 69</div>\n</body>\n</html>\n\n'
> final = True
> 
>     def decode(self, input, final=False):
> >       return codecs.ascii_decode(input, self.errors)[0]
> E       UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 4203: ordinal not in range(128)
> 
> /usr/lib/python3.5/encodings/ascii.py:26: UnicodeDecodeError
> ============== 8 failed, 248 passed, 15 skipped in 121.76 seconds ==============
> E: pybuild pybuild:283: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build; python3.5 -m pytest -vv -r sxX --cov=diffoscope --cov-report=term-missing --cov-report=html
> dh_auto_test: pybuild --test --test-pytest -i python{version} -p 3.5 returned exit code 13

The full build log is available from:
   http://aws-logs.debian.net/2017/01/28/diffoscope_70_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the Reproducible-builds mailing list