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