Your message dated Wed, 08 Feb 2017 00:33:28 +0000
with message-id <e1cbgco-0007z8...@fasolo.debian.org>
and subject line Bug#852926: fixed in diffoscope 71
has caused the Debian Bug report #852926,
regarding diffoscope: FTBFS with non UTF8 locale with dh_auto_test: pybuild 
--test --test-pytest -i python{version} -p 3.5 returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
852926: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852926
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: diffoscope
Version: 70
Severity: serious
Tags: stretch sid
User: debian...@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.

--- End Message ---
--- Begin Message ---
Source: diffoscope
Source-Version: 71

We believe that the bug you reported is fixed in the latest version of
diffoscope, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 852...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Lamb <la...@debian.org> (supplier of updated diffoscope package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 08 Feb 2017 13:02:01 +1300
Source: diffoscope
Binary: diffoscope
Architecture: source
Version: 71
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks 
<reproducible-bui...@lists.alioth.debian.org>
Changed-By: Chris Lamb <la...@debian.org>
Description:
 diffoscope - in-depth comparison of files, archives, and directories
Closes: 820427 835641 850791 851147 852013 852926
Changes:
 diffoscope (71) unstable; urgency=medium
 .
   [ Chris Lamb ]
   * New features:
     - Add a machine-readable JSON output format. (Closes: #850791)
     - Show results from debugging packages last. (Closes: #820427)
     - Add a --max-text-report-size option. (Closes: #851147)
   * Bug fixes:
     - Clean all temp files in signal handler thread instead of attempting to
       bubble exception back to the main thread. (Closes: #852013)
     - Prevent FTBFS by loading fixtures as UTF-8 in case surrounding terminal
       is not Unicode-aware. (Closes: #852926)
     - Fix errors when comparing directories with non-directories.
       (Closes: #835641)
     - Fix behaviour of setting report maximums to zero (ie. no limits)
   * Tests:
     - Test the RPM "fallback" comparison.
     - Test the Deb{Changes,Buildinfo,Dsc} fallback comparisons.
     - Test --progress and --status-fd output.
     - Add tests for symlinks differing in destination.
     - When comparing two empty directories, ensure that the mtime of the
       directory is consistent to avoid non-deterministic failures.
     - Smoke test profiling output.
     - Ensure we ignore invalid JSON files correctly.
     - Ensure 2nd source of a Difference is a string, not just the 1st.
     - Don't report on test coverage for some internal error messages.
   * Misc:
     - Add docs about releasing signed tarballs.
     - Drop the incomplete list of external tools from README.rst.
     - Add debian/watch file with cryptographic signature verification.
     - Drop CpioContent command now that we use libarchive.
     - Use a singleton to manage our Comparator classes.
     - Many small optimisations and code cleanups.
 .
   [ Brett Smith ]
   * diffoscope.diff: Improve FIFO writing robustness.
 .
   [ Ximin Luo ]
   * Fix bug introduced in commit 36d1c964 that only worked "accidentally".
   * Fix lazy expression; filter is lazy in Python 3.
 .
   [ Mattia Rizzolo ]
   * Override the debian-watch-file-in-native-package lintian tag.
 .
   [ anthraxx ]
   * Arch package changed from cdrkit to cdrtools.
 .
   [ Holger Levsen ]
   * Restore history section in README, explaining this was started in Debian.
Checksums-Sha1:
 1832433b5abac42db836eff287c5793eaa70f9bb 2972 diffoscope_71.dsc
 d920b5ba95f822a797be1c1245b934c18ac0f4dd 339944 diffoscope_71.tar.xz
 b4c699f01bdfb533d8f707606fbe96ab2656a25a 16031 diffoscope_71_amd64.buildinfo
Checksums-Sha256:
 a2035d715cfb0e2a9efdc7a359eb21391ee9ba73b9dd89410f256843fb37d772 2972 
diffoscope_71.dsc
 e4b0f6d1fcfde562b1ebe91755a9dad44eea6c48f411f9ec6d563fdb31f7e37d 339944 
diffoscope_71.tar.xz
 087b7e96278887fcca56d211d35e113c4ab64dbc4c94b308afdcd1d2f075ba7a 16031 
diffoscope_71_amd64.buildinfo
Files:
 c699f92bd9f4465f8332527d9c5596bd 2972 devel optional diffoscope_71.dsc
 9825476e43ad267e8f1453483247e5a7 339944 devel optional diffoscope_71.tar.xz
 e20405b66c13bb0200f7dabb8c8ae2c5 16031 devel optional 
diffoscope_71_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAliaYcsACgkQHpU+J9Qx
HljBpg/+LSuKfoTDoN52dFGG9r977qYkem4Il8Eu3A7TOn8z7hn+WG4yrEPCwRSZ
SR9/5pSY4ykWP2z2gNqD06rq+AQ3avu/rAl3aknn91SUB9TZ3T+6/rkTVxa8oMHw
fut9rj7jH8jRsnA3rp50gz4hti8pKK8NROnnd3tOPfT1jeU1m46pg7nUOtFOHmEP
BjUa3ThP0U3xyWkOTGKk90+TLER8TPqAaA/2/dMoqbF2rvO865z7FVt2SZ1+cLYB
U2X7GYVrldp5VsYsyT7kyVAZUhNqopdzVhM8juwpPFrYPvyTnIV9xjOEV/N6SMve
e7XrvUx5n94t8cJQk2SVQ1XKSYJvP9TpadfygIN1wbtNEDVw98RYTlROGLO6T0sK
U5Wezh8erTVZtdMoCw2IszgMiXoejI0ogO5hUA+OSeLr1HBl3c55ae5Ij7ugVKWV
B+4qX8KEV5LeF83I7UuurMq1WZoVJ9YldIQqhNE3d7dDcwRaxAJrGAsiAIv5bRJ9
N8NlcOGW+HJJ6+vSAPg32zxv87FQTeVPQYakdYEaMmSWiX+tmVMuQF45g/8iGe3y
82bTneLbzSCUeZQKdAzKN/sHqHOh47mxCmYZYWp2jYBj+FfJ/04l0884jECEtoL5
8g7DLPMd+EIbFZL+5A9WNIyD9OWUdKHLBzx4y77o5ZfQrlYhgkM=
=Ffbm
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to