Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 764987 Details for
Bug 833271
dev-util/meld-3.20.4 fails test - E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon meld-change-apply-right not presen
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
dev-util:meld-3.20.4:20220213-072211.log
dev-util:meld-3.20.4:20220213-072211.log (text/plain), 212.65 KB, created by
Toralf Förster
on 2022-02-13 10:51:05 UTC
(
hide
)
Description:
dev-util:meld-3.20.4:20220213-072211.log
Filename:
MIME Type:
Creator:
Toralf Förster
Created:
2022-02-13 10:51:05 UTC
Size:
212.65 KB
patch
obsolete
> * Package: dev-util/meld-3.20.4 > * Repository: gentoo > * Maintainer: gnome@gentoo.org > * USE: abi_x86_64 amd64 elibc_glibc kernel_linux python_single_target_python3_9 test userland_GNU > * FEATURES: network-sandbox preserve-libs sandbox test userpriv usersandbox > * Using python3.9 to build >>>> Unpacking source... >>>> Unpacking meld-3.20.4.tar.xz to /var/tmp/portage/dev-util/meld-3.20.4/work >>>> Source unpacked in /var/tmp/portage/dev-util/meld-3.20.4/work >>>> Preparing source in /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4 ... >>>> Source prepared. >>>> Configuring source in /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4 ... >>>> Source configured. >>>> Compiling source in /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4 ... >python3.9 setup.py build -j 4 >running build >running build_py >creating /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/windowstate.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/vcview.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/undo.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/treehelpers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/tree.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/task.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/sourceview.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/signalhelpers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/settings.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/recent.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/preferences.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/patchdialog.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/newdifftab.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/misc.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/meldwindow.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/melddoc.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/meldbuffer.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/meldapp.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/linkmap.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/iohelpers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/gutterrendererchunk.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/filters.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/filemerge.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/filediff.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/dirdiff.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/diffmap.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/diffgrid.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/const.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >'prefix' >copying meld/conf.py-installed -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/conf.py >copying meld/build_helpers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >copying meld/__init__.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld >creating /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >copying meld/matchers/myers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >copying meld/matchers/merge.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >copying meld/matchers/helpers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >copying meld/matchers/diffutil.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >copying meld/matchers/__init__.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/matchers >creating /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/vcdialogs.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/util.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/statusbar.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/notebooklabel.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/notebook.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/msgarea.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/listwidget.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/listselector.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/historyentry.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/gtkcompat.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/gnomeglade.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/gladesupport.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/findbar.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/filechooser.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/emblemcellrenderer.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/cellrenderers.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/bufferselectors.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >copying meld/ui/__init__.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/ui >creating /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/svn.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/mercurial.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/git.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/darcs.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/bzr.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/_vc.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/_null.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/__init__.py -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/README -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >copying meld/vc/COPYING -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/lib/meld/vc >warning: build_py: byte-compiling is disabled, skipping. > >running build_scripts >creating /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/scripts >copying and adjusting bin/meld -> /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/scripts >changing mode of /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4_python3.9/scripts/meld from 644 to 755 >running build_i18n >intltool-update -p -g meld >msgfmt po/zh_TW.po -o build/mo/zh_TW/LC_MESSAGES/meld.mo >msgfmt po/zh_CN.po -o build/mo/zh_CN/LC_MESSAGES/meld.mo >msgfmt po/vi.po -o build/mo/vi/LC_MESSAGES/meld.mo >msgfmt po/uk.po -o build/mo/uk/LC_MESSAGES/meld.mo >msgfmt po/tr.po -o build/mo/tr/LC_MESSAGES/meld.mo >msgfmt po/sv.po -o build/mo/sv/LC_MESSAGES/meld.mo >msgfmt po/sr@latin.po -o build/mo/sr@latin/LC_MESSAGES/meld.mo >msgfmt po/sr.po -o build/mo/sr/LC_MESSAGES/meld.mo >msgfmt po/sq.po -o build/mo/sq/LC_MESSAGES/meld.mo >msgfmt po/sl.po -o build/mo/sl/LC_MESSAGES/meld.mo >msgfmt po/sk.po -o build/mo/sk/LC_MESSAGES/meld.mo >msgfmt po/rw.po -o build/mo/rw/LC_MESSAGES/meld.mo >msgfmt po/ru.po -o build/mo/ru/LC_MESSAGES/meld.mo >msgfmt po/ro.po -o build/mo/ro/LC_MESSAGES/meld.mo >msgfmt po/pt_BR.po -o build/mo/pt_BR/LC_MESSAGES/meld.mo >msgfmt po/pt.po -o build/mo/pt/LC_MESSAGES/meld.mo >msgfmt po/pl.po -o build/mo/pl/LC_MESSAGES/meld.mo >msgfmt po/pa.po -o build/mo/pa/LC_MESSAGES/meld.mo >msgfmt po/oc.po -o build/mo/oc/LC_MESSAGES/meld.mo >msgfmt po/nl.po -o build/mo/nl/LC_MESSAGES/meld.mo >msgfmt po/ne.po -o build/mo/ne/LC_MESSAGES/meld.mo >msgfmt po/nb.po -o build/mo/nb/LC_MESSAGES/meld.mo >msgfmt po/ko.po -o build/mo/ko/LC_MESSAGES/meld.mo >msgfmt po/ja.po -o build/mo/ja/LC_MESSAGES/meld.mo >msgfmt po/it.po -o build/mo/it/LC_MESSAGES/meld.mo >msgfmt po/id.po -o build/mo/id/LC_MESSAGES/meld.mo >msgfmt po/hu.po -o build/mo/hu/LC_MESSAGES/meld.mo >msgfmt po/he.po -o build/mo/he/LC_MESSAGES/meld.mo >msgfmt po/gl.po -o build/mo/gl/LC_MESSAGES/meld.mo >msgfmt po/fr.po -o build/mo/fr/LC_MESSAGES/meld.mo >msgfmt po/fi.po -o build/mo/fi/LC_MESSAGES/meld.mo >msgfmt po/eu.po -o build/mo/eu/LC_MESSAGES/meld.mo >msgfmt po/es.po -o build/mo/es/LC_MESSAGES/meld.mo >msgfmt po/eo.po -o build/mo/eo/LC_MESSAGES/meld.mo >msgfmt po/en_GB.po -o build/mo/en_GB/LC_MESSAGES/meld.mo >msgfmt po/en_CA.po -o build/mo/en_CA/LC_MESSAGES/meld.mo >msgfmt po/el.po -o build/mo/el/LC_MESSAGES/meld.mo >msgfmt po/dz.po -o build/mo/dz/LC_MESSAGES/meld.mo >msgfmt po/de.po -o build/mo/de/LC_MESSAGES/meld.mo >msgfmt po/da.po -o build/mo/da/LC_MESSAGES/meld.mo >msgfmt po/cs.po -o build/mo/cs/LC_MESSAGES/meld.mo >msgfmt po/ca@valencia.po -o build/mo/ca@valencia/LC_MESSAGES/meld.mo >msgfmt po/ca.po -o build/mo/ca/LC_MESSAGES/meld.mo >msgfmt po/bs.po -o build/mo/bs/LC_MESSAGES/meld.mo >msgfmt po/bg.po -o build/mo/bg/LC_MESSAGES/meld.mo >msgfmt po/ar.po -o build/mo/ar/LC_MESSAGES/meld.mo >intltool-merge -x po data/org.gnome.meld.appdata.xml.in build/share/metainfo/org.gnome.meld.appdata.xml >Merging translations into build/share/metainfo/org.gnome.meld.appdata.xml. >CREATED build/share/metainfo/org.gnome.meld.appdata.xml >intltool-merge -x po data/mime/org.gnome.meld.xml.in build/share/mime/packages/org.gnome.meld.xml >Merging translations into build/share/mime/packages/org.gnome.meld.xml. >CREATED build/share/mime/packages/org.gnome.meld.xml >intltool-merge -d po data/org.gnome.meld.desktop.in build/share/applications/org.gnome.meld.desktop >Merging translations into build/share/applications/org.gnome.meld.desktop. >running build_icons >running build_help >copying help/C/vc-supported.page -> build/help/C >copying help/C/vc-mode.page -> build/help/C >copying help/C/text-filters.page -> build/help/C >copying help/C/resolving-conflicts.page -> build/help/C >copying help/C/preferences.page -> build/help/C >copying help/C/missing-functionality.page -> build/help/C >copying help/C/legal.xml -> build/help/C >copying help/C/keyboard-shortcuts.page -> build/help/C >copying help/C/introduction.page -> build/help/C >copying help/C/index.page -> build/help/C >copying help/C/folder-mode.page -> build/help/C >copying help/C/flattened-view.page -> build/help/C >copying help/C/file-mode.page -> build/help/C >copying help/C/file-filters.page -> build/help/C >copying help/C/file-changes.page -> build/help/C >copying help/C/command-line.page -> build/help/C >xmllint --noout --noent --path build/help/C --xinclude build/help/C/vc-supported.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/vc-mode.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/text-filters.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/resolving-conflicts.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/preferences.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/missing-functionality.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/keyboard-shortcuts.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/introduction.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/index.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/folder-mode.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/flattened-view.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/file-mode.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/file-filters.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/file-changes.page >xmllint --noout --noent --path build/help/C --xinclude build/help/C/command-line.page >running build_data >>>> Source compiled. >>>> Test phase: dev-util/meld-3.20.4 > * Scanning for an open DISPLAY to start Xvfb ... > * Starting Xvfb on $DISPLAY=3 ... >python3.9 -m pytest -vv -ra -l -Wdefault --color=no -p no:cov -p no:flake8 -p no:flakes -p no:pylint >============================= test session starts ============================== >platform linux -- Python 3.9.10, pytest-7.0.1, pluggy-1.0.0 -- /usr/bin/python3.9 >cachedir: .pytest_cache >hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/.hypothesis/examples') >rootdir: /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4 >plugins: flaky-3.7.0, xdoctest-0.15.10, timeout-2.1.0, hypothesis-6.36.1, trio-0.7.0, datadir-1.3.1 >collected 111 items > >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee-<enum GTK_SOURCE_NEWLINE_TYPE_CR_LF of type GtkSource.NewlineType>-ree] PASSED [ 0%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee\r\n-<enum GTK_SOURCE_NEWLINE_TYPE_CR_LF of type GtkSource.NewlineType>-ree\r\neee] PASSED [ 1%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\neee-<enum GTK_SOURCE_NEWLINE_TYPE_CR of type GtkSource.NewlineType>-ree] PASSED [ 2%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\neee\n-<enum GTK_SOURCE_NEWLINE_TYPE_CR of type GtkSource.NewlineType>-ree\neee] PASSED [ 3%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\reee-<enum GTK_SOURCE_NEWLINE_TYPE_LF of type GtkSource.NewlineType>-ree] PASSED [ 4%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\reee\r-<enum GTK_SOURCE_NEWLINE_TYPE_LF of type GtkSource.NewlineType>-ree\reee] PASSED [ 5%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee-<enum GTK_SOURCE_NEWLINE_TYPE_CR of type GtkSource.NewlineType>-ree] PASSED [ 6%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee\n-<enum GTK_SOURCE_NEWLINE_TYPE_CR_LF of type GtkSource.NewlineType>-ree\r\neee] PASSED [ 7%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee\nqqq-<enum GTK_SOURCE_NEWLINE_TYPE_CR_LF of type GtkSource.NewlineType>-ree\r\neee] PASSED [ 8%] >test/test_chunk_actions.py::test_delete_last_line_crlf[ree\r\neee\nqqq\r\n-<enum GTK_SOURCE_NEWLINE_TYPE_CR_LF of type GtkSource.NewlineType>-ree\r\neee\nqqq] PASSED [ 9%] >test/test_filediff.py::test_filter_text[# asdasdasdasdsad-ignored_ranges0-] PASSED [ 9%] >test/test_filediff.py::test_filter_text[asdasdasdasdsab-ignored_ranges1-ab] PASSED [ 10%] >test/test_filediff.py::test_filter_text[xasdyasdz-ignored_ranges2-xyz] PASSED [ 11%] >test/test_filediff.py::test_filter_text[qaqxqbyqzq-ignored_ranges3-qayzq] PASSED [ 12%] >test/test_filediff.py::test_filter_text[qaqxqybqzq-ignored_ranges4-qazq] PASSED [ 13%] >test/test_filediff.py::test_filter_text[# asdasdasdasdsab-ignored_ranges5-] PASSED [ 14%] >test/test_filediff.py::test_filter_text[/*a*/ub-ignored_ranges6-b] PASSED [ 15%] >test/test_filediff.py::test_filter_text[xasdyasdx-ignored_ranges7-xasdyasdx] PASSED [ 16%] >test/test_filediff.py::test_filter_text[#ab\na2b-ignored_ranges8-\nab] PASSED [ 17%] >test/test_filediff.py::test_filter_text[$Author: John Doe $-ignored_ranges9-$Author:$] PASSED [ 18%] >test/test_filters.py::test_file_filters[patterns0-foo.csv-True] PASSED [ 18%] >test/test_filters.py::test_file_filters[patterns1-foo.csv-False] PASSED [ 19%] >test/test_filters.py::test_file_filters[patterns2-foo.csv-True] PASSED [ 20%] >test/test_filters.py::test_file_filters[patterns3-foo.xml-True] PASSED [ 21%] >test/test_filters.py::test_file_filters[patterns4-foo.csv-True] PASSED [ 22%] >test/test_filters.py::test_file_filters[patterns5-foo.xml-True] PASSED [ 23%] >test/test_filters.py::test_file_filters[patterns6-dumbtest-False] PASSED [ 24%] >test/test_filters.py::test_file_filters[patterns7-thingcsv-True] PASSED [ 25%] >test/test_filters.py::test_file_filters[patterns8-thingwhatevercsv-True] PASSED [ 26%] >test/test_filters.py::test_file_filters[patterns9-csvthing-False] PASSED [ 27%] >test/test_filters.py::test_bad_regex_compilation[*.foo*] PASSED [ 27%] >test/test_filters.py::test_bad_regex_compilation[\\xfoo] PASSED [ 28%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable0-chunk0-0] FAILED [ 29%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable1-chunk1-1] FAILED [ 30%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable2-chunk2-0] FAILED [ 31%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable3-chunk3-None] FAILED [ 32%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable4-chunk4-0] FAILED [ 33%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable5-chunk5-1] FAILED [ 34%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable6-chunk6-0] FAILED [ 35%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable7-chunk7-None] FAILED [ 36%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable8-chunk8-1] FAILED [ 36%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable9-chunk9-1] FAILED [ 37%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable10-chunk10-None] FAILED [ 38%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable11-chunk11-None] FAILED [ 39%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable12-chunk12-1] FAILED [ 40%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable13-chunk13-1] FAILED [ 41%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable14-chunk14-None] FAILED [ 42%] >test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable15-chunk15-None] FAILED [ 43%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable16-chunk16-2] FAILED [ 44%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable17-chunk17-1] FAILED [ 45%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable18-chunk18-2] FAILED [ 45%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable19-chunk19-None] FAILED [ 46%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable20-chunk20-0] FAILED [ 47%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable21-chunk21-1] FAILED [ 48%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable22-chunk22-0] FAILED [ 49%] >test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable23-chunk23-None] FAILED [ 50%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable24-chunk24-None] FAILED [ 51%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable25-chunk25-None] FAILED [ 52%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable26-chunk26-None] FAILED [ 53%] >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable27-chunk27-None] FAILED [ 54%] >test/test_matchers.py::MatchersTests::testBasicMatcher PASSED [ 54%] >test/test_matchers.py::MatchersTests::testInlineMatcher PASSED [ 55%] >test/test_matchers.py::MatchersTests::testPostprocessingCleanup PASSED [ 56%] >test/test_matchers.py::MatchersTests::testSyncPointMatcher0 PASSED [ 57%] >test/test_matchers.py::MatchersTests::testSyncPointMatcher1 PASSED [ 58%] >test/test_matchers.py::MatchersTests::testSyncPointMatcher2 PASSED [ 59%] >test/test_misc.py::test_merge_intervals[intervals0-expected0] PASSED [ 60%] >test/test_misc.py::test_merge_intervals[intervals1-expected1] PASSED [ 61%] >test/test_misc.py::test_merge_intervals[intervals2-expected2] PASSED [ 62%] >test/test_misc.py::test_merge_intervals[intervals3-expected3] PASSED [ 63%] >test/test_misc.py::test_merge_intervals[intervals4-expected4] PASSED [ 63%] >test/test_misc.py::test_merge_intervals[intervals5-expected5] PASSED [ 64%] >test/test_misc.py::test_calc_syncpoint[0-100-0-1000-0.0] PASSED [ 65%] >test/test_misc.py::test_calc_syncpoint[0-100-100-1000-0.0] PASSED [ 66%] >test/test_misc.py::test_calc_syncpoint[25-100-0-1000-0.25] PASSED [ 67%] >test/test_misc.py::test_calc_syncpoint[50-100-0-1000-0.5] PASSED [ 68%] >test/test_misc.py::test_calc_syncpoint[25-100-25-1000-0.0] PASSED [ 69%] >test/test_misc.py::test_calc_syncpoint[50-100-25-1000-0.25] PASSED [ 70%] >test/test_misc.py::test_calc_syncpoint[500-100-0-1000-0.5] PASSED [ 71%] >test/test_misc.py::test_calc_syncpoint[850-100-0-1000-0.5] PASSED [ 72%] >test/test_misc.py::test_calc_syncpoint[875-100-0-1000-0.75] PASSED [ 72%] >test/test_misc.py::test_calc_syncpoint[900-100-0-1000-1.0] PASSED [ 73%] >test/test_misc.py::test_calc_syncpoint[1100-100-0-1000-1.0] PASSED [ 74%] >test/test_misc.py::test_all_same[None-True] PASSED [ 75%] >test/test_misc.py::test_all_same[lst1-True] PASSED [ 76%] >test/test_misc.py::test_all_same[lst2-True] PASSED [ 77%] >test/test_misc.py::test_all_same[lst3-True] PASSED [ 78%] >test/test_misc.py::test_all_same[lst4-True] PASSED [ 79%] >test/test_misc.py::test_all_same[lst5-False] PASSED [ 80%] >test/test_misc.py::test_all_same[lst6-False] PASSED [ 81%] >test/test_misc.py::test_all_same[lst7-True] PASSED [ 81%] >test/test_misc.py::test_all_same[lst8-True] PASSED [ 82%] >test/test_misc.py::test_all_same[lst9-False] PASSED [ 83%] >test/test_misc.py::test_all_same[lst10-False] PASSED [ 84%] >test/test_misc.py::test_all_same[lst11-False] PASSED [ 85%] >test/test_misc.py::test_all_same[lst12-False] PASSED [ 86%] >test/test_misc.py::test_all_same[lst13-False] PASSED [ 87%] >test/test_misc.py::test_all_same[lst14-False] PASSED [ 88%] >test/test_misc.py::test_all_same[lst15-True] PASSED [ 89%] >test/test_misc.py::test_shorten_names[posix-paths0-expected0] PASSED [ 90%] >test/test_misc.py::test_shorten_names[posix-paths1-expected1] PASSED [ 90%] >test/test_misc.py::test_shorten_names[posix-paths2-expected2] PASSED [ 91%] >test/test_misc.py::test_shorten_names[posix-paths3-expected3] PASSED [ 92%] >test/test_misc.py::test_shorten_names[posix-paths4-expected4] PASSED [ 93%] >test/test_misc.py::test_shorten_names[posix-paths5-expected5] PASSED [ 94%] >test/test_misc.py::test_shorten_names[posix-paths6-expected6] PASSED [ 95%] >test/test_misc.py::test_shorten_names[posix-paths7-expected7] PASSED [ 96%] >test/test_misc.py::test_shorten_names[nt-paths8-expected8] PASSED [ 97%] >test/test_misc.py::test_shorten_names[nt-paths9-expected9] PASSED [ 98%] >test/test_misc.py::test_shorten_names[posix-paths10-expected10] PASSED [ 99%] >test/test_misc.py::test_shorten_names[posix-paths11-expected11] PASSED [100%] > >=================================== FAILURES =================================== >______________ test_classify_change_actions[0-editable0-chunk0-0] ______________ > >mode = 0, editable = (True, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 0 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26750fac0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26750fac0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26759eb80> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26759e5e0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26759ec10> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[0-editable1-chunk1-1] ______________ > >mode = 0, editable = (True, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529280> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529280>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2675838b0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267583790> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267583940> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[0-editable2-chunk2-0] ______________ > >mode = 0, editable = (False, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = 0 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529760> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529760>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267583f70> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267583ee0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674eb040> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >____________ test_classify_change_actions[0-editable3-chunk3-None] _____________ > >mode = 0, editable = (False, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529880> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529880>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674eb700> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674eb670> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674eb790> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[0-editable4-chunk4-0] ______________ > >mode = 0, editable = (True, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 0 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529220> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529220>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674ebe50> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674ebdc0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674ebee0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[0-editable5-chunk5-1] ______________ > >mode = 0, editable = (True, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529640> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529640>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674a65e0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674a6550> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674a6670> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[0-editable6-chunk6-0] ______________ > >mode = 0, editable = (False, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = 0 >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529100> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529100>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674a6d30> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674a6ca0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674a6dc0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >____________ test_classify_change_actions[0-editable7-chunk7-None] _____________ > >mode = 0, editable = (False, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267529dc0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267529dc0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674ae4c0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674ae430> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674ae550> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[1-editable8-chunk8-1] ______________ > >mode = 1, editable = (True, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 1 >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe550> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe550>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674aec10> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674aeb80> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674aeca0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >______________ test_classify_change_actions[1-editable9-chunk9-1] ______________ > >mode = 1, editable = (True, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe280> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe280>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674603a0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267460310> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267460430> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[1-editable10-chunk10-None] ____________ > >mode = 1, editable = (False, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = None >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe6a0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674fe6a0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267460b80> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267460af0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267460c10> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[1-editable11-chunk11-None] ____________ > >mode = 1, editable = (False, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674febe0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674febe0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26741d310> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26741d280> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26741d3a0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[1-editable12-chunk12-1] _____________ > >mode = 1, editable = (True, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 1 >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26750f880> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26750f880>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26741d9d0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26741d940> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26741da60> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[1-editable13-chunk13-1] _____________ > >mode = 1, editable = (True, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267543d00> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267543d00>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267435160> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674350d0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674351f0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[1-editable14-chunk14-None] ____________ > >mode = 1, editable = (False, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = None >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267484070> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267484070>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267435940> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2674358b0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2674359d0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[1-editable15-chunk15-None] ____________ > >mode = 1, editable = (False, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 1 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267563b80> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267563b80>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2674390d0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267439040> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267439160> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable16-chunk16-2] _____________ > >mode = 2, editable = (True, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 2 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 2 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2675709a0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2675709a0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267439790> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267439700> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267439820> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable17-chunk17-1] _____________ > >mode = 2, editable = (True, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a3790> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a3790>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267439ee0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267439e50> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267439f70> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable18-chunk18-2] _____________ > >mode = 2, editable = (False, True) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 2 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = 2 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267f10700> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267f10700>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2673ef670> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2673ef5e0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2673ef700> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[2-editable19-chunk19-None] ____________ > >mode = 2, editable = (False, False) >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='replace', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267525a90> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267525a90>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2673efe50> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2673efdc0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2673efee0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable20-chunk20-0] _____________ > >mode = 2, editable = (True, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = 0 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267ee9370> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267ee9370>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2673fe550> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2673fe4c0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2673fe5e0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable21-chunk21-1] _____________ > >mode = 2, editable = (True, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 1 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = 1 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa267ee9550> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa267ee9550>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa2673feca0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2673fec10> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2673fed30> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >_____________ test_classify_change_actions[2-editable22-chunk22-0] _____________ > >mode = 2, editable = (False, True) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = 0 > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = 0 >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a610> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a610>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267380430> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa2673803a0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa2673804c0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[2-editable23-chunk23-None] ____________ > >mode = 2, editable = (False, False) >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='delete', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 2 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a730> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a730>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa267380c10> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa267380b80> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa267380ca0> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[0-editable24-chunk24-None] ____________ > >mode = 0, editable = (True, True) >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, True) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26755af70> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26755af70>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26738e3a0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26738e310> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26738e430> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[0-editable25-chunk25-None] ____________ > >mode = 0, editable = (True, False) >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (True, False) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a4c0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa26755a4c0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26738eaf0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26738ea60> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26738eb80> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[0-editable26-chunk26-None] ____________ > >mode = 0, editable = (False, True) >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, True) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a7340> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a7340>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26739f280> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26739f1f0> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26739f310> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >___________ test_classify_change_actions[0-editable27-chunk27-None] ____________ > >mode = 0, editable = (False, False) >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >expected_action = None > > @pytest.mark.parametrize("mode, editable, chunk, expected_action", [ > # Replace mode with replace chunks > (MODE_REPLACE, (True, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('replace'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('replace'), None), > # Replace mode with delete chunks > (MODE_REPLACE, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_REPLACE, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_REPLACE, (False, False), make_chunk('delete'), None), > # Delete mode makes a slightly weird choice to remove non-delete > # actions while in delete mode; insert mode makes the opposite > # choice > # > # Delete mode with replace chunks > (MODE_DELETE, (True, True), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('replace'), None), > (MODE_DELETE, (False, False), make_chunk('replace'), None), > # Delete mode with delete chunks > (MODE_DELETE, (True, True), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_DELETE, (False, True), make_chunk('delete'), None), > (MODE_DELETE, (False, False), make_chunk('delete'), None), > # Insert mode with replace chunks > (MODE_INSERT, (True, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (True, False), make_chunk('replace'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('replace'), MODE_INSERT), > (MODE_INSERT, (False, False), make_chunk('replace'), None), > # Insert mode with delete chunks > (MODE_INSERT, (True, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (True, False), make_chunk('delete'), MODE_DELETE), > (MODE_INSERT, (False, True), make_chunk('delete'), MODE_REPLACE), > (MODE_INSERT, (False, False), make_chunk('delete'), None), > # We should never have insert chunks here > (MODE_REPLACE, (True, True), make_chunk('insert'), None), > (MODE_REPLACE, (True, False), make_chunk('insert'), None), > (MODE_REPLACE, (False, True), make_chunk('insert'), None), > (MODE_REPLACE, (False, False), make_chunk('insert'), None), > > # TODO: Add tests for conflict chunks > ]) > def test_classify_change_actions(mode, editable, chunk, expected_action): > >> import meld.gutterrendererchunk > >chunk = DiffChunk(tag='insert', start_a=0, end_a=1, start_b=0, end_b=1) >editable = (False, False) >expected_action = None >mode = 0 > >test/test_gutterrendererchunk.py:59: >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ >meld/gutterrendererchunk.py:150: in <module> > class GutterRendererChunkAction( > ALIGN_MODE_FIRST = <enum GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST of type GtkSource.GutterRendererAlignmentMode> > GTK_RENDERER_STATE_MAPPING = {<flags 0 of type GtkSource.GutterRendererState>: <flags 0 of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_CURSOR of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_FOCUSED of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_PRELIT of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_PRELIGHT of type Gtk.StateFlags>, > <flags GTK_SOURCE_GUTTER_RENDERER_STATE_SELECTED of type GtkSource.GutterRendererState>: <flags GTK_STATE_FLAG_SELECTED of type Gtk.StateFlags>} > Gdk = <GdkProxyModule <IntrospectionModule 'Gdk' from '/usr/lib64/girepository-1.0/Gdk-3.0.typelib'>> > Gtk = <GtkProxyModule <IntrospectionModule 'Gtk' from '/usr/lib64/girepository-1.0/Gtk-3.0.typelib'>> > GtkSource = <IntrospectionModule 'GtkSource' from '/usr/lib64/girepository-1.0/GtkSource-4.typelib'> > LINE_HEIGHT = 16 > MODE_DELETE = 1 > MODE_INSERT = 2 > MODE_REPLACE = 0 > MeldGutterRenderer = <class 'meld.gutterrendererchunk.MeldGutterRenderer'> > Pango = <PangoProxyModule <IntrospectionModule 'Pango' from '/usr/lib64/girepository-1.0/Pango-1.0.typelib'>> > _ = <function no_translation at 0x7fa26802d820> > __builtins__ = <builtins> > __cached__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/__pycache__/gutterrendererchunk.cpython-39.pyc' > __doc__ = None > __file__ = '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py' > __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a76a0> > __name__ = 'meld.gutterrendererchunk' > __package__ = 'meld' > __spec__ = ModuleSpec(name='meld.gutterrendererchunk', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fa2674a76a0>, origin='/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/gutterrendererchunk.py') > _background_rgba = None > get_background_rgba = <function get_background_rgba at 0x7fa26739f9d0> > get_common_theme = <function get_common_theme at 0x7fa267fbff70> > get_style = <function get_style at 0x7fa26759e9d0> > load = <function load at 0x7fa26739f940> > math = <module 'math' from '/usr/lib/python3.9/lib-dynload/math.cpython-39-x86_64-linux-gnu.so'> > meldsettings = None > renderer_to_gtk_state = <function renderer_to_gtk_state at 0x7fa26739fa60> >meld/gutterrendererchunk.py:156: in GutterRendererChunkAction > MODE_REPLACE: load("meld-change-apply-right"), > __gtype_name__ = 'GutterRendererChunkAction' > __module__ = 'meld.gutterrendererchunk' > __qualname__ = 'GutterRendererChunkAction' >_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > >icon_name = 'meld-change-apply-right' > > def load(icon_name): > icon_theme = Gtk.IconTheme.get_default() >> return icon_theme.load_icon(icon_name, LINE_HEIGHT, 0) >E gi.repository.GLib.GError: gtk-icon-theme-error-quark: Icon 'meld-change-apply-right' not present in theme gnome (0) > >icon_name = 'meld-change-apply-right' >icon_theme = <Gtk.IconTheme object at 0x7fa2674fa840 (GtkIconTheme at 0x55d0c4c72df0)> > >meld/gutterrendererchunk.py:46: Error >=============================== warnings summary =============================== >test/test_chunk_actions.py:5 > /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/test/test_chunk_actions.py:5: PyGIWarning: GtkSource was imported without specifying a version first. Use gi.require_version('GtkSource', '4') before import to ensure that the right version gets loaded. > from gi.repository import GtkSource > >test/test_filediff.py:78 > /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/test/test_filediff.py:78: DeprecationWarning: invalid escape sequence \* > '/\*.*\*/', > >test/test_filediff.py:81 > /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/test/test_filediff.py:81: DeprecationWarning: invalid escape sequence \$ > '\$\w+:([^\n$]+)\$' > >test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable0-chunk0-0] > /var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4/meld/ui/gtkcompat.py:48: DeprecationWarning: invalid escape sequence \. > toks = [t for t in re.split('([#\.:])', selector) if t] > >-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html >=========================== short test summary info ============================ >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable0-chunk0-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable1-chunk1-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable2-chunk2-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable3-chunk3-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable4-chunk4-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable5-chunk5-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable6-chunk6-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable7-chunk7-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable8-chunk8-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable9-chunk9-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable10-chunk10-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable11-chunk11-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable12-chunk12-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable13-chunk13-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable14-chunk14-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[1-editable15-chunk15-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable16-chunk16-2] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable17-chunk17-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable18-chunk18-2] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable19-chunk19-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable20-chunk20-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable21-chunk21-1] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable22-chunk22-0] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[2-editable23-chunk23-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable24-chunk24-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable25-chunk25-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable26-chunk26-None] >FAILED test/test_gutterrendererchunk.py::test_classify_change_actions[0-editable27-chunk27-None] >================== 28 failed, 83 passed, 4 warnings in 1.94s =================== > * pytest failed with python3.9 > * ERROR: dev-util/meld-3.20.4::gentoo failed (test phase): > * Failed to run 'epytest' > * > * Call stack: > * ebuild.sh, line 127: Called src_test > * environment, line 3650: Called distutils-r1_src_test > * environment, line 1553: Called _distutils-r1_run_foreach_impl 'python_test' > * environment, line 725: Called distutils-r1_run_phase 'python_test' > * environment, line 1480: Called python_test > * environment, line 3617: Called virtx 'epytest' > * environment, line 4436: Called die > * The specific snippet of code: > * [[ ${retval} -ne 0 ]] && die "Failed to run '$@'"; > * > * If you need support, post the output of `emerge --info '=dev-util/meld-3.20.4::gentoo'`, > * the complete build log and the output of `emerge -pqv '=dev-util/meld-3.20.4::gentoo'`. > * The complete build log is located at '/var/log/portage/dev-util:meld-3.20.4:20220213-072211.log'. > * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-util/meld-3.20.4/temp/build.log'. > * The ebuild environment file is located at '/var/tmp/portage/dev-util/meld-3.20.4/temp/environment'. > * Working directory: '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4' > * S: '/var/tmp/portage/dev-util/meld-3.20.4/work/meld-3.20.4' >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 833271
:
764986
| 764987 |
764988
|
764989
|
764990
|
764991