Your message dated Wed, 27 Dec 2023 21:20:29 +0000
with message-id <e1ribkh-00cgob...@fasolo.debian.org>
and subject line Bug#1058245: fixed in libportal 0.7.1-4
has caused the Debian Bug report #1058245,
regarding libportal: FTBFS: dh_auto_test regression with python3-dbusmock (>= 
0.30.0-2)
to be marked as done.

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

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


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

Hi,

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


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> xvfb-run -a -s "-noreset" dh_auto_test -- --timeout-multiplier 3
>       cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb LC_ALL=C.UTF-8 
> MESON_TESTTHREADS=8 meson test --timeout-multiplier 3
> ninja: Entering directory `/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> ninja: no work to do.
> 1/2 Qt unit test OK               0.10s
> 2/2 pytest       FAIL             4.80s   exit status 1
> >>> ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 
> >>> GI_TYPELIB_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libportal 
> >>> MALLOC_PERTURB_=34 
> >>> UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
> >>>  LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libportal 
> >>> /usr/bin/pytest-3 --verbose --log-level=DEBUG
> 
> 
> Ok:                 1   
> Expected Fail:      0   
> Fail:               1   
> Unexpected Pass:    0   
> Skipped:            0   
> Timeout:            0   
> 
> Full log written to 
> /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/meson-logs/testlog.txt
>       cd obj-x86_64-linux-gnu && tail -v -n \+0 meson-logs/testlog.txt
> ==> meson-logs/testlog.txt <==
> Log of Meson test suite run on 2023-12-11T21:38:30.072844
> 
> Inherited environment: DEB_HOST_GNU_SYSTEM=linux-gnu DFLAGS=-frelease 
> DEB_BUILD_ARCH_BITS=64 DEB_TARGET_GNU_CPU=x86_64 DEB_HOST_ARCH_OS=linux 
> USER=user42 ASFLAGS_FOR_BUILD='' CXXFLAGS='-g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' 
> DEB_BUILD_GNU_TYPE=x86_64-linux-gnu FFLAGS_FOR_BUILD='-g -O2' 
> DEB_TARGET_MULTIARCH=x86_64-linux-gnu OBJCFLAGS='-g -O2 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection' 
> DH_INTERNAL_OPTIONS='' DEB_BUILD_ARCH_CPU=amd64 DEB_HOST_ARCH_LIBC=gnu 
> DEB_HOST_ARCH_ABI=base 
> HOME=/<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home 
> APT_CONFIG=/var/lib/sbuild/apt.conf SCHROOT_CHROOT_NAME=sid-amd64-sbuild 
> DEB_BUILD_ARCH_ENDIAN=little DFLAGS_FOR_BUILD=-frelease LDFLAGS='-Wl,-z,relro 
> -Wl,-z,now -Wl,-O1 -Wl,-z,defs' DEB_TARGET_ARCH_BITS=64 
> DEB_BUILD_GNU_SYSTEM=linux-gnu MAKEFLAGS=w SCHROOT_UID=1001 
> CXXFLAGS_FOR_BUILD='-g -O2' OBJCFLAGS_FOR_BUILD='-g -O2' 
> DEB_BUILD_ARCH_OS=linux DEB_TARGET_GNU_TYPE=x86_64-linux-gnu 
> DEB_TARGET_ARCH_CPU=amd64 QT_SELECT=5 LOGNAME=user42 
> DEB_LDFLAGS_MAINT_APPEND='-Wl,-O1 -Wl,-z,defs' DEB_BUILD_ARCH_LIBC=gnu 
> DEB_BUILD_ARCH_ABI=base DEB_HOST_ARCH=amd64 LDFLAGS_FOR_BUILD='' 
> DEB_TARGET_ARCH_ENDIAN=little DH_INTERNAL_OVERRIDE=dh_auto_test 
> DEB_HOST_GNU_CPU=x86_64 LC_COLLATE=C.UTF-8 DEB_TARGET_GNU_SYSTEM=linux-gnu 
> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 
> DEB_TARGET_ARCH_OS=linux CFLAGS='-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection' MAKELEVEL=2 
> DEB_HOST_MULTIARCH=x86_64-linux-gnu SOURCE_DATE_EPOCH=1694767668 FCFLAGS='-g 
> -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -fcf-protection' 
> SCHROOT_SESSION_ID=sid-amd64-sbuild-22d55d20-7e1a-4757-9416-cff03165d50d 
> SCHROOT_COMMAND='dpkg-buildpackage --sanitize-env -us -uc -rfakeroot -sa' 
> DISPLAY=:99 OBJCXXFLAGS='-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection' LANG=C.UTF-8 
> SCHROOT_ALIAS_NAME=unstable DEB_TARGET_ARCH_LIBC=gnu DEB_TARGET_ARCH_ABI=base 
> XAUTHORITY=/tmp/xvfb-run.Fe8Z0i/Xauthority DEB_BUILD_OPTIONS=parallel=8 
> SCHROOT_GROUP=user42 SCHROOT_USER=user42 CPPFLAGS='-Wdate-time 
> -D_FORTIFY_SOURCE=2' DH_INTERNAL_BUILDFLAGS=1 SHELL=/bin/sh 
> DEB_HOST_ARCH_BITS=64 DEB_BUILD_ARCH=amd64 
> DEB_BUILD_MAINT_OPTIONS=hardening=+all CFLAGS_FOR_BUILD='-g -O2' 
> DEB_BUILD_GNU_CPU=x86_64 ASFLAGS='' DEB_HOST_GNU_TYPE=x86_64-linux-gnu 
> FCFLAGS_FOR_BUILD='-g -O2' LC_ALL=C.UTF-8 OBJCXXFLAGS_FOR_BUILD='-g -O2' 
> DEB_HOST_ARCH_CPU=amd64 DEB_RULES_REQUIRES_ROOT=no PWD=/<<PKGBUILDDIR>> 
> FFLAGS='-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -fcf-protection' 
> DEB_BUILD_MULTIARCH=x86_64-linux-gnu CPPFLAGS_FOR_BUILD='' SCHROOT_GID=1001 
> MFLAGS=-w DEB_HOST_ARCH_ENDIAN=little VERBOSE=1 DEB_TARGET_ARCH=amd64 
> XDG_RUNTIME_DIR=/tmp/dh-xdg-rundir-lwMiYiZ0 MESON_TESTTHREADS=8 
> DEB_PYTHON_INSTALL_LAYOUT=deb 
> 
> ==================================== 1/2 =====================================
> test:         Qt unit test
> start time:   21:38:30
> duration:     0.10s
> result:       exit status 0
> command:      
> UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
>  ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 
> LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libportal 
> MALLOC_PERTURB_=168 /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests/qt5/qt-test
> ----------------------------------- stdout -----------------------------------
> ********* Start testing of Test *********
> Config: Using QtTest library 5.15.10, Qt 5.15.10 (x86_64-little_endian-lp64 
> shared (dynamic) release build; by GCC 13.2.0), debian unknown
> PASS   : Test::initTestCase()
> PASS   : Test::testFileChooserPortal()
> PASS   : Test::testNotificationPortal()
> PASS   : Test::cleanupTestCase()
> Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted, 24ms
> ********* Finished testing of Test *********
> ==============================================================================
> 
> ==================================== 2/2 =====================================
> test:         pytest
> start time:   21:38:30
> duration:     4.80s
> result:       exit status 1
> command:      ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 
> GI_TYPELIB_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libportal 
> MALLOC_PERTURB_=34 
> UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
>  LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/libportal 
> /usr/bin/pytest-3 --verbose --log-level=DEBUG
> ----------------------------------- stdout -----------------------------------
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.7, pytest-7.4.3, pluggy-1.3.0 -- 
> /usr/bin/python3
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>/tests
> collecting ... collected 30 items
> 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_close_session 
> PASSED [  3%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis 
> FAILED [  6%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_fail_connect_before_start
>  FAILED [ 10%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_fail_reconnect
>  FAILED [ 13%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_v1 
> FAILED [ 16%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_create_session 
> FAILED [ 20%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_create_session_no_outputs
>  FAILED [ 23%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_axis 
> FAILED [ 26%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_axis_discrete
>  FAILED [ 30%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_button 
> FAILED [ 33%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_key FAILED 
> [ 36%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_motion 
> FAILED [ 40%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_motion_absolute
>  FAILED [ 43%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_touch 
> FAILED [ 46%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_session_start 
> FAILED [ 50%]
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_version FAILED [ 
> 53%]
> pyportaltest/test_screencast.py::TestScreenCast::test_close_session PASSED [ 
> 56%]
> pyportaltest/test_screencast.py::TestScreenCast::test_create_session FAILED [ 
> 60%]
> pyportaltest/test_screencast.py::TestScreenCast::test_create_session_v3 
> FAILED [ 63%]
> pyportaltest/test_screencast.py::TestScreenCast::test_session_restore_token_null_if_not_started
>  FAILED [ 66%]
> pyportaltest/test_screencast.py::TestScreenCast::test_session_start FAILED [ 
> 70%]
> pyportaltest/test_screencast.py::TestScreenCast::test_version FAILED     [ 
> 73%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_background 
> PASSED [ 76%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_background_preview
>  FAILED [ 80%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_both FAILED 
> [ 83%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_both_preview
>  FAILED [ 86%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_cancel 
> FAILED [ 90%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_lockscreen 
> FAILED [ 93%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_lockscreen_preview
>  FAILED [ 96%]
> pyportaltest/test_wallpaper.py::TestWallpaper::test_version FAILED       
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________________ TestRemoteDesktop.test_connect_to_eis 
> _____________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_connect_to_eis>
> 
>     def test_connect_to_eis(self):
> >       setup = self.create_session(start_session=True)
> 
> pyportaltest/test_remotedesktop.py:428: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _______ TestRemoteDesktop.test_connect_to_eis_fail_connect_before_start 
> ________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_connect_to_eis_fail_connect_before_start>
> 
>     def test_connect_to_eis_fail_connect_before_start(self):
> >       setup = self.create_session(start_session=False)
> 
> pyportaltest/test_remotedesktop.py:457: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________ TestRemoteDesktop.test_connect_to_eis_fail_reconnect 
> _____________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_connect_to_eis_fail_reconnect>
> 
>     def test_connect_to_eis_fail_reconnect(self):
> >       setup = self.create_session(start_session=True)
> 
> pyportaltest/test_remotedesktop.py:445: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ___________________ TestRemoteDesktop.test_connect_to_eis_v1 
> ___________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_connect_to_eis_v1>
> 
>     def test_connect_to_eis_v1(self):
>         params = {"version": 1}
> >       setup = self.create_session(params=params, start_session=True)
> 
> pyportaltest/test_remotedesktop.py:418: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ____________________ TestRemoteDesktop.test_create_session 
> _____________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_create_session>
> 
>     def test_create_session(self):
>         """
>         Create a session with some "random" values and ensure that they're
>         passed through to the portal.
>         """
>         devices = Xdp.DeviceType.POINTER | Xdp.DeviceType.KEYBOARD
>         outputs = Xdp.OutputType.MONITOR | Xdp.OutputType.WINDOW
>         cursor_mode = Xdp.CursorMode.METADATA
>         flags = Xdp.RemoteDesktopFlags.MULTIPLE
>     
> >       self.create_session(
>             devices=devices,
>             outputs=outputs,
>             flags=flags,
>             cursor_mode=cursor_mode,
>             start_session=False,
>         )
> 
> pyportaltest/test_remotedesktop.py:142: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _______________ TestRemoteDesktop.test_create_session_no_outputs 
> _______________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_create_session_no_outputs>
> 
>     def test_create_session_no_outputs(self):
>         """
>         Create a session with no output value, ensure it's a "pure"
>         remote desktop session.
>         """
>         devices = Xdp.DeviceType.POINTER | Xdp.DeviceType.KEYBOARD
>         outputs = Xdp.OutputType.NONE
>         cursor_mode = Xdp.CursorMode.METADATA
>         flags = Xdp.RemoteDesktopFlags.MULTIPLE
>     
> >       self.create_session(
>             devices=devices,
>             outputs=outputs,
>             flags=flags,
>             cursor_mode=cursor_mode,
>             start_session=False,
>         )
> 
> pyportaltest/test_remotedesktop.py:199: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ______________________ TestRemoteDesktop.test_notify_axis 
> ______________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_axis>
> 
>     def test_notify_axis(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:351: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _________________ TestRemoteDesktop.test_notify_axis_discrete 
> __________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_axis_discrete>
> 
>     def test_notify_axis_discrete(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:366: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________________ TestRemoteDesktop.test_notify_button 
> _____________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_button>
> 
>     def test_notify_button(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:286: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ______________________ TestRemoteDesktop.test_notify_key 
> _______________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_key>
> 
>     def test_notify_key(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:300: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________________ TestRemoteDesktop.test_notify_motion 
> _____________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_motion>
> 
>     def test_notify_motion(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:324: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ________________ TestRemoteDesktop.test_notify_motion_absolute 
> _________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_motion_absolute>
> 
>     def test_notify_motion_absolute(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:337: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________________ TestRemoteDesktop.test_notify_touch 
> ______________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_notify_touch>
> 
>     def test_notify_touch(self):
> >       setup = self.create_session()
> 
> pyportaltest/test_remotedesktop.py:386: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________________ TestRemoteDesktop.test_session_start 
> _____________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_session_start>
> 
>     def test_session_start(self):
>         """
>         Create and start a session
>         """
>         devices = Xdp.DeviceType.POINTER | Xdp.DeviceType.KEYBOARD
>         outputs = Xdp.OutputType.NONE
>         params = {"devices": devices}
>     
> >       setup = self.create_session(
>             params=params,
>             devices=devices,
>             outputs=outputs,
>             start_session=False,
>         )
> 
> pyportaltest/test_remotedesktop.py:241: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_remotedesktop.py:62: in create_session
>     self.setup_daemon(params=params, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ________________________ TestRemoteDesktop.test_version 
> ________________________
> 
> self = <pyportaltest.test_remotedesktop.TestRemoteDesktop 
> testMethod=test_version>
> 
>     def test_version(self):
> >       self.assert_version_eq(2)
> 
> pyportaltest/test_remotedesktop.py:35: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/__init__.py:162: in assert_version_eq
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_remotedesktop.TestRemoteDesktop'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954437 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ______________________ TestScreenCast.test_create_session 
> ______________________
> 
> self = <pyportaltest.test_screencast.TestScreenCast 
> testMethod=test_create_session>
> 
>     def test_create_session(self):
>         """
>         Create a session with some "random" values and ensure that they're
>         passed through to the portal.
>         """
>         outputs = Xdp.OutputType.MONITOR | Xdp.OutputType.WINDOW
>         cursor_mode = Xdp.CursorMode.METADATA
>         persist_mode = Xdp.PersistMode.PERSISTENT
>         restore_token = "12345"
>         flags = Xdp.ScreencastFlags.MULTIPLE
>     
> >       self.create_session(
>             outputs=outputs,
>             flags=flags,
>             cursor_mode=cursor_mode,
>             restore_token=restore_token,
>             persist_mode=persist_mode,
>         )
> 
> pyportaltest/test_screencast.py:120: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_screencast.py:50: in create_session
>     self.setup_daemon(params=params or {}, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_screencast.TestScreenCast'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954443 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ____________________ TestScreenCast.test_create_session_v3 
> _____________________
> 
> self = <pyportaltest.test_screencast.TestScreenCast 
> testMethod=test_create_session_v3>
> 
>     def test_create_session_v3(self):
>         """
>         persist_mode and restore_token were added in v4 of the interface, must
>         not be part of SelectSources
>         """
>         params = {"version": 3}
>     
>         persist_mode = Xdp.PersistMode.PERSISTENT
>         restore_token = "12345"
> >       self.create_session(
>             params=params,
>             restore_token=restore_token,
>             persist_mode=persist_mode,
>         )
> 
> pyportaltest/test_screencast.py:180: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_screencast.py:50: in create_session
>     self.setup_daemon(params=params or {}, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_screencast.TestScreenCast'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954443 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ________ TestScreenCast.test_session_restore_token_null_if_not_started 
> _________
> 
> self = <pyportaltest.test_screencast.TestScreenCast 
> testMethod=test_session_restore_token_null_if_not_started>
> 
>     def test_session_restore_token_null_if_not_started(self):
>         """
>         Passed in a restore token but unless the session is started it
>         should be NULL.
>         """
>         restore_token = "12345"
>         persist_mode = Xdp.PersistMode.TRANSIENT
>         params = {
>             "persist-mode": persist_mode,
>         }
> >       setup = self.create_session(
>             params=params, restore_token=restore_token, 
> persist_mode=persist_mode
>         )
> 
> pyportaltest/test_screencast.py:204: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_screencast.py:50: in create_session
>     self.setup_daemon(params=params or {}, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_screencast.TestScreenCast'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954443 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ______________________ TestScreenCast.test_session_start 
> _______________________
> 
> self = <pyportaltest.test_screencast.TestScreenCast 
> testMethod=test_session_start>
> 
>     def test_session_start(self):
>         """
>         Create and start a session
>         """
>     
>         s = [
>             {
>                 "position": (1, 2),
>                 "size": (32, 43),
>                 "source_type": dbus.UInt32(Xdp.OutputType.WINDOW),
>             },
>             {
>                 "position": (3, 4),
>                 "size": (54, 65),
>                 "source_type": dbus.UInt32(Xdp.OutputType.MONITOR),
>             },
>         ]
>     
>         streams = dbus.Array(
>             [(dbus.UInt32(idx), stream) for idx, stream in enumerate(s)],
>             signature="(ua{sv})",
>             variant_level=1,
>         )
>         params = {
>             "streams": streams,
>             "persist-mode": Xdp.PersistMode.TRANSIENT,
>         }
>     
>         restore_token = "foo"  # ignored since we're not continuing a session
>         persist_mode = Xdp.PersistMode.PERSISTENT
> >       setup = self.create_session(
>             params=params, restore_token=restore_token, 
> persist_mode=persist_mode
>         )
> 
> pyportaltest/test_screencast.py:241: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_screencast.py:50: in create_session
>     self.setup_daemon(params=params or {}, extra_templates=extra_templates)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_screencast.TestScreenCast'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954443 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _________________________ TestScreenCast.test_version 
> __________________________
> 
> self = <pyportaltest.test_screencast.TestScreenCast testMethod=test_version>
> 
>     def test_version(self):
> >       self.assert_version_eq(4)
> 
> pyportaltest/test_screencast.py:36: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/__init__.py:162: in assert_version_eq
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_screencast.TestScreenCast'>
> bus_type = 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954443 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________ TestWallpaper.test_set_wallpaper_background_preview 
> ______________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_background_preview>
> 
>     def test_set_wallpaper_background_preview(self):
> >       self.set_wallpaper("https://background.preview";, "background", True)
> 
> pyportaltest/test_wallpaper.py:70: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_wallpaper.py:24: in set_wallpaper
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ____________________ TestWallpaper.test_set_wallpaper_both 
> _____________________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_both>
> 
>     def test_set_wallpaper_both(self):
> >       self.set_wallpaper("https://both.nopreview";, "both", False)
> 
> pyportaltest/test_wallpaper.py:79: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_wallpaper.py:24: in set_wallpaper
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ________________ TestWallpaper.test_set_wallpaper_both_preview 
> _________________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_both_preview>
> 
>     def test_set_wallpaper_both_preview(self):
> >       self.set_wallpaper("https://both.preview";, "both", True)
> 
> pyportaltest/test_wallpaper.py:82: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_wallpaper.py:24: in set_wallpaper
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> ___________________ TestWallpaper.test_set_wallpaper_cancel 
> ____________________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_cancel>
> 
>     def test_set_wallpaper_cancel(self):
>         params = {"response": 1}
> >       self.setup_daemon(params)
> 
> pyportaltest/test_wallpaper.py:86: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _________________ TestWallpaper.test_set_wallpaper_lockscreen 
> __________________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_lockscreen>
> 
>     def test_set_wallpaper_lockscreen(self):
> >       self.set_wallpaper("https://lockscreen.nopreview";, "lockscreen", 
> > False)
> 
> pyportaltest/test_wallpaper.py:73: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_wallpaper.py:24: in set_wallpaper
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> _____________ TestWallpaper.test_set_wallpaper_lockscreen_preview 
> ______________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper 
> testMethod=test_set_wallpaper_lockscreen_preview>
> 
>     def test_set_wallpaper_lockscreen_preview(self):
> >       self.set_wallpaper("https://lockscreen.preview";, "lockscreen", True)
> 
> pyportaltest/test_wallpaper.py:76: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/test_wallpaper.py:24: in set_wallpaper
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> __________________________ TestWallpaper.test_version 
> __________________________
> 
> self = <pyportaltest.test_wallpaper.TestWallpaper testMethod=test_version>
> 
>     def test_version(self):
> >       self.assert_version_eq(1)
> 
> pyportaltest/test_wallpaper.py:18: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> pyportaltest/__init__.py:162: in assert_version_eq
>     self.setup_daemon(params)
> pyportaltest/__init__.py:99: in setup_daemon
>     self.start_session_bus()
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:296: in start_session_bus
>     cls.__start_bus('session')
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> cls = <class 'pyportaltest.test_wallpaper.TestWallpaper'>, bus_type = 
> 'session'
> 
>     @classmethod
>     def __start_bus(cls, bus_type) -> None:
>         bustype = BusType(bus_type)
>         old_pid = getattr(DBusTestCase, f"{bustype.value}_bus_pid")
> >       assert old_pid is None, f"PID {old_pid} still alive?"
> E       AssertionError: PID 3954446 still alive?
> 
> /usr/lib/python3/dist-packages/dbusmock/testcase.py:284: AssertionError
> =========================== short test summary info 
> ============================
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_fail_connect_before_start
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_fail_reconnect
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_connect_to_eis_v1
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_create_session
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_create_session_no_outputs
> FAILED pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_axis
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_axis_discrete
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_button
> FAILED pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_key
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_motion
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_motion_absolute
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_notify_touch
> FAILED 
> pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_session_start
> FAILED pyportaltest/test_remotedesktop.py::TestRemoteDesktop::test_version - 
> ...
> FAILED pyportaltest/test_screencast.py::TestScreenCast::test_create_session
> FAILED pyportaltest/test_screencast.py::TestScreenCast::test_create_session_v3
> FAILED 
> pyportaltest/test_screencast.py::TestScreenCast::test_session_restore_token_null_if_not_started
> FAILED pyportaltest/test_screencast.py::TestScreenCast::test_session_start - 
> ...
> FAILED pyportaltest/test_screencast.py::TestScreenCast::test_version - 
> Assert...
> FAILED 
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_background_preview
> FAILED pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_both
> FAILED 
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_both_preview
> FAILED 
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_cancel
> FAILED 
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_lockscreen
> FAILED 
> pyportaltest/test_wallpaper.py::TestWallpaper::test_set_wallpaper_lockscreen_preview
> FAILED pyportaltest/test_wallpaper.py::TestWallpaper::test_version - 
> Assertio...
> ========================= 27 failed, 3 passed in 4.55s 
> =========================
> ==============================================================================
> 
> 
> Summary of Failures:
> 
> 2/2 pytest       FAIL             4.80s   exit status 1
> 
> Ok:                 1   
> Expected Fail:      0   
> Fail:               1   
> Unexpected Pass:    0   
> Skipped:            0   
> Timeout:            0   
> dh_auto_test: error: cd obj-x86_64-linux-gnu && DEB_PYTHON_INSTALL_LAYOUT=deb 
> LC_ALL=C.UTF-8 MESON_TESTTHREADS=8 meson test --timeout-multiplier 3 returned 
> exit code 1


The full build log is available from:
http://qa-logs.debian.net/2023/12/12/libportal_0.7.1-2_unstable.log

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

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

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

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

--- End Message ---
--- Begin Message ---
Source: libportal
Source-Version: 0.7.1-4
Done: Simon McVittie <s...@debian.org>

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

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

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

Debian distribution maintenance software
pp.
Simon McVittie <s...@debian.org> (supplier of updated libportal package)

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


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

Format: 1.8
Date: Wed, 27 Dec 2023 16:05:18 +0000
Source: libportal
Architecture: source
Version: 0.7.1-4
Distribution: unstable
Urgency: medium
Maintainer: Utopia Maintenance Team 
<pkg-utopia-maintain...@lists.alioth.debian.org>
Changed-By: Simon McVittie <s...@debian.org>
Closes: 1058245
Changes:
 libportal (0.7.1-4) unstable; urgency=medium
 .
   * d/p/pyportaltest-Only-create-one-session-bus-per-DBusTestCase.patch:
     Add patch to fix test failure with dbusmock >= 0.30.0 (Closes: #1058245)
   * Mark both patches as applied upstream
   * Don't fully rely on ${gir:Depends} for GIR XML's dependencies.
     A bug in current dh_girepository results in dependencies from GIR XML
     to a typelib not being generated as intended. Work around this by
     going back to hard-coding those dependencies.
   * d/control: Explicitly build-depend on gir1.2-gtk-3.0-dev
     (Helps: #1030223)
   * Revert "libportal*-dev: Install Xdp*.gir in multiarch library
     directories".
     We'll want vapigen to search these directories eventually, but there's
     a risk of breaking the build for packages like gnome-builder and
     gnome-contacts if we force this too soon.
   * Further steps towards being cross-compilable:
     - d/control: Explicitly build-depend on gir1.2-glib-2.0-dev
     - d/rules: Use d/meson/no-gjs.ini as a cross-file if cross-compiling
     - d/p/portal-test-gtk3-Don-t-provide-a-run-target-if-we-cannot-.patch:
       Add patch from upstream git to make portal-test build system
       cross-friendly
   * Upload to unstable
 .
 libportal (0.7.1-3) experimental; urgency=medium
 .
   * d/control: Use ${gir:Depends}, ${gir:Provides} for GIR XML and typelib
     dependencies
   * libportal*-dev: Install Xdp*.gir in multiarch library directories.
     This is unnecessary for this specific package (the GIR XML happens to
     be the same for all architectures), but it can be used as a test-case
     for whether parsers like the ones in gi-docgen and vala successfully
     find GIR XML in this location. (Helps: #1029957)
   * d/control: Explicitly build-depend on gir1.2-gtk-4.0-dev.
     This is a step towards being able to cross-compile with the
     GObject-Introspection parts omitted. (Helps: #1030223)
Checksums-Sha1:
 060ef6e37f4130458d8b94deb8b2ee2d31998de5 4050 libportal_0.7.1-4.dsc
 2cd67de21bff3d15c055948f8d21d88eab98cc5a 10572 libportal_0.7.1-4.debian.tar.xz
 1bfd07aa0414115c8c69fc5bb1fc447a271f2f57 16938 
libportal_0.7.1-4_source.buildinfo
Checksums-Sha256:
 99d8eaf3b92c44ca7c2d228bab06455fcb52a9621e3c7984fcbd0f30c4f3a839 4050 
libportal_0.7.1-4.dsc
 406d93b2c449e5cb15916f4f6adb265cbad7edf1dc88bc1e705b467c3fdf32fd 10572 
libportal_0.7.1-4.debian.tar.xz
 bec636880a529c06d348c7d466a12510ce0f7b0a7a00fed976f9c2b04e46b849 16938 
libportal_0.7.1-4_source.buildinfo
Files:
 1c081d4409f86e21f02200795fa7295f 4050 libs optional libportal_0.7.1-4.dsc
 bca3681e7545048e01e3da8b2ac637fc 10572 libs optional 
libportal_0.7.1-4.debian.tar.xz
 1ee642810ab480334ef42985612dbe42 16938 libs optional 
libportal_0.7.1-4_source.buildinfo

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

iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmWMkV8ACgkQ4FrhR4+B
TE9qbQ/+JzkrZOM0tfVmcZ1tC6aDA8bHQPpwcvREHEZshNOkgb5giX2GfpsbtcXP
sCPEqA0cWd+XPQEUdBECYDheTnOG16U0kGBMW6VENf2MFOsdPTXmWb5eEHexWjmg
0aw3LprUFh9HVMqsCA3P1DNwEAyiGR6QCSTcZiemEFquO6nxp+3fyeLkIAw6CXfI
xgldEaPUonAmbbrrGTytx5nYrFAzrL7HfXQoahM4qqPkiSF6zGuCGb5GJ1PURMoe
hlFHOA7SnGUWAC2Ws4J0bLIc2Httg5dzznMv2pNYijL4Wykp25BQGm3omuag5Fv7
7VeDfvmBhkPFM1DRZSMQ45FneEDufYJU0mjacRn5T/Rq2Oi3UMyPNIdcQoFBtWkn
dYwO4X7rnU+FsvbTNDXiULFOJBK2EhnQaKhwnT8Zemz3wqLQZKjg1Bha0OSrYKwx
pt7JjsMef3Y9niW0ddoJhjPopO5X920X5MQXymMpQGnKT+OHFqEJ3iSTLhDVMMz8
8o07UwGFFiwLtAnDMHi3L3wO42o/hujFMbbh/lF4iFqV/5NLr8hgCbBFk8Mbkg16
dDKb0IAKBaizGGPwFxS6FNjU4HEhZdifis0QroU68JDMXQ2TDGAOCqxfuo2/o3Dh
KgkwXgDnNA/Mo61cFz+IHORL+c10F1iPh27qMtQt2Xp9TwDbY+0=
=yKVF
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to