Your message dated Tue, 09 Jan 2024 21:46:02 +0000
with message-id <e1rnjv8-009hay...@fasolo.debian.org>
and subject line Bug#1058359: fixed in luma.core 2.4.1-1
has caused the Debian Bug report #1058359,
regarding luma.core: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p 3.11 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.)


-- 
1058359: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058359
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: luma.core
Version: 2.4.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20231212 ftbfs-trixie

Hi,

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


Relevant part (hopefully):
>  debian/rules build
> dh build --with python3 --with sphinxdoc --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:310: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:310: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/sprite_system.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/mixin.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/image_composition.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/error.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/cmdline.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/const.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/lib.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/threadpool.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/render.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/bitmap_font.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/virtual.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/device.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/framebuffer.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/ansi_color.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> copying luma/core/util.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/legacy
> copying luma/core/legacy/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/legacy
> copying luma/core/legacy/font.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/legacy
> creating 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/interface
> copying luma/core/interface/__init__.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/interface
> copying luma/core/interface/parallel.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/interface
> copying luma/core/interface/serial.py -> 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/luma/core/interface
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:310: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build; python3.11 -m pytest 
> tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build
> configfile: pytest.ini
> collecting ... collected 210 items
> 
> tests/test_ansi_color.py::test_parse_str_no_escape PASSED
> tests/test_ansi_color.py::test_parse_str_valid_ansi_colors PASSED
> tests/test_ansi_color.py::test_parse_str_valid_ansi_colors_extended_codeset 
> PASSED
> tests/test_ansi_color.py::test_parse_str_multiple_ansi_colors PASSED
> tests/test_ansi_color.py::test_parse_str_unknown_ansi_colors_ignored PASSED
> tests/test_ansi_color.py::test_strip_ansi_codes PASSED
> tests/test_bitbang.py::test_data PASSED
> tests/test_bitbang.py::test_cleanup PASSED
> tests/test_bitbang.py::test_cleanup_custom_pins PASSED
> tests/test_bitbang.py::test_unsupported_gpio_platform SKIPPED (RPi.G...)
> tests/test_bitmap_font.py::test_load_from_pillow_font SKIPPED
> tests/test_bitmap_font.py::test_load_from_pillow_exceptions SKIPPED
> tests/test_bitmap_font.py::test_mapping SKIPPED
> tests/test_bitmap_font.py::test_load_sprite_table SKIPPED
> tests/test_bitmap_font.py::test_load_sprite_table_exceptions_1 PASSED
> tests/test_bitmap_font.py::test_load_sprite_table_exceptions_2 SKIPPED
> tests/test_bitmap_font.py::test_dumps_loads_saves_load SKIPPED
> tests/test_bitmap_font.py::test_loads_exception PASSED
> tests/test_bitmap_font.py::test_combine PASSED
> tests/test_bitmap_font.py::test_embedded_font PASSED
> tests/test_bitmap_font.py::test_embedded_font_exceptions PASSED
> tests/test_bitmap_font.py::test_metrics PASSED
> tests/test_bitmap_font.py::test_glyph_index PASSED
> tests/test_canvas.py::test_canvas_background FAILED
> tests/test_canvas.py::test_canvas_wrong_size PASSED
> tests/test_character.py::test_init SKIPPED
> tests/test_character.py::test_setter_getter SKIPPED
> tests/test_cmdline.py::test_get_interface_types PASSED
> tests/test_cmdline.py::test_ensure_cmdline_opt_contains_all_interfaces PASSED
> tests/test_cmdline.py::test_get_display_types PASSED
> tests/test_cmdline.py::test_get_choices_unknown_module PASSED
> tests/test_cmdline.py::test_get_library_version PASSED
> tests/test_cmdline.py::test_get_library_for_display_type PASSED
> tests/test_cmdline.py::test_load_config_file_parse PASSED
> tests/test_cmdline.py::test_create_parser PASSED
> tests/test_cmdline.py::test_make_interface_noop PASSED
> tests/test_cmdline.py::test_make_interface_i2c PASSED
> tests/test_cmdline.py::test_make_interface_spi SKIPPED (RPi.GPIO is ...)
> tests/test_cmdline.py::test_make_interface_gpio_cs_spi SKIPPED (RPi....)
> tests/test_cmdline.py::test_make_interface_spi_alt_gpio SKIPPED (spi...)
> tests/test_cmdline.py::test_make_interface_bitbang SKIPPED (RPi.GPIO...)
> tests/test_cmdline.py::test_make_interface_pcf8574 PASSED
> tests/test_cmdline.py::test_make_interface_bitbang_6800 SKIPPED (RPi...)
> tests/test_cmdline.py::test_make_interface_bitbang_6800_alt_gpio PASSED
> tests/test_cmdline.py::test_create_device PASSED
> tests/test_cmdline.py::test_create_device_oled SKIPPED (RPi.GPIO is ...)
> tests/test_cmdline.py::test_create_device_lcd PASSED
> tests/test_cmdline.py::test_create_device_led_matrix PASSED
> tests/test_cmdline.py::test_create_device_emulator PASSED
> tests/test_cmdline.py::test_create_device_core PASSED
> tests/test_cmdline.py::test_make_interface_ftdi_spi PASSED
> tests/test_cmdline.py::test_make_interface_ftdi_i2c PASSED
> tests/test_dummy_device.py::test_capture_noops PASSED
> tests/test_dummy_device.py::test_portrait PASSED
> tests/test_dummy_device.py::test_dither PASSED
> tests/test_framebuffer.py::test_full_frame PASSED
> tests/test_framebuffer.py::test_diff_to_previous PASSED
> tests/test_framebuffer.py::test_diff_to_previous_debug PASSED
> tests/test_framerate_regulator.py::test_init_default PASSED
> tests/test_framerate_regulator.py::test_init_unlimited PASSED
> tests/test_framerate_regulator.py::test_init_30fps PASSED
> tests/test_framerate_regulator.py::test_sleep PASSED
> tests/test_framerate_regulator.py::test_effective_FPS PASSED
> tests/test_framerate_regulator.py::test_average_transit_time PASSED
> tests/test_ftdi_i2c.py::test_init PASSED
> tests/test_ftdi_i2c.py::test_command PASSED
> tests/test_ftdi_i2c.py::test_data PASSED
> tests/test_ftdi_i2c.py::test_cleanup PASSED
> tests/test_ftdi_i2c.py::test_init_device_address_error PASSED
> tests/test_ftdi_spi.py::test_init PASSED
> tests/test_ftdi_spi.py::test_command PASSED
> tests/test_ftdi_spi.py::test_data PASSED
> tests/test_ftdi_spi.py::test_cleanup PASSED
> tests/test_gpio_cs_spi.py::test_init PASSED
> tests/test_gpio_cs_spi.py::test_init_invalid_bus_speed PASSED
> tests/test_gpio_cs_spi.py::test_command PASSED
> tests/test_gpio_cs_spi.py::test_data PASSED
> tests/test_gpio_cs_spi.py::test_cleanup PASSED
> tests/test_gpio_cs_spi.py::test_init_device_not_found SKIPPED (spide...)
> tests/test_gpio_cs_spi.py::test_unsupported_gpio_platform SKIPPED (R...)
> tests/test_history.py::test_restore_throws_error_when_empty PASSED
> tests/test_history.py::test_save_and_restore_reverts_image PASSED
> tests/test_history.py::test_drop_and_restore PASSED
> tests/test_i2c.py::test_init_device_not_found PASSED
> tests/test_i2c.py::test_init_device_permission_error PASSED
> tests/test_i2c.py::test_init_device_address_error PASSED
> tests/test_i2c.py::test_init_no_bus PASSED
> tests/test_i2c.py::test_init_bus_provided PASSED
> tests/test_i2c.py::test_command PASSED
> tests/test_i2c.py::test_i2c_command_device_not_found_error PASSED
> tests/test_i2c.py::test_i2c_data PASSED
> tests/test_i2c.py::test_i2c_data_chunked PASSED
> tests/test_i2c.py::test_cleanup PASSED
> tests/test_image_composition.py::test_composable_image_none PASSED
> tests/test_image_composition.py::test_composable_image_image PASSED
> tests/test_image_composition.py::test_composable_image_ctor PASSED
> tests/test_image_composition.py::test_composable_image_crop_same PASSED
> tests/test_image_composition.py::test_composable_image_crop_size_smaller_than_image_size
>  PASSED
> tests/test_image_composition.py::test_composable_image_crop_size_greater_than_image_size
>  PASSED
> tests/test_image_composition.py::test_composable_image_crop_offset PASSED
> tests/test_image_composition.py::test_image_composition_ctor PASSED
> tests/test_image_composition.py::test_image_add_image_none PASSED
> tests/test_image_composition.py::test_image_remove_image_none PASSED
> tests/test_image_composition.py::test_image_count PASSED
> tests/test_image_composition.py::test_refresh_no_images PASSED
> tests/test_image_composition.py::test_refresh PASSED
> tests/test_legacy.py::test_textsize PASSED
> tests/test_legacy.py::test_text_space PASSED
> tests/test_legacy.py::test_text_char PASSED
> tests/test_legacy.py::test_show_message PASSED
> tests/test_legacy_fonts.py::test_font[ATARI_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[CP437_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[SINCLAIR_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[SPECCY_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[LCD_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[UKR_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[TINY_FONT] PASSED
> tests/test_legacy_fonts.py::test_font[SEG7_FONT] PASSED
> tests/test_lib.py::test_rpio_gpio PASSED
> tests/test_lib.py::test_spidev PASSED
> tests/test_lib.py::test_multi PASSED
> tests/test_linux_framebuffer_device.py::test_display_id_as_dev_fb_number 
> SKIPPED
> tests/test_linux_framebuffer_device.py::test_display_id_from_environ PASSED
> tests/test_linux_framebuffer_device.py::test_unknown_display_id PASSED
> tests/test_linux_framebuffer_device.py::test_read_screen_resolution PASSED
> tests/test_linux_framebuffer_device.py::test_read_bits_per_pixel PASSED
> tests/test_linux_framebuffer_device.py::test_display[16-False] SKIPPED
> tests/test_linux_framebuffer_device.py::test_display[24-False] SKIPPED
> tests/test_linux_framebuffer_device.py::test_display[24-True] SKIPPED
> tests/test_linux_framebuffer_device.py::test_display[32-False] SKIPPED
> tests/test_linux_framebuffer_device.py::test_display[32-True] SKIPPED
> tests/test_linux_framebuffer_device.py::test_unsupported_bit_depth PASSED
> tests/test_linux_framebuffer_device.py::test_cleanup PASSED
> tests/test_mixin.py::test_display_not_implemented PASSED
> tests/test_observable.py::test_length PASSED
> tests/test_observable.py::test_iteration PASSED
> tests/test_observable.py::test_getattribute PASSED
> tests/test_observable.py::test_getitem PASSED
> tests/test_observable.py::test_setitem PASSED
> tests/test_observable.py::test_setslice PASSED
> tests/test_observable.py::test_delitem PASSED
> tests/test_observable.py::test_getslice PASSED
> tests/test_observable.py::test_repr PASSED
> tests/test_parallel.py::test_data PASSED
> tests/test_parallel.py::test_wrong_number_of_pins PASSED
> tests/test_parallel.py::test_cleanup PASSED
> tests/test_parallel.py::test_unsupported_gpio_platform SKIPPED (RPi....)
> tests/test_parallel_device.py::test_4bit PASSED
> tests/test_parallel_device.py::test_8bit PASSED
> tests/test_pcf8574.py::test_command PASSED
> tests/test_pcf8574.py::test_i2c_command_device_not_found_error PASSED
> tests/test_pcf8574.py::test_i2c_data PASSED
> tests/test_pcf8574.py::test_cleanup PASSED
> tests/test_persist.py::test_persist PASSED
> tests/test_proportional.py::test_narrow_char PASSED
> tests/test_proportional.py::test_wide_char PASSED
> tests/test_proportional.py::test_space_char PASSED
> tests/test_proportional.py::test_doublequote_char PASSED
> tests/test_proportional.py::test_trim_not_nonzero PASSED
> tests/test_proportional.py::test_unicode_not_supported PASSED
> tests/test_sevensegment.py::test_init PASSED
> tests/test_sevensegment.py::test_overflow PASSED
> tests/test_sevensegment.py::test_setter_getter PASSED
> tests/test_spi.py::test_init PASSED
> tests/test_spi.py::test_init_invalid_bus_speed PASSED
> tests/test_spi.py::test_command PASSED
> tests/test_spi.py::test_data PASSED
> tests/test_spi.py::test_cleanup PASSED
> tests/test_spi.py::test_init_device_not_found SKIPPED (spidev is not...)
> tests/test_spi.py::test_unsupported_gpio_platform SKIPPED (RPi.GPIO ...)
> tests/test_spi.py::test_cs_high_ignored PASSED
> tests/test_spritesheet.py::test_init PASSED
> tests/test_spritesheet.py::test_len PASSED
> tests/test_spritesheet.py::test_caching PASSED
> tests/test_spritesheet.py::test_get PASSED
> tests/test_spritesheet.py::test_get_string PASSED
> tests/test_spritesheet.py::test_get_outofrange PASSED
> tests/test_spritesheet.py::test_animate_unknown_seq PASSED
> tests/test_spritesheet.py::test_animate_finite_seq PASSED
> tests/test_spritesheet.py::test_animate_slow_seq PASSED
> tests/test_spritesheet.py::test_animate_infinite_seq PASSED
> tests/test_spritesheet.py::test_animate_subroutine PASSED
> tests/test_terminal.py::test_default_text FAILED
> tests/test_terminal.py::test_wrapped_text FAILED
> tests/test_terminal.py::test_tab_alignment FAILED
> tests/test_terminal.py::test_control_chars FAILED
> tests/test_terminal.py::test_scrolling FAILED
> tests/test_terminal.py::test_alt_colors FAILED
> tests/test_terminal.py::test_ansi_colors FAILED
> tests/test_terminal.py::test_ansi_colors_wrapped FAILED
> tests/test_terminal.py::test_ansi_colors_scroll FAILED
> tests/test_terminal.py::test_accented_charset SKIPPED
> tests/test_tolerant.py::test_default PASSED
> tests/test_tolerant.py::test_custom_missing PASSED
> tests/test_tolerant.py::test_with_proportional PASSED
> tests/test_util.py::test_mutablestring PASSED
> tests/test_util.py::test_mutablestring_unicode PASSED
> tests/test_util.py::test_from_16_to_8_to_16 PASSED
> tests/test_util.py::test_bytes_to_nibbles PASSED
> tests/test_viewport.py::test_range_overlap_over12 PASSED
> tests/test_viewport.py::test_range_overlap_over123 PASSED
> tests/test_viewport.py::test_range_overlap_over23 PASSED
> tests/test_viewport.py::test_range_overlap_over234 PASSED
> tests/test_viewport.py::test_range_overlap_over34 PASSED
> tests/test_viewport.py::test_range_overlap_over4 PASSED
> tests/test_viewport.py::test_range_overlap_over_none PASSED
> tests/test_viewport.py::test_snapshot_last_updated PASSED
> tests/test_viewport.py::test_viewport_set_position FAILED
> tests/test_viewport.py::test_viewport_hotspot PASSED
> tests/test_viewport.py::test_viewport_dithering PASSED
> 
> =================================== FAILURES 
> ===================================
> ____________________________ test_canvas_background 
> ____________________________
> 
>     def test_canvas_background():
>         img_path = get_reference_image('background.png')
>         with open(get_reference_image('dither.png'), 'rb') as p1:
>             with open(img_path, 'rb') as p2:
>                 bgnd = Image.open(p1)
>                 reference = Image.open(p2)
>                 device = dummy()
>     
>                 with canvas(device, background=bgnd) as draw:
>                     draw.rectangle((20, 15, device.width - 20, device.height 
> - 15),
>                                    fill='black', outline='white')
>                     draw.text((36, 22), 'Background', fill='white')
>                     draw.text((52, 32), 'Test', fill='white')
>     
> >               assert_identical_image(reference, device.image, img_path)
> 
> tests/test_canvas.py:34: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=1 size=128x64 at 
> 0x7F87B9276310>
> target = <PIL.Image.Image image mode=1 size=128x64 at 0x7F87B7B7C310>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/background.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/background.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ______________________________ test_default_text 
> _______________________________
> 
>     def test_default_text():
>         reference = 'quick_brown_fox.png'
>         device = dummy()
>         term = terminal(device)
>     
> >       assert_text(device, term, reference, [
>             "The quick brown fox jumps over the lazy dog"
>         ])
> 
> tests/test_terminal.py:40: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B58FB510>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B58FAE50>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/quick_brown_fox.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/quick_brown_fox.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ______________________________ test_wrapped_text 
> _______________________________
> 
>     def test_wrapped_text():
>         reference = 'quick_brown_fox_word_wrap.png'
>         device = dummy()
>         term = terminal(device, word_wrap=True, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "The quick brown fox jumps over the lazy dog"
>         ])
> 
> tests/test_terminal.py:50: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B599A6D0>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B5998E50>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/quick_brown_fox_word_wrap.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/quick_brown_fox_word_wrap.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ______________________________ test_tab_alignment 
> ______________________________
> 
>     def test_tab_alignment():
>         reference = 'tab_align.png'
>         device = dummy()
>         term = terminal(device, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "1\t32\t999",
>             "999\t1\t32"
>         ])
> 
> tests/test_terminal.py:60: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B58FDF90>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B57ADB10>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/tab_align.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/tab_align.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ______________________________ test_control_chars 
> ______________________________
> 
>     def test_control_chars():
>         reference = 'control_chars.png'
>         device = dummy()
>         term = terminal(device, animate=False)
>     
> >       assert_text(device, term, reference, [
>             'foo\rbar\bspam\teggs\n\nham and cheese on rye'
>         ])
> 
> tests/test_terminal.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B5787390>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B5786C50>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/control_chars.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/control_chars.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ________________________________ test_scrolling 
> ________________________________
> 
>     def test_scrolling():
>         reference = 'scroll_text.png'
>         device = dummy()
>         term = terminal(device, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "it oozed over the blackness, and heard Harris's sleepy voice 
> asking "
>             "where we drew near it, so they spread their handkerchiefs on the 
> back "
>             "of Harris and Harris's friend as to avoid running down which, we 
> managed "
>             "to get out of here while this billing and cooing is on. We'll go 
> down "
>             "to eat vegetables. He said they were demons."
>         ])
> 
> tests/test_terminal.py:81: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B590E250>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B590D750>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/scroll_text.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/scroll_text.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> _______________________________ test_alt_colors 
> ________________________________
> 
>     def test_alt_colors():
>         reference = 'alt_colors.png'
>         device = dummy()
>         term = terminal(device, color="blue", bgcolor="grey", animate=False)
>     
> >       assert_text(device, term, reference, [
>             "blue on grey"
>         ])
> 
> tests/test_terminal.py:95: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B57ADB90>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B57AC650>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/alt_colors.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/alt_colors.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> _______________________________ test_ansi_colors 
> _______________________________
> 
>     def test_ansi_colors():
>         reference = 'ansi_colors.png'
>         device = dummy()
>         term = terminal(device, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "hello \033[31mworld\033[0m ansi colors here!",
>             "this is \033[7mreversed\033[7m!",
>             "\033[44;37mBlue\033[0m \033[46;30mCyan"
>         ])
> 
> tests/test_terminal.py:105: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B57A2310>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B58D7F50>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ___________________________ test_ansi_colors_wrapped 
> ___________________________
> 
>     def test_ansi_colors_wrapped():
>         reference = 'ansi_colors_wrapped.png'
>         device = dummy()
>         term = terminal(device, word_wrap=True, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "hello \033[31mworld\033[0m ansi colors\t\033[32mwrap\033[0m\t?",
>             "this is \033[7mreversed\033[7m!",
>             "\033[43;30mYellow\033[0m \033[45;37mMagenta"
>         ])
> 
> tests/test_terminal.py:117: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B584AA10>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B584A550>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors_wrapped.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors_wrapped.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> ___________________________ test_ansi_colors_scroll 
> ____________________________
> 
>     def test_ansi_colors_scroll():
>         reference = 'ansi_colors_scroll.png'
>         device = dummy()
>         term = terminal(device, word_wrap=True, animate=False)
>     
> >       assert_text(device, term, reference, [
>             "hello \033[31mworld\033[0m ansi colors\t\033[32mwrap\033[0m\t?",
>             "this is \033[7mreversed\033[7m!",
>             "\033[43;30mYellow\033[0m \033[44;37mBlue abcdefg hijklmn",
>             "\033[41;30mRed\033[0m \033[42;37mGreen"
>         ])
> 
> tests/test_terminal.py:129: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> tests/test_terminal.py:32: in assert_text
>     assert_identical_image(reference, device.image, img_path)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B58FD450>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B58FD8D0>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors_scroll.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/ansi_colors_scroll.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> __________________________ test_viewport_set_position 
> __________________________
> 
>     def test_viewport_set_position():
>         img_path = get_reference_image('set_position.png')
>     
>         with open(img_path, 'rb') as p:
>             reference = Image.open(p)
>             device = dummy()
>             virtual = viewport(device, 200, 200)
>     
>             # Use the same drawing primitives as the demo
>             with canvas(virtual) as draw:
>                 baseline_data.primitives(virtual, draw)
>     
>             virtual.set_position((20, 30))
>     
> >           assert_identical_image(reference, device.image, img_path)
> 
> tests/test_viewport.py:124: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> reference = <PIL.PngImagePlugin.PngImageFile image mode=RGB size=128x64 at 
> 0x7F87B58D85D0>
> target = <PIL.Image.Image image mode=RGB size=128x64 at 0x7F87B58D99D0>
> img_path = 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/set_position.png'
> 
>     def assert_identical_image(reference, target, img_path):
>         """
>         :param img_path: Location of image.
>         :type img_path: str
>         """
>         bbox = ImageChops.difference(reference, target).getbbox()
> >       assert bbox is None, f'{img_path} is not identical to generated image'
> E       AssertionError: 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build/tests/reference/images/set_position.png
>  is not identical to generated image
> 
> tests/helpers.py:75: AssertionError
> =========================== short test summary info 
> ============================
> SKIPPED [1] tests/test_bitbang.py:75: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_bitmap_font.py:152: Skipped
> SKIPPED [1] tests/test_bitmap_font.py:169: Skipped
> SKIPPED [1] tests/test_bitmap_font.py:198: Skipped
> SKIPPED [1] tests/test_bitmap_font.py:219: Skipped
> SKIPPED [1] tests/test_bitmap_font.py:246: Skipped
> SKIPPED [1] tests/test_bitmap_font.py:262: Skipped
> SKIPPED [1] tests/test_character.py:16: Skipped
> SKIPPED [1] tests/test_character.py:25: Skipped
> SKIPPED [1] tests/test_cmdline.py:192: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_cmdline.py:212: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_cmdline.py:233: spidev is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_cmdline.py:248: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_cmdline.py:283: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_cmdline.py:342: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [2] tests/helpers.py:66: spidev is not supported on this platform: 
> Linux
> SKIPPED [1] tests/test_gpio_cs_spi.py:104: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_linux_framebuffer_device.py:35: Skipped
> SKIPPED [5] tests/test_linux_framebuffer_device.py:83: Skipped
> SKIPPED [1] tests/test_parallel.py:83: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_spi.py:103: RPi.GPIO is not supported on this 
> platform: Linux
> SKIPPED [1] tests/test_terminal.py:138: Skipped
> ================== 11 failed, 172 passed, 27 skipped in 6.18s 
> ==================
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_luma.core/build; python3.11 -m pytest 
> tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 
> returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/12/12/luma.core_2.4.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20231212;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20231212&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

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!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: luma.core
Source-Version: 2.4.1-1
Done: Anton Gladky <gl...@debian.org>

We believe that the bug you reported is fixed in the latest version of
luma.core, 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 1058...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Anton Gladky <gl...@debian.org> (supplier of updated luma.core 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: SHA512

Format: 1.8
Date: Tue, 09 Jan 2024 22:10:28 +0100
Source: luma.core
Architecture: source
Version: 2.4.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Electronics Team 
<pkg-electronics-de...@alioth-lists.debian.net>
Changed-By: Anton Gladky <gl...@debian.org>
Closes: 1048072 1058359
Changes:
 luma.core (2.4.1-1) unstable; urgency=medium
 .
   * [aed89ba] New upstream version 2.4.1. (Closes: #1058359)
   * [9d90933] Update patch
   * [7be00b4] Update standards version to 4.6.2, no changes needed.
   * [fff3ed8] Fix double build failure. (Closes: #1048072)
Checksums-Sha1:
 6c1bd06b1dcdc3c609d1535c7b3bb44e2892fbf7 2215 luma.core_2.4.1-1.dsc
 a6fee56a4bd46d7aa34cc06431ae2d29d7d9b152 162676 luma.core_2.4.1.orig.tar.xz
 3efa22f54ef67ffd10681f88b99ac861270e693e 4772 luma.core_2.4.1-1.debian.tar.xz
 5afe5e559d91e65be8cb961d08dc227c93a7d729 9759 
luma.core_2.4.1-1_source.buildinfo
Checksums-Sha256:
 982a9e1d07c2528144ed3204ffb48d52f56c46f9b450e1eacba856b495ca9221 2215 
luma.core_2.4.1-1.dsc
 edbf375d102346dd0f5a47d0e82997863314688bddc72d798301f0d0afb41589 162676 
luma.core_2.4.1.orig.tar.xz
 35b5f3f9eb43a60655c855196584d4475f5d08c744ee416601f216864b002f2a 4772 
luma.core_2.4.1-1.debian.tar.xz
 00445877e046d57e3b2d3c7eb285a407a70122e6c1e3151e55cba4c777619f0b 9759 
luma.core_2.4.1-1_source.buildinfo
Files:
 b0cf923358287f0066fcb4316d85c1c8 2215 libs optional luma.core_2.4.1-1.dsc
 c36a29df91541b85c0f26ec1942cfc03 162676 libs optional 
luma.core_2.4.1.orig.tar.xz
 c47304f32c3b3fa18a0684618402ed95 4772 libs optional 
luma.core_2.4.1-1.debian.tar.xz
 4f0f7523e540f2d326e599b9b09b3e06 9759 libs optional 
luma.core_2.4.1-1_source.buildinfo

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

iQIzBAEBCgAdFiEEu71F6oGKuG/2fnKF0+Fzg8+n/wYFAmWdukcACgkQ0+Fzg8+n
/wY9Ow//UKHCgWCD2ECLf53Cm1s09vwbyFFA8BGuxH0JlQW5L5l7IOITHkQSL9G0
D9gonh66Ii5cZm3Dm99XTlHSzNX5/DtHsyYMrhYqDmbuEhYILjqavNbebpcrc2P9
2uVHigYT/1m0O+NU6zOMoa3TV2luzrrneuhJ7Z6qdl0ADi99XjMnfjSlxoUZobIN
upGrtH3FFvT9/T1mAA9zZC8eYO4051Yt+1h+vm6hHgx7xIcxAKoMIuZw6RYpcPol
KU63pK6gy+lTUc1WmbRY2oaVPD7jfINcpUx+yXfnIo/W7uly7eVyZK2V3et5J+q2
Dm1+iRN1isD4UybRUmsr1lf6H3k3XUCYyfzQ4PrbSqW4f/T2R/D8Sd7U69hutEAB
PG0HdUrR2X2yEp83tIaeSInhEg+G6CF0BD0pIp/NTip1qQjE9UwYeURx340a4zOp
LDpEpuQ4WKZ6u23wJGT2yTpSPkYTKIgcqPx6/xDqkFnVYxaNGLz3TH882iyiRhRA
MGHefmrIb6EgseBVN0lfVJ3LAb4hWA4bsudRLWhpQecwP1kl85/F1aqHanSwrsSe
M+UKCwESHKAnH+dlJKX0lTqDmGa7kvrNKJWbRwnISTtXFKpfFt2cQgYKmDDF+Vk0
qSNut4D2A1AHsN2k0KOTpPhZqmUwsNhdjlWF2UL6HqfNwHhqMhQ=
=LUDy
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to