Your message dated Wed, 13 May 2020 16:33:55 +0000
with message-id <e1jyukr-000dal...@fasolo.debian.org>
and subject line Bug#959620: fixed in mypaint 2.0.0+git20200502-1
has caused the Debian Bug report #959620,
regarding mypaint: FTBFS: AssertionError: Failed doctest test for 
lib.layer.tree.RootLayerStack.walk
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.)


-- 
959620: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=959620
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: mypaint
Version: 2.0.0-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200501 ftbfs-bullseye

Hi,

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

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> # Known to be failing, just ignore failure for now
> # As suggested by upstream
> python3 setup.py nosetests \
>     --ignore-files="(objfactory)|(widgets).py"
> running nosetests
> running egg_info
> creating MyPaint.egg-info
> writing MyPaint.egg-info/PKG-INFO
> writing dependency_links to MyPaint.egg-info/dependency_links.txt
> writing top-level names to MyPaint.egg-info/top_level.txt
> writing manifest file 'MyPaint.egg-info/SOURCES.txt'
> reading manifest file 'MyPaint.egg-info/SOURCES.txt'
> writing manifest file 'MyPaint.egg-info/SOURCES.txt'
> copying 
> build/lib.linux-x86_64-3.8/lib/_mypaintlib.cpython-38-x86_64-linux-gnu.so -> 
> lib
> Unable to init server: Could not connect: Connection refused
> Unable to init server: Could not connect: Connection refused
> /<<PKGBUILDDIR>>/gui/accelmap.py:17: PyGIWarning: Gtk was imported without 
> specifying a version first. Use gi.require_version('Gtk', '3.0') before 
> import to ensure that the right version gets loaded.
>   from gi.repository import Gtk
> Doctest: gui.brushmanager.BrushManager.__init__ ... 
> /usr/lib/python3.8/doctest.py:1336: RuntimeWarning: coroutine '<module>' was 
> never awaited
>   exec(compile(example.source, filename, "single",
> RuntimeWarning: Enable tracemalloc to get the object allocation traceback
> FAIL
> Doctest: gui.brushmanager.BrushManager.export_group ... ok
> Doctest: gui.brushmanager.BrushManager.get_brush_by_name ... ok
> Doctest: gui.brushmanager.BrushManager.import_brushpack ... FAIL
> Doctest: gui.brushmanager.BrushManager.save_brushorder ... ok
> Doctest: gui.brushmanager.ManagedBrush.__init__ ... ok
> Doctest: gui.brushmanager.ManagedBrush.description ... ok
> Doctest: gui.brushmanager.ManagedBrush.get_preview ... FAIL
> Doctest: gui.brushmanager.ManagedBrush.notes ... ok
> Doctest: gui.brushmanager.ManagedBrush.preview ... FAIL
> Doctest: gui.brushmanager._device_name_uuid ... ok
> Doctest: gui.brushmanager._quote_device_name ... ok
> Doctest: gui.filehandling._get_case_insensitive_glob ... ok
> Doctest: gui.freehand.PressureAndTiltInterpolator ... FAIL
> Doctest: gui.meta.get_libs_version_string ... ok
> Doctest: gui.mvp.Presenter ... ok
> Doctest: gui.uicolor.from_gdk_color ... ok
> Doctest: gui.uicolor.from_gdk_rgba ... ok
> Doctest: gui.uicolor.to_gdk_color ... ok
> Doctest: gui.uicolor.to_gdk_rgba ... ok
> Doctest: lib.alg.convex_hull ... ok
> Doctest: lib.alg.intersection_of_segments ... ok
> Doctest: lib.alg.nearest_point_in_segment ... ok
> Doctest: lib.alg.pairwise ... ok
> Doctest: lib.alg.point_in_convex_poly ... ok
> Doctest: lib.alg.poly_area ... ok
> Doctest: lib.alg.poly_centroid ... ok
> Doctest: lib.brush.BrushInfo._load_old_format ... ok
> Doctest: lib.brush.BrushInfo.from_json ... ok
> Doctest: lib.brush.brushinfo_quote ... ok
> Doctest: lib.brush.brushinfo_unquote ... ok
> Doctest: lib.brushsettings.BrushInputInfo ... ok
> Doctest: lib.brushsettings.BrushSettingInfo ... ok
> Doctest: lib.color.HCYColor.__eq__ ... ok
> Doctest: lib.color.HCYColor.__init__ ... ok
> Doctest: lib.color.HCYColor.interpolate ... FAIL
> Doctest: lib.color.HCY_to_RGB ... FAIL
> Doctest: lib.color.HSVColor ... ok
> Doctest: lib.color.HSVColor.__eq__ ... ok
> Doctest: lib.color.HSVColor.__init__ ... ok
> Doctest: lib.color.HSVColor.interpolate ... FAIL
> Doctest: lib.color.RGBColor.__eq__ ... ok
> Doctest: lib.color.RGBColor.__init__ ... ok
> Doctest: lib.color.RGBColor.interpolate ... FAIL
> Doctest: lib.color.UIColor ... ok
> Doctest: lib.color.UIColor.get_luma ... ok
> Doctest: lib.color.UIColor.new_from_pixbuf_average ... ok
> Doctest: lib.color.UIColor.to_contrasting ... ok
> Doctest: lib.color.UIColor.to_fill_pixel ... ok
> Doctest: lib.color.UIColor.to_greyscale ... ok
> Doctest: lib.color.YCbCrColor.__eq__ ... ok
> Doctest: lib.color.YCbCrColor.interpolate ... FAIL
> Doctest: lib.document.Document.import_layers ... ok
> Doctest: lib.document.Document.load ... ok
> Doctest: lib.document.Document.settings ... FAIL
> Doctest: lib.document._save_layers_to_new_orazip ... ok
> Doctest: lib.feedback.Progress ... ok
> Doctest: lib.feedback.Progress.__bool__ ... ok
> Doctest: lib.feedback.Progress.__int__ ... ok
> Doctest: lib.feedback.Progress.__repr__ ... ok
> Doctest: lib.feedback.Progress.items ... ok
> Doctest: lib.feedback.Progress.open ... ok
> Doctest: lib.fileutils.replace ... ok
> Doctest: lib.fileutils.safename ... ok
> Doctest: lib.gettext ... ok
> Doctest: lib.glib.filename_from_uri ... ok
> Doctest: lib.glib.filename_to_unicode ... ok
> Doctest: lib.glib.filename_to_uri ... ok
> Doctest: lib.glib.init_user_dir_caches ... ok
> Doctest: lib.helpers.Rect ... FAIL
> Doctest: lib.helpers.casefold ... ok
> Doctest: lib.helpers.coordinate_bounds ... ok
> Doctest: lib.helpers.freedesktop_thumbnail ... FAIL
> Doctest: lib.helpers.get_pixbuf ... ok
> Doctest: lib.helpers.grouper ... FAIL
> Doctest: lib.layer.core.LayerBase.__bool__ ... ok
> Doctest: lib.layer.core.LayerBase.__deepcopy__ ... ok
> Doctest: lib.layer.core.LayerBase.branch_locked ... ok
> Doctest: lib.layer.core.LayerBase.branch_visible ... ok
> Doctest: lib.layer.core.LayerBase.group ... ok
> Doctest: lib.layer.core.LayerBase.root ... ok
> Doctest: lib.layer.group.LayerStack.__init__ ... ok
> Doctest: lib.layer.group.LayerStack.__len__ ... ok
> Doctest: lib.layer.group.LayerStack.__repr__ ... ok
> Doctest: lib.layer.group.LayerStack._normidx ... ok
> Doctest: lib.layer.tree.RootLayerStack.canonpath ... ok
> Doctest: lib.layer.tree.RootLayerStack.current_layer_overlay ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepget ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepindex ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.deepinsert ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepiter ... ok
> Doctest: lib.layer.tree.RootLayerStack.deeppop ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepremove ... ok
> Doctest: lib.layer.tree.RootLayerStack.ensure_populated ... ok
> Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_down ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_visible ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.layer_new_normalized ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.load_from_openraster ... ok
> Doctest: lib.layer.tree.RootLayerStack.path_above ... ok
> Doctest: lib.layer.tree.RootLayerStack.path_below ... ok
> Doctest: lib.layer.tree.RootLayerStack.walk ... FAIL
> Doctest: lib.layer.tree.path_startswith ... ok
> Makes a simple test RootLayerStack (2 branches of 3 leaves each) ... ok
> Doctest: lib.layervis._View.__eq__ ... ok
> Doctest: lib.meta._compatibility ... ok
> Doctest: lib.meta._parse_version_string ... ok
> Doctest: lib.naming.make_unique_name ... ok
> Doctest: lib.observable.ObservableDict ... ok
> Doctest: lib.observable.ObservableDict.update ... ok
> Doctest: lib.observable._BoundObserverMethod.__repr__ ... ok
> Doctest: lib.observable.event ... ok
> Doctest: lib.observable.observable ... ok
> Doctest: lib.observable.observable._update_observers ... ok
> Doctest: lib.palette.Palette.__bool__ ... ok
> Doctest: lib.palette.Palette.__init__ ... ok
> Doctest: lib.palette.Palette.clear ... ok
> Doctest: lib.palette.Palette.get_color_by_name ... ok
> Doctest: lib.palette.Palette.insert ... ok
> Doctest: lib.palette.Palette.load ... ok
> Doctest: lib.palette.Palette.match_color ... ok
> Doctest: lib.palette.Palette.move_match_position ... ok
> Doctest: lib.palette.Palette.reposition ... ok
> Doctest: lib.palette.Palette.save ... ok
> Doctest: lib.pixbuf.load_from_file ... ok
> Doctest: lib.pixbuf.load_from_stream ... ok
> Doctest: lib.pixbuf.load_from_zipfile ... ok
> Doctest: lib.pixbuf.save ... ok
> Doctest: lib.strokemap.StrokeShape.save_to_string ... ok
> Doctest: lib.strokemap._Tile.__repr__ ... ok
> Doctest: lib.strokemap._Tile.new_from_compressed_bitmap ... ok
> Doctest: lib.strokemap._Tile.to_bytes ... ok
> Doctest: lib.strokemap._TileIndexPredicate ... ok
> Doctest: lib.strokemap._pixel_bbox_to_tile_range ... ok
> Doctest: lib.strokemap._tile_in_range ... ok
> Doctest: lib.surface.get_tiles_bbox ... ok
> Doctest: lib.tiledsurface.MyPaintSurface.cairo_request ... ok
> Doctest: lib.tiledsurface.MyPaintSurface.tile_request ... ok
> Doctest: lib.tiledsurface.PNGFileUpdateTask ... ok
> Doctest: lib.tiledsurface._TiledSurfaceMove ... ok
> Doctest: lib.tiledsurface.calc_translation_slices ... ok
> Doctest: lib.xml.escape ... ok
> Doctest: lib.xml.xsd2bool ... ok
> Doctest: gui.brushmanager.BrushManager.__init__ ... 
> /usr/lib/python3.8/doctest.py:1336: RuntimeWarning: coroutine '<module>' was 
> never awaited
>   exec(compile(example.source, filename, "single",
> RuntimeWarning: Enable tracemalloc to get the object allocation traceback
> FAIL
> Doctest: gui.brushmanager.BrushManager.export_group ... ok
> Doctest: gui.brushmanager.BrushManager.get_brush_by_name ... ok
> Doctest: gui.brushmanager.BrushManager.import_brushpack ... FAIL
> Doctest: gui.brushmanager.BrushManager.save_brushorder ... ok
> Doctest: gui.brushmanager.ManagedBrush.__init__ ... ok
> Doctest: gui.brushmanager.ManagedBrush.description ... ok
> Doctest: gui.brushmanager.ManagedBrush.get_preview ... FAIL
> Doctest: gui.brushmanager.ManagedBrush.notes ... ok
> Doctest: gui.brushmanager.ManagedBrush.preview ... FAIL
> Doctest: gui.brushmanager._device_name_uuid ... ok
> Doctest: gui.brushmanager._quote_device_name ... ok
> Doctest: gui.filehandling._get_case_insensitive_glob ... ok
> Doctest: gui.freehand.PressureAndTiltInterpolator ... FAIL
> Doctest: gui.meta.get_libs_version_string ... ok
> Doctest: gui.mvp.Presenter ... ok
> Doctest: gui.uicolor.from_gdk_color ... ok
> Doctest: gui.uicolor.from_gdk_rgba ... ok
> Doctest: gui.uicolor.to_gdk_color ... ok
> Doctest: gui.uicolor.to_gdk_rgba ... ok
> Doctest: lib.alg.convex_hull ... ok
> Doctest: lib.alg.intersection_of_segments ... ok
> Doctest: lib.alg.nearest_point_in_segment ... ok
> Doctest: lib.alg.pairwise ... ok
> Doctest: lib.alg.point_in_convex_poly ... ok
> Doctest: lib.alg.poly_area ... ok
> Doctest: lib.alg.poly_centroid ... ok
> Doctest: lib.brush.BrushInfo._load_old_format ... ok
> Doctest: lib.brush.BrushInfo.from_json ... ok
> Doctest: lib.brush.brushinfo_quote ... ok
> Doctest: lib.brush.brushinfo_unquote ... ok
> Doctest: lib.brushsettings.BrushInputInfo ... ok
> Doctest: lib.brushsettings.BrushSettingInfo ... ok
> Doctest: lib.color.HCYColor.__eq__ ... ok
> Doctest: lib.color.HCYColor.__init__ ... ok
> Doctest: lib.color.HCYColor.interpolate ... FAIL
> Doctest: lib.color.HCY_to_RGB ... FAIL
> Doctest: lib.color.HSVColor ... ok
> Doctest: lib.color.HSVColor.__eq__ ... ok
> Doctest: lib.color.HSVColor.__init__ ... ok
> Doctest: lib.color.HSVColor.interpolate ... FAIL
> Doctest: lib.color.RGBColor.__eq__ ... ok
> Doctest: lib.color.RGBColor.__init__ ... ok
> Doctest: lib.color.RGBColor.interpolate ... FAIL
> Doctest: lib.color.UIColor ... ok
> Doctest: lib.color.UIColor.get_luma ... ok
> Doctest: lib.color.UIColor.new_from_pixbuf_average ... ok
> Doctest: lib.color.UIColor.to_contrasting ... ok
> Doctest: lib.color.UIColor.to_fill_pixel ... ok
> Doctest: lib.color.UIColor.to_greyscale ... ok
> Doctest: lib.color.YCbCrColor.__eq__ ... ok
> Doctest: lib.color.YCbCrColor.interpolate ... FAIL
> Doctest: lib.document.Document.import_layers ... ok
> Doctest: lib.document.Document.load ... ok
> Doctest: lib.document.Document.settings ... FAIL
> Doctest: lib.document._save_layers_to_new_orazip ... ok
> Doctest: lib.feedback.Progress ... ok
> Doctest: lib.feedback.Progress.__bool__ ... ok
> Doctest: lib.feedback.Progress.__int__ ... ok
> Doctest: lib.feedback.Progress.__repr__ ... ok
> Doctest: lib.feedback.Progress.items ... ok
> Doctest: lib.feedback.Progress.open ... ok
> Doctest: lib.fileutils.replace ... ok
> Doctest: lib.fileutils.safename ... ok
> Doctest: lib.gettext ... ok
> Doctest: lib.glib.filename_from_uri ... ok
> Doctest: lib.glib.filename_to_unicode ... ok
> Doctest: lib.glib.filename_to_uri ... ok
> Doctest: lib.glib.init_user_dir_caches ... ok
> Doctest: lib.helpers.Rect ... FAIL
> Doctest: lib.helpers.casefold ... ok
> Doctest: lib.helpers.coordinate_bounds ... ok
> Doctest: lib.helpers.freedesktop_thumbnail ... FAIL
> Doctest: lib.helpers.get_pixbuf ... ok
> Doctest: lib.helpers.grouper ... FAIL
> Doctest: lib.layer.core.LayerBase.__bool__ ... ok
> Doctest: lib.layer.core.LayerBase.__deepcopy__ ... ok
> Doctest: lib.layer.core.LayerBase.branch_locked ... ok
> Doctest: lib.layer.core.LayerBase.branch_visible ... ok
> Doctest: lib.layer.core.LayerBase.group ... ok
> Doctest: lib.layer.core.LayerBase.root ... ok
> Doctest: lib.layer.group.LayerStack.__init__ ... ok
> Doctest: lib.layer.group.LayerStack.__len__ ... ok
> Doctest: lib.layer.group.LayerStack.__repr__ ... ok
> Doctest: lib.layer.group.LayerStack._normidx ... ok
> Doctest: lib.layer.tree.RootLayerStack.canonpath ... ok
> Doctest: lib.layer.tree.RootLayerStack.current_layer_overlay ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepget ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepindex ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.deepinsert ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepiter ... ok
> Doctest: lib.layer.tree.RootLayerStack.deeppop ... ok
> Doctest: lib.layer.tree.RootLayerStack.deepremove ... ok
> Doctest: lib.layer.tree.RootLayerStack.ensure_populated ... ok
> Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_down ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_visible ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.layer_new_normalized ... FAIL
> Doctest: lib.layer.tree.RootLayerStack.load_from_openraster ... ok
> Doctest: lib.layer.tree.RootLayerStack.path_above ... ok
> Doctest: lib.layer.tree.RootLayerStack.path_below ... ok
> Doctest: lib.layer.tree.RootLayerStack.walk ... FAIL
> Doctest: lib.layer.tree.path_startswith ... ok
> Makes a simple test RootLayerStack (2 branches of 3 leaves each) ... ok
> Doctest: lib.layervis._View.__eq__ ... ok
> Doctest: lib.meta._compatibility ... ok
> Doctest: lib.meta._parse_version_string ... ok
> Doctest: lib.naming.make_unique_name ... ok
> Doctest: lib.observable.ObservableDict ... ok
> Doctest: lib.observable.ObservableDict.update ... ok
> Doctest: lib.observable._BoundObserverMethod.__repr__ ... ok
> Doctest: lib.observable.event ... ok
> Doctest: lib.observable.observable ... ok
> Doctest: lib.observable.observable._update_observers ... ok
> Doctest: lib.palette.Palette.__bool__ ... ok
> Doctest: lib.palette.Palette.__init__ ... ok
> Doctest: lib.palette.Palette.clear ... ok
> Doctest: lib.palette.Palette.get_color_by_name ... ok
> Doctest: lib.palette.Palette.insert ... ok
> Doctest: lib.palette.Palette.load ... ok
> Doctest: lib.palette.Palette.match_color ... ok
> Doctest: lib.palette.Palette.move_match_position ... ok
> Doctest: lib.palette.Palette.reposition ... ok
> Doctest: lib.palette.Palette.save ... ok
> Doctest: lib.pixbuf.load_from_file ... ok
> Doctest: lib.pixbuf.load_from_stream ... ok
> Doctest: lib.pixbuf.load_from_zipfile ... ok
> Doctest: lib.pixbuf.save ... ok
> Doctest: lib.strokemap.StrokeShape.save_to_string ... ok
> Doctest: lib.strokemap._Tile.__repr__ ... ok
> Doctest: lib.strokemap._Tile.new_from_compressed_bitmap ... ok
> Doctest: lib.strokemap._Tile.to_bytes ... ok
> Doctest: lib.strokemap._TileIndexPredicate ... ok
> Doctest: lib.strokemap._pixel_bbox_to_tile_range ... ok
> Doctest: lib.strokemap._tile_in_range ... ok
> Doctest: lib.surface.get_tiles_bbox ... ok
> Doctest: lib.tiledsurface.MyPaintSurface.cairo_request ... ok
> Doctest: lib.tiledsurface.MyPaintSurface.tile_request ... ok
> Doctest: lib.tiledsurface.PNGFileUpdateTask ... ok
> Doctest: lib.tiledsurface._TiledSurfaceMove ... ok
> Doctest: lib.tiledsurface.calc_translation_slices ... ok
> Doctest: lib.xml.escape ... ok
> Doctest: lib.xml.xsd2bool ... ok
> 
> ======================================================================
> FAIL: Doctest: gui.brushmanager.BrushManager.__init__
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for gui.brushmanager.BrushManager.__init__
>   File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 187, in __init__
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 202, in 
> gui.brushmanager.BrushManager.__init__
> Failed example:
>     all([isinstance(k, unicode) for k in bm.groups.keys()])
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 204, in 
> gui.brushmanager.BrushManager.__init__
> Failed example:
>     all([isinstance(v, list) for v in bm.groups.values()])
> Expected:
>     True
> Got nothing
> 
> -------------------- >> begin captured logging << --------------------
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: gui.brushmanager.BrushManager.import_brushpack
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> gui.brushmanager.BrushManager.import_brushpack
>   File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 620, in import_brushpack
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 639, in 
> gui.brushmanager.BrushManager.import_brushpack
> Failed example:
>     u'brushlib-test/basic' in g_names
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest gui.brushmanager.BrushManager.import_brushpack[3]>", 
> line 1, in <module>
>         u'brushlib-test/basic' in g_names
>     NameError: name 'g_names' is not defined
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 641, in 
> gui.brushmanager.BrushManager.import_brushpack
> Failed example:
>     u'brushlib-test/fancy_🌈🦄✨' in g_names
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest gui.brushmanager.BrushManager.import_brushpack[4]>", 
> line 1, in <module>
>         u'brushlib-test/fancy_🌈🦄✨' in g_names
>     NameError: name 'g_names' is not defined
> 
> -------------------- >> begin captured logging << --------------------
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> gui.brushmanager: INFO: 3 different brushes found in 'order.conf' of brushpack
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: gui.brushmanager.ManagedBrush.get_preview
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> gui.brushmanager.ManagedBrush.get_preview
>   File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 1199, in get_preview
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line 1227, in 
> gui.brushmanager.ManagedBrush.get_preview
> Failed example:
>     all([p1 is p2 for (p1, p2) in zip(pixbufs1, pixbufs2)])
> Expected:
>     True
> Got nothing
> 
> -------------------- >> begin captured logging << --------------------
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> gui.brushmanager: INFO: 3 different brushes found in 'order.conf' of brushpack
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: gui.brushmanager.ManagedBrush.preview
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for gui.brushmanager.ManagedBrush.preview
>   File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line unknown line number, in 
> preview
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/brushmanager.py", line ?, in 
> gui.brushmanager.ManagedBrush.preview
> Failed example:
>     all([p1 is p2 for (p1, p2) in zip(pixbufs1, pixbufs2)])
> Expected:
>     True
> Got nothing
> 
> -------------------- >> begin captured logging << --------------------
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> gui.brushmanager: INFO: Merging upstream brush changes into your collection.
> gui.brushmanager: DEBUG: Loading <ManagedBrush 
> 'deevad/basic_digital_brush_smudging' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/rough' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/4H_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/2B_pencil' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/pen' p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/kneaded_eraser_large' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/large_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/thin_hard_eraser' 
> p=None>...
> gui.brushmanager: DEBUG: Loading <ManagedBrush 'deevad/basic_digital_brush' 
> p=None>...
> gui.brushmanager: INFO: 3 different brushes found in 'order.conf' of brushpack
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: gui.freehand.PressureAndTiltInterpolator
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> gui.freehand.PressureAndTiltInterpolator
>   File "/<<PKGBUILDDIR>>/gui/freehand.py", line 653, in 
> PressureAndTiltInterpolator
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 665, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     all([len(t) == 9 for t in raw_data])
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 667, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     any([t for t in raw_data if None in t[3:]])
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 673, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     any([t for t in cooked_data if None in t[3:]])
> Expected:
>     False
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 677, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     all([(t in cooked_data) for t in raw_data
>          if None not in t[3:]])
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 680, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     any([t for t in cooked_data if 70 < t[0] < 110])
> Expected:
>     False
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/gui/freehand.py", line 682, in 
> gui.freehand.PressureAndTiltInterpolator
> Failed example:
>     len([t for t in cooked_data if t[0] in (70, 110)]) == 2
> Expected:
>     True
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.color.HCYColor.interpolate
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.color.HCYColor.interpolate
>   File "/<<PKGBUILDDIR>>/lib/color.py", line 552, in interpolate
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 557, in 
> lib.color.HCYColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in green.interpolate(red, 5)]
> Expected:
>     ['#19c619', '#5ea319', '#8c8c19', '#c46f19', '#e55353']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 559, in 
> lib.color.HCYColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in red.interpolate(green, 5)]
> Expected:
>     ['#e55353', '#c46f19', '#8c8c19', '#5ea319', '#19c619']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 567, in 
> lib.color.HCYColor.interpolate
> Failed example:
>     [i.c for i in red.interpolate(green, 5)]
> Expected:
>     [0.8, 0.8, 0.8, 0.8, 0.8]
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 570, in 
> lib.color.HCYColor.interpolate
> Failed example:
>     [round(HCYColor(color=i).c, 3)
>           for i in red_rgb.interpolate(green, 5)]
> Expected:
>     [0.8, 0.457, 0.571, 0.686, 0.8]
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.color.HCY_to_RGB
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.color.HCY_to_RGB
>   File "/<<PKGBUILDDIR>>/lib/color.py", line 832, in HCY_to_RGB
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 846, in lib.color.HCY_to_RGB
> Failed example:
>     sum(diffs) < n*1e-6
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.color.HCY_to_RGB[2]>", line 1, in <module>
>         sum(diffs) < n*1e-6
>     NameError: name 'diffs' is not defined
> 
> 
> ======================================================================
> FAIL: Doctest: lib.color.HSVColor.interpolate
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.color.HSVColor.interpolate
>   File "/<<PKGBUILDDIR>>/lib/color.py", line 407, in interpolate
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 412, in 
> lib.color.HSVColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in green_hsv.interpolate(red_hsv, 3)]
> Expected:
>     ['#00ff00', '#ffff00', '#ff0000']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 414, in 
> lib.color.HSVColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in red_hsv.interpolate(green_hsv, 3)]
> Expected:
>     ['#ff0000', '#ffff00', '#00ff00']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 420, in 
> lib.color.HSVColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in red_rgb.interpolate(green_hsv, 3)]
> Expected:
>     ['#ff0000', '#7f7f00', '#00ff00']
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.color.RGBColor.interpolate
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.color.RGBColor.interpolate
>   File "/<<PKGBUILDDIR>>/lib/color.py", line 311, in interpolate
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 316, in 
> lib.color.RGBColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in white.interpolate(black, 3)]
> Expected:
>     ['#ffffff', '#7f7f7f', '#000000']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 318, in 
> lib.color.RGBColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in black.interpolate(white, 3)]
> Expected:
>     ['#000000', '#7f7f7f', '#ffffff']
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.color.YCbCrColor.interpolate
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.color.YCbCrColor.interpolate
>   File "/<<PKGBUILDDIR>>/lib/color.py", line 678, in interpolate
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 683, in 
> lib.color.YCbCrColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in yellow.interpolate(red, 3)]
> Expected:
>     ['#feff00', '#ff7f00', '#ff0000']
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/color.py", line 692, in 
> lib.color.YCbCrColor.interpolate
> Failed example:
>     [c.to_hex_str() for c in y_rgb.interpolate(r_rgb, 3)]
> Expected:
>     ['#ffff00', '#ff7f00', '#ff0000']
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.document.Document.settings
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.document.Document.settings
>   File "/<<PKGBUILDDIR>>/lib/document.py", line unknown line number, in 
> settings
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/document.py", line ?, in 
> lib.document.Document.settings
> Failed example:
>     sorted([i for i in doc1.settings.items()
>             if i[0].startswith("T.")]) == expected
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/document.py", line ?, in 
> lib.document.Document.settings
> Failed example:
>     sorted([i for i in doc1.settings.items()
>             if i[0].startswith("T.")]) == expected
> Expected:
>     True
> Got nothing
> 
> -------------------- >> begin captured logging << --------------------
> lib.fileutils: DEBUG: Writing to temp path 
> '/tmp/tmpmjy0v4a6/.tmpsave.file1.ora'
> lib.document: INFO: save_ora: '/tmp/tmpmjy0v4a6/.tmpsave.file1.ora' (None, {})
> lib.surface: DEBUG: Writing '/tmp/saveqrq9irqnmypaint/layer-00.png' (1x1) 
> alpha=True srgb=True
> lib.surface: DEBUG: Finished writing '/tmp/saveqrq9irqnmypaint/layer-00.png'
> lib.layer.data: DEBUG: 0.000s surface saving 'layer-00.png'
> lib.layer.data: DEBUG: 0.000s strokemap saving 'layer-00-strokemap.dat'
> lib.surface: DEBUG: Writing '/tmp/saveqrq9irqnmypaint/background-01.png' 
> (64x64) alpha=True srgb=True
> lib.surface: DEBUG: Finished writing 
> '/tmp/saveqrq9irqnmypaint/background-01.png'
> lib.layer.data: DEBUG: 0.000s surface saving 'background-01.png'
> lib.surface: DEBUG: Writing '/tmp/saveqrq9irqnmypaint/background-01-tile.png' 
> (64x64) alpha=True srgb=True
> lib.surface: DEBUG: Finished writing 
> '/tmp/saveqrq9irqnmypaint/background-01-tile.png'
> lib.layer.data: DEBUG: 0.001s surface saving data/background-01-tile.png
> lib.fileutils: DEBUG: Writing to temp path 
> '/tmp/saveqrq9irqnmypaint/.tmpsave.mergedimage.png'
> lib.surface: DEBUG: Writing 
> '/tmp/saveqrq9irqnmypaint/.tmpsave.mergedimage.png' (64x64) alpha=False 
> srgb=True
> lib.surface: DEBUG: Finished writing 
> '/tmp/saveqrq9irqnmypaint/.tmpsave.mergedimage.png'
> lib.fileutils: DEBUG: Replacing '/tmp/saveqrq9irqnmypaint/mergedimage.png' 
> with '/tmp/saveqrq9irqnmypaint/.tmpsave.mergedimage.png'
> lib.document: INFO: 0.004s save_ora total
> lib.fileutils: DEBUG: Replacing '/tmp/tmpmjy0v4a6/file1.ora' with 
> '/tmp/tmpmjy0v4a6/.tmpsave.file1.ora'
> lib.document: DEBUG: Using 'load_ora' to load '/tmp/tmpmjy0v4a6/file1.ora' 
> (kwargs={})
> lib.document: INFO: load_ora: '/tmp/tmpmjy0v4a6/file1.ora'
> lib.document: DEBUG: mimetype: b'image/openraster'
> lib.layer.data: DEBUG: Trying to load 'data/layer-00.png' at +0+0, as 
> 'PaintingLayer'
> lib.layer.data: DEBUG: Found strokemap 'data/layer-00-strokemap.dat' in 
> '{http://mypaint.org/ns/openraster}strokemap'
> lib.layer.tree: DEBUG: Found bg tile 'data/background-01-tile.png' in 
> '{http://mypaint.org/ns/openraster}background-tile'
> lib.layer.tree: DEBUG: Loaded 1 layer(s)
> lib.layer.tree: DEBUG: Selecting (0,) after load
> lib.document: INFO: 0.004s load_ora total
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: lib.helpers.Rect
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.helpers.Rect
>   File "/<<PKGBUILDDIR>>/lib/helpers.py", line 35, in Rect
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 51, in lib.helpers.Rect
> Failed example:
>     [big.contains(r) for r in [a, b, c]]
> Expected:
>     [True, True, True]
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 53, in lib.helpers.Rect
> Failed example:
>     [big.overlaps(r) for r in [a, b, c]]
> Expected:
>     [True, True, True]
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 55, in lib.helpers.Rect
> Failed example:
>     [r.overlaps(big) for r in [a, b, c]]
> Expected:
>     [True, True, True]
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.helpers.freedesktop_thumbnail
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.helpers.freedesktop_thumbnail
>   File "/<<PKGBUILDDIR>>/lib/helpers.py", line 258, in freedesktop_thumbnail
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 278, in 
> lib.helpers.freedesktop_thumbnail
> Failed example:
>     isinstance(p1, GdkPixbuf.Pixbuf)
> Expected:
>     True
> Got:
>     False
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 281, in 
> lib.helpers.freedesktop_thumbnail
> Failed example:
>     isinstance(p2, GdkPixbuf.Pixbuf)
> Expected:
>     True
> Got:
>     False
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 283, in 
> lib.helpers.freedesktop_thumbnail
> Failed example:
>     p2.to_string() == p1.to_string()
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.helpers.freedesktop_thumbnail[5]>", line 1, in 
> <module>
>         p2.to_string() == p1.to_string()
>     AttributeError: 'NoneType' object has no attribute 'to_string'
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 285, in 
> lib.helpers.freedesktop_thumbnail
> Failed example:
>     p2.get_width() == p2.get_height() == 256
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.helpers.freedesktop_thumbnail[6]>", line 1, in 
> <module>
>         p2.get_width() == p2.get_height() == 256
>     AttributeError: 'NoneType' object has no attribute 'get_width'
> 
> -------------------- >> begin captured logging << --------------------
> lib.helpers: DEBUG: thumb: 
> uri='file:///<<PKGBUILDDIR>>/svg/thumbnail-test-input.svg'
> lib.helpers: ERROR: Failed to load thumbnail pixbuf from 
> 'svg/thumbnail-test-input.svg'
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/lib/helpers.py", line 430, in get_pixbuf
>     return lib.pixbuf.load_from_file(filename)
>   File "/<<PKGBUILDDIR>>/lib/pixbuf.py", line 113, in load_from_file
>     pixbuf = load_from_stream(fp, progress=progress)
>   File "/<<PKGBUILDDIR>>/lib/pixbuf.py", line 146, in load_from_stream
>     loader.write(buf)
> gi.repository.GLib.GError: gdk-pixbuf-error-quark: Unrecognized image file 
> format (3)
> lib.helpers: DEBUG: thumb: 
> uri='file:///<<PKGBUILDDIR>>/svg/thumbnail-test-input.svg'
> lib.helpers: ERROR: Failed to load thumbnail pixbuf from 
> 'svg/thumbnail-test-input.svg'
> Traceback (most recent call last):
>   File "/<<PKGBUILDDIR>>/lib/helpers.py", line 430, in get_pixbuf
>     return lib.pixbuf.load_from_file(filename)
>   File "/<<PKGBUILDDIR>>/lib/pixbuf.py", line 113, in load_from_file
>     pixbuf = load_from_stream(fp, progress=progress)
>   File "/<<PKGBUILDDIR>>/lib/pixbuf.py", line 146, in load_from_stream
>     loader.write(buf)
> gi.repository.GLib.GError: gdk-pixbuf-error-quark: Unrecognized image file 
> format (3)
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: lib.helpers.grouper
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.helpers.grouper
>   File "/<<PKGBUILDDIR>>/lib/helpers.py", line 585, in grouper
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/helpers.py", line 596, in lib.helpers.grouper
> Failed example:
>     [a_val == e_val for a_val, e_val in zip(actual, expected)]
> Expected:
>     [True, True, True]
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.layer.tree.RootLayerStack.deepindex
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> lib.layer.tree.RootLayerStack.deepindex
>   File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1788, in deepindex
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1795, in 
> lib.layer.tree.RootLayerStack.deepindex
> Failed example:
>     [stack.deepindex(l) for l in leaves]
> Expected:
>     [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]
> Got nothing
> 
> 
> ======================================================================
> FAIL: Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_down
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> lib.layer.tree.RootLayerStack.layer_new_merge_down
>   File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2063, in 
> layer_new_merge_down
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2085, in 
> lib.layer.tree.RootLayerStack.layer_new_merge_down
> Failed example:
>     for path, layer in orig_walk:
>         try:
>             merged = root.layer_new_merge_down(path)
>         except ValueError:   # expect this
>             n_not_merged += 1
>             continue
>         assert merged not in orig_layers  # always a new layer
>         n_merged += 1
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.layer.tree.RootLayerStack.layer_new_merge_down[6]>", 
> line 7, in <module>
>         assert merged not in orig_layers  # always a new layer
>     NameError: name 'orig_layers' is not defined
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2094, in 
> lib.layer.tree.RootLayerStack.layer_new_merge_down
> Failed example:
>     assert n_merged > 0
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.layer.tree.RootLayerStack.layer_new_merge_down[8]>", 
> line 1, in <module>
>         assert n_merged > 0
>     AssertionError
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2095, in 
> lib.layer.tree.RootLayerStack.layer_new_merge_down
> Failed example:
>     assert n_not_merged > 0
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.layer.tree.RootLayerStack.layer_new_merge_down[9]>", 
> line 1, in <module>
>         assert n_not_merged > 0
>     AssertionError
> 
> -------------------- >> begin captured logging << --------------------
> lib.layer.tree: DEBUG: Normalize: bd_ops = [(2, <lib.tiledsurface.Background 
> object at 0x7fee104adac0>, None, None), (3, None, None, None), (4, None, 21, 
> 1.0)]
> lib.layer.tree: DEBUG: Normalize: src_ops = [(3, None, None, None), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee10498130>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee104a1cd0>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee1048fa90>, 21, 1.0), (4, 
> None, 21, 1.0)]
> lib.layer.tree: DEBUG: Normalize: bd_ops = [(2, <lib.tiledsurface.Background 
> object at 0x7fee104adac0>, None, None), (3, None, None, None), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee10498130>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee104a1cd0>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee1048fa90>, 21, 1.0), (4, 
> None, 21, 1.0)]
> lib.layer.tree: DEBUG: Normalize: src_ops = [(3, None, None, None), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee104a1bb0>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee104a1790>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee104a1370>, 21, 1.0), (4, 
> None, 21, 1.0)]
> lib.layer.tree: DEBUG: Merge Down: normalized source=[<PaintingLayer '1'>, 
> <PaintingLayer '0'>]
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: lib.layer.tree.RootLayerStack.layer_new_merge_visible
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> lib.layer.tree.RootLayerStack.layer_new_merge_visible
>   File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2147, in 
> layer_new_merge_visible
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 2169, in 
> lib.layer.tree.RootLayerStack.layer_new_merge_visible
> Failed example:
>     assert merged not in orig_layers   # layer is a new object
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest 
> lib.layer.tree.RootLayerStack.layer_new_merge_visible[6]>", line 1, in 
> <module>
>         assert merged not in orig_layers   # layer is a new object
>     NameError: name 'orig_layers' is not defined
> 
> 
> ======================================================================
> FAIL: Doctest: lib.layer.tree.RootLayerStack.layer_new_normalized
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for 
> lib.layer.tree.RootLayerStack.layer_new_normalized
>   File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1918, in 
> layer_new_normalized
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1945, in 
> lib.layer.tree.RootLayerStack.layer_new_normalized
> Failed example:
>     for path, layer in orig_walk:
>         normized = root.layer_new_normalized(path)
>         assert normized not in orig_layers  # always a new layer
> Exception raised:
>     Traceback (most recent call last):
>       File "/usr/lib/python3.8/doctest.py", line 1336, in __run
>         exec(compile(example.source, filename, "single",
>       File "<doctest lib.layer.tree.RootLayerStack.layer_new_normalized[4]>", 
> line 3, in <module>
>         assert normized not in orig_layers  # always a new layer
>     NameError: name 'orig_layers' is not defined
> 
> -------------------- >> begin captured logging << --------------------
> lib.layer.tree: DEBUG: Normalize: bd_ops = [(2, <lib.tiledsurface.Background 
> object at 0x7fee10498610>, None, None), (3, None, None, None), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee1046fc70>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee1046f850>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee1046f430>, 21, 1.0), (4, 
> None, 21, 1.0)]
> lib.layer.tree: DEBUG: Normalize: src_ops = [(3, None, None, None), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee10487fa0>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee10487b80>, 21, 1.0), (1, 
> <lib.tiledsurface.MyPaintSurface object at 0x7fee10487730>, 21, 1.0), (4, 
> None, 21, 1.0)]
> --------------------- >> end captured logging << ---------------------
> 
> ======================================================================
> FAIL: Doctest: lib.layer.tree.RootLayerStack.walk
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/doctest.py", line 2204, in runTest
>     raise self.failureException(self.format_failure(new.getvalue()))
> AssertionError: Failed doctest test for lib.layer.tree.RootLayerStack.walk
>   File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1547, in walk
> 
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1572, in 
> lib.layer.tree.RootLayerStack.walk
> Failed example:
>     root in {l for p, l in walk}
> Expected:
>     False
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1596, in 
> lib.layer.tree.RootLayerStack.walk
> Failed example:
>     root.deepget([1]) in {l for p, l in walk}
> Expected:
>     True
> Got nothing
> ----------------------------------------------------------------------
> File "/<<PKGBUILDDIR>>/lib/layer/tree.py", line 1598, in 
> lib.layer.tree.RootLayerStack.walk
> Failed example:
>     root.deepget([1, 0]) in {l for p, l in walk}
> Expected:
>     False
> Got nothing
> 
> 
> ----------------------------------------------------------------------
> Ran 142 tests in 3.929s
> 
> FAILED (failures=19)
> make[1]: *** [debian/rules:44: override_dh_auto_test] Error 1

The full build log is available from:
   http://qa-logs.debian.net/2020/05/01/mypaint_2.0.0-2_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: mypaint
Source-Version: 2.0.0+git20200502-1
Done: Boyuan Yang <by...@debian.org>

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

Debian distribution maintenance software
pp.
Boyuan Yang <by...@debian.org> (supplier of updated mypaint 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, 12 May 2020 18:22:59 -0400
Source: mypaint
Architecture: source
Version: 2.0.0+git20200502-1
Distribution: unstable
Urgency: medium
Maintainer: Python Applications Packaging Team 
<python-apps-t...@lists.alioth.debian.org>
Changed-By: Boyuan Yang <by...@debian.org>
Closes: 959620
Changes:
 mypaint (2.0.0+git20200502-1) unstable; urgency=medium
 .
   * Team upload.
   * New upstream snapshot (2020-05-02).
   * Rebuild with libmypaint 1.6.0.
   * debian/control:
     + Mark package mypaint-data and mypaint-data-extra
       as Multi-Arch: foreign.
     + Add missing build and runtime dependency on librsvg.
       (Closes: #959620)
   * debian/patches: Refresh patch and drop all python2-compat
     imports. This also helps to fix #959620.
Checksums-Sha1:
 29504ae37c76638737caec5284bf8577a942a7d5 2525 mypaint_2.0.0+git20200502-1.dsc
 c1ab7ec5d6f9eafeeeb6c88e855c71386ed4f16c 7305204 
mypaint_2.0.0+git20200502.orig.tar.xz
 5c65af5b7490c0cad54c95d74cacb923bf21b8d5 27900 
mypaint_2.0.0+git20200502-1.debian.tar.xz
 6900747fa3d35f95e2ad27f56c8aa2ca02f54a0d 15599 
mypaint_2.0.0+git20200502-1_amd64.buildinfo
Checksums-Sha256:
 0e16e9273fdee1215cc5b80705aa02b762e21b5ea77fcb1aca5ea2ae65dae334 2525 
mypaint_2.0.0+git20200502-1.dsc
 bd355dc7a672e221d794f69760519c112f1e4b88bfa906a774ce476a40d09bcd 7305204 
mypaint_2.0.0+git20200502.orig.tar.xz
 7678a590853fe72657a4b04254d019ee90d441ba9cf728f8e0959f9aac4d0526 27900 
mypaint_2.0.0+git20200502-1.debian.tar.xz
 788c6c10d096c0316f4dd678b40c354aae40b401fdf5d773d8250b655aa4ced6 15599 
mypaint_2.0.0+git20200502-1_amd64.buildinfo
Files:
 0bf32946b30e1fee36c997ba822de5bc 2525 graphics optional 
mypaint_2.0.0+git20200502-1.dsc
 7508ca57c356e69bfc1e048c19518420 7305204 graphics optional 
mypaint_2.0.0+git20200502.orig.tar.xz
 edef305d1b31f5d67dc04937a79c07db 27900 graphics optional 
mypaint_2.0.0+git20200502-1.debian.tar.xz
 3207c3d3f52d2338380a5cc452ad7e78 15599 graphics optional 
mypaint_2.0.0+git20200502-1_amd64.buildinfo

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

iQIzBAEBCgAdFiEEfncpR22H1vEdkazLwpPntGGCWs4FAl68GvkACgkQwpPntGGC
Ws5B/BAAr7RR9pCXCrjqbCmz741LxVRh7sJ5w2XdFbq1t1fHV6FNSc59O+Md1Os/
WZOGR6+tXSAlURTJq4pKyLO5bRh97VABGm5v6zZwgth1nNerwWoLoYU+cXJmhIz0
jgkzUn57XIaDZHY1h0+hZ4o88IAYhQekyuuPTCXjWgjcnhrWnr5TCDRWMUJnZxDX
W3j1m2vto8mznLM8pTGaU0vj9kQpXsIZF6AjPJSekyPScCCv3V0o8boGnXXthL20
2m7qA73p1HINgdFEd52nPv7BLXscDqm5Fr5SrEli1vmLkeMMbvLUglwBJMVneQWY
3qX8rGxE2QIWQYmCFSwDhBRmybdfRi802XLKHQ8sSnN5stzB2N5XWGXgudjN7+8z
AQWsj3I5ouYmQc8BE3wtz//rnXU7p1rXTRZ9NtMEFpsFlBknSjQyjTWXwhEvAPxn
147HwIebTeZikCnTAHU7l08vG9hflXr+SA/182TAEmFNYBQFW9PMNAgtZrT0K3AE
HmAbgzWwshVn0ABvC3EJAQH8Cv/nxiov77T8emmshWpys7QBmbjFJ4YJ+b+NUnYs
yEFVdAVRzi4fuIs7mKn0WsvPUto8EXd28LEgBF4Uv5kABmvtxa+KFvnmnLpmkEJM
iyTAtz088Pm2QewVxIfgw/tjrd7Q9uMIpd8WMexYxu902lwinbs=
=4Ls0
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to