Skip to content

Benchmarking for the DisplayServer and its spawned application #269

Benchmarking for the DisplayServer and its spawned application

Benchmarking for the DisplayServer and its spawned application #269

This check has been archived and is scheduled for deletion. Learn more about checks retention
GitHub Actions / Test results failed Sep 20, 2023 in 1s

Test results ❌

Tests failed

Report Passed Failed Skipped Time
junit-confined_shell-3.10.xml 20✅ 120s
junit-confined_shell-3.8.xml 20✅ 122s
junit-mir_demo_server-3.10.xml 19✅ 1❌ 119s
junit-mir_demo_server-3.8.xml 18✅ 2❌ 141s
junit-mir_kiosk-3.10.xml 13✅ 98s
junit-mir_kiosk-3.8.xml 13✅ 98s
junit-mir_test_tools-3.10.xml 20✅ 113s
junit-mir_test_tools-3.8.xml 20✅ 120s
junit-self-3.10.xml 6✅ 10s
junit-ubuntu_frame-3.10.xml 19✅ 113s
junit-ubuntu_frame-3.8.xml 17✅ 2❌ 127s

✅ junit-confined_shell-3.10.xml

20 tests were completed in 120s with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 20✅ 120s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[confined_shell-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[confined_shell-mir-kiosk-neverputt]
  ✅ test_app_can_run[confined_shell-mir-kiosk-scummvm]
  ✅ test_app_can_run[confined_shell-mir-kiosk-kodi]
  ✅ test_app_can_run[confined_shell-pluma]
  ✅ test_app_can_run[confined_shell-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-confined_shell]
  ✅ test_source_and_dest_match[app1-confined_shell]
  ✅ test_source_and_dest_mismatch[app0-confined_shell]
  ✅ test_source_and_dest_mismatch[app1-confined_shell]
  ✅ test_source_and_dest_mismatch[app2-confined_shell]
  ✅ test_source_and_dest_mismatch[app3-confined_shell]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[confined_shell-asciinema]
  ✅ test_active_app[confined_shell-mir-kiosk-neverputt]
  ✅ test_compositor_alone[confined_shell]
  ✅ test_inactive_app[confined_shell-qterminal]
  ✅ test_inactive_app[confined_shell-pluma]
  ✅ test_inactive_app[confined_shell-mir-kiosk-kodi]
  ✅ test_app_dragged_around[confined_shell]
test_server.TestServerCanRun
  ✅ test_server_can_run[confined_shell]

✅ junit-confined_shell-3.8.xml

20 tests were completed in 122s with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 20✅ 122s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[confined_shell-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[confined_shell-mir-kiosk-neverputt]
  ✅ test_app_can_run[confined_shell-mir-kiosk-scummvm]
  ✅ test_app_can_run[confined_shell-mir-kiosk-kodi]
  ✅ test_app_can_run[confined_shell-pluma]
  ✅ test_app_can_run[confined_shell-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-confined_shell]
  ✅ test_source_and_dest_match[app1-confined_shell]
  ✅ test_source_and_dest_mismatch[app0-confined_shell]
  ✅ test_source_and_dest_mismatch[app1-confined_shell]
  ✅ test_source_and_dest_mismatch[app2-confined_shell]
  ✅ test_source_and_dest_mismatch[app3-confined_shell]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[confined_shell-asciinema]
  ✅ test_active_app[confined_shell-mir-kiosk-neverputt]
  ✅ test_compositor_alone[confined_shell]
  ✅ test_inactive_app[confined_shell-qterminal]
  ✅ test_inactive_app[confined_shell-pluma]
  ✅ test_inactive_app[confined_shell-mir-kiosk-kodi]
  ✅ test_app_dragged_around[confined_shell]
test_server.TestServerCanRun
  ✅ test_server_can_run[confined_shell]

❌ junit-mir_demo_server-3.10.xml

20 tests were completed in 119s with 19 passed, 1 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 19✅ 1❌ 119s

❌ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[mir_demo_server-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-kodi]
  ❌ test_app_can_run[mir_demo_server-pluma]
	self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7ff5db1c09a0>
  ✅ test_app_can_run[mir_demo_server-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-mir_demo_server]
  ✅ test_source_and_dest_match[app1-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app0-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app1-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app2-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app3-mir_demo_server]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_demo_server-asciinema]
  ✅ test_active_app[mir_demo_server-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_demo_server]
  ✅ test_inactive_app[mir_demo_server-qterminal]
  ✅ test_inactive_app[mir_demo_server-pluma]
  ✅ test_inactive_app[mir_demo_server-mir-kiosk-kodi]
  ✅ test_app_dragged_around[mir_demo_server]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_demo_server]

❌ junit-mir_demo_server-3.8.xml

20 tests were completed in 141s with 18 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 18✅ 2❌ 141s

❌ pytest

test_apps_can_run.TestAppsCanRun
  ❌ test_app_can_run[mir_demo_server-wpe-webkit-mir-kiosk]
	self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7fdcd71c56a0>
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_demo_server-mir-kiosk-kodi]
  ✅ test_app_can_run[mir_demo_server-pluma]
  ✅ test_app_can_run[mir_demo_server-qterminal]
test_drag_and_drop.TestDragAndDrop
  ❌ test_source_and_dest_match[app0-mir_demo_server]
	self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7fdcd6fc1070>
  ✅ test_source_and_dest_match[app1-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app0-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app1-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app2-mir_demo_server]
  ✅ test_source_and_dest_mismatch[app3-mir_demo_server]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_demo_server-asciinema]
  ✅ test_active_app[mir_demo_server-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_demo_server]
  ✅ test_inactive_app[mir_demo_server-qterminal]
  ✅ test_inactive_app[mir_demo_server-pluma]
  ✅ test_inactive_app[mir_demo_server-mir-kiosk-kodi]
  ✅ test_app_dragged_around[mir_demo_server]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_demo_server]

✅ junit-mir_kiosk-3.10.xml

13 tests were completed in 98s with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 13✅ 98s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[mir_kiosk-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-kodi]
  ✅ test_app_can_run[mir_kiosk-pluma]
  ✅ test_app_can_run[mir_kiosk-qterminal]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_kiosk-asciinema]
  ✅ test_active_app[mir_kiosk-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_kiosk]
  ✅ test_inactive_app[mir_kiosk-qterminal]
  ✅ test_inactive_app[mir_kiosk-pluma]
  ✅ test_inactive_app[mir_kiosk-mir-kiosk-kodi]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_kiosk]

✅ junit-mir_kiosk-3.8.xml

13 tests were completed in 98s with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 13✅ 98s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[mir_kiosk-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_kiosk-mir-kiosk-kodi]
  ✅ test_app_can_run[mir_kiosk-pluma]
  ✅ test_app_can_run[mir_kiosk-qterminal]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_kiosk-asciinema]
  ✅ test_active_app[mir_kiosk-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_kiosk]
  ✅ test_inactive_app[mir_kiosk-qterminal]
  ✅ test_inactive_app[mir_kiosk-pluma]
  ✅ test_inactive_app[mir_kiosk-mir-kiosk-kodi]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_kiosk]

✅ junit-mir_test_tools-3.10.xml

20 tests were completed in 113s with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 20✅ 113s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[mir_test_tools-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-kodi]
  ✅ test_app_can_run[mir_test_tools-pluma]
  ✅ test_app_can_run[mir_test_tools-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-mir_test_tools]
  ✅ test_source_and_dest_match[app1-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app0-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app1-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app2-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app3-mir_test_tools]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_test_tools-asciinema]
  ✅ test_active_app[mir_test_tools-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_test_tools]
  ✅ test_inactive_app[mir_test_tools-qterminal]
  ✅ test_inactive_app[mir_test_tools-pluma]
  ✅ test_inactive_app[mir_test_tools-mir-kiosk-kodi]
  ✅ test_app_dragged_around[mir_test_tools]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_test_tools]

✅ junit-mir_test_tools-3.8.xml

20 tests were completed in 120s with 20 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 20✅ 120s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[mir_test_tools-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-neverputt]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-scummvm]
  ✅ test_app_can_run[mir_test_tools-mir-kiosk-kodi]
  ✅ test_app_can_run[mir_test_tools-pluma]
  ✅ test_app_can_run[mir_test_tools-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-mir_test_tools]
  ✅ test_source_and_dest_match[app1-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app0-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app1-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app2-mir_test_tools]
  ✅ test_source_and_dest_mismatch[app3-mir_test_tools]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[mir_test_tools-asciinema]
  ✅ test_active_app[mir_test_tools-mir-kiosk-neverputt]
  ✅ test_compositor_alone[mir_test_tools]
  ✅ test_inactive_app[mir_test_tools-qterminal]
  ✅ test_inactive_app[mir_test_tools-pluma]
  ✅ test_inactive_app[mir_test_tools-mir-kiosk-kodi]
  ✅ test_app_dragged_around[mir_test_tools]
test_server.TestServerCanRun
  ✅ test_server_can_run[mir_test_tools]

✅ junit-self-3.10.xml

6 tests were completed in 10s with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 6✅ 10s

✅ pytest

test_tests.TestTest
  ✅ test_project_typechecks
test_tests.TestProgram
  ✅ test_program_gives_output
  ✅ test_program_can_be_waited_for
  ✅ test_program_can_be_terminated
  ✅ test_program_is_killed_when_terminate_fails
  ✅ test_program_command_has_prefix_when_systemd_slice_is_set

✅ junit-ubuntu_frame-3.10.xml

19 tests were completed in 113s with 19 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 19✅ 113s

✅ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[ubuntu_frame-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-neverputt]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-scummvm]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-kodi]
  ✅ test_app_can_run[ubuntu_frame-pluma]
  ✅ test_app_can_run[ubuntu_frame-qterminal]
test_drag_and_drop.TestDragAndDrop
  ✅ test_source_and_dest_match[app0-ubuntu_frame]
  ✅ test_source_and_dest_match[app1-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app0-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app1-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app2-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app3-ubuntu_frame]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[ubuntu_frame-asciinema]
  ✅ test_active_app[ubuntu_frame-mir-kiosk-neverputt]
  ✅ test_compositor_alone[ubuntu_frame]
  ✅ test_inactive_app[ubuntu_frame-qterminal]
  ✅ test_inactive_app[ubuntu_frame-pluma]
  ✅ test_inactive_app[ubuntu_frame-mir-kiosk-kodi]
test_server.TestServerCanRun
  ✅ test_server_can_run[ubuntu_frame]

❌ junit-ubuntu_frame-3.8.xml

19 tests were completed in 127s with 17 passed, 2 failed and 0 skipped.

Test suite Passed Failed Skipped Time
pytest 17✅ 2❌ 127s

❌ pytest

test_apps_can_run.TestAppsCanRun
  ✅ test_app_can_run[ubuntu_frame-wpe-webkit-mir-kiosk]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-neverputt]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-scummvm]
  ✅ test_app_can_run[ubuntu_frame-mir-kiosk-kodi]
  ✅ test_app_can_run[ubuntu_frame-pluma]
  ✅ test_app_can_run[ubuntu_frame-qterminal]
test_drag_and_drop.TestDragAndDrop
  ❌ test_source_and_dest_match[app0-ubuntu_frame]
	self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7f05d0735e20>
  ✅ test_source_and_dest_match[app1-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app0-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app1-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app2-ubuntu_frame]
  ✅ test_source_and_dest_mismatch[app3-ubuntu_frame]
test_screencopy_bandwidth.TestScreencopyBandwidth
  ✅ test_active_app[ubuntu_frame-asciinema]
  ❌ test_active_app[ubuntu_frame-mir-kiosk-neverputt]
	self = <mir_ci.test_screencopy_bandwidth.TestScreencopyBandwidth object at 0x7f05d075b910>
  ✅ test_compositor_alone[ubuntu_frame]
  ✅ test_inactive_app[ubuntu_frame-qterminal]
  ✅ test_inactive_app[ubuntu_frame-pluma]
  ✅ test_inactive_app[ubuntu_frame-mir-kiosk-kodi]
test_server.TestServerCanRun
  ✅ test_server_can_run[ubuntu_frame]

Annotations

Check failure on line 0 in junit-mir_demo_server-3.10.xml

See this annotation in the file changed.

@github-actions github-actions / Test results

pytest ► test_apps_can_run.TestAppsCanRun ► test_app_can_run[mir_demo_server-pluma]

Failed test found in:
  junit-mir_demo_server-3.10.xml
Error:
  self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7ff5db1c09a0>
Raw output
self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7ff5db1c09a0>
server = ('mir_demo_server',)
app = <mir_ci.apps.Dependency object at 0x7ff5db172a10>
record_property = <function record_property.<locals>.append_property at 0x7ff5daf2e710>

    @pytest.mark.smoke
    @pytest.mark.parametrize('app', [
        apps.wpe(),
        apps.snap('mir-kiosk-neverputt'),
        apps.snap('mir-kiosk-scummvm'),
        apps.snap('mir-kiosk-kodi'),
        apps.pluma(),
        apps.qterminal(),
    ])
    async def test_app_can_run(self, server, app, record_property) -> None:
        server_instance = DisplayServer(server)
        program = server_instance.program(app.command, app_type=app.app_type)
        benchmarker = Benchmarker(server_instance, program, poll_time_seconds=0.1)
>       async with benchmarker:

test_apps_can_run.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
benchmarker.py:129: in __aexit__
    await self.stop()
benchmarker.py:117: in stop
    await program.__aexit__()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <mir_ci.program.Program object at 0x7ff5daf46e90>, args = ()

    async def __aexit__(self, *args) -> None:
        if self.process_end is not None:
>           assert self.is_running(), self.name + ' died without being waited for or killed'
E           AssertionError: pluma died without being waited for or killed

program.py:137: AssertionError

Check failure on line 0 in junit-mir_demo_server-3.8.xml

See this annotation in the file changed.

@github-actions github-actions / Test results

pytest ► test_apps_can_run.TestAppsCanRun ► test_app_can_run[mir_demo_server-wpe-webkit-mir-kiosk]

Failed test found in:
  junit-mir_demo_server-3.8.xml
Error:
  self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7fdcd71c56a0>
Raw output
self = <mir_ci.test_apps_can_run.TestAppsCanRun object at 0x7fdcd71c56a0>
server = ('mir_demo_server',)
app = <mir_ci.apps.Dependency object at 0x7fdcd7254d00>
record_property = <function record_property.<locals>.append_property at 0x7fdcd6eea310>

    @pytest.mark.smoke
    @pytest.mark.parametrize('app', [
        apps.wpe(),
        apps.snap('mir-kiosk-neverputt'),
        apps.snap('mir-kiosk-scummvm'),
        apps.snap('mir-kiosk-kodi'),
        apps.pluma(),
        apps.qterminal(),
    ])
    async def test_app_can_run(self, server, app, record_property) -> None:
        server_instance = DisplayServer(server)
        program = server_instance.program(app.command, app_type=app.app_type)
        benchmarker = Benchmarker(server_instance, program, poll_time_seconds=0.1)
>       async with benchmarker:

test_apps_can_run.py:24: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
benchmarker.py:126: in __aenter__
    await self.start()
benchmarker.py:106: in start
    await program.__aenter__()
display_server.py:82: in __aenter__
    wait_for_wayland_display(runtime_dir, self.display_name)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

runtime_dir = '/run/user/1001', name = 'wayland-008451'

    def wait_for_wayland_display(runtime_dir: str, name: str) -> None:
        i = inotify.adapters.Inotify()
        i.add_watch(runtime_dir, mask=inotify.constants.IN_CREATE)
        # Check if display has already appeared Since we've already created the watch it might be seen
        # by both this check and inotify, but there's no way it's seen by neither.
        if os.path.exists(os.path.join(runtime_dir, name)):
            return
        # Wait for display to appear
        for event in i.event_gen(timeout_s=display_appear_timeout, yield_nones=False):
            (_, type_names, path, filename) = event
            if filename == name:
                return
>       raise RuntimeError('Wayland display ' + name + ' did not appear')
E       RuntimeError: Wayland display wayland-008451 did not appear

display_server.py:37: RuntimeError

Check failure on line 0 in junit-mir_demo_server-3.8.xml

See this annotation in the file changed.

@github-actions github-actions / Test results

pytest ► test_drag_and_drop.TestDragAndDrop ► test_source_and_dest_match[app0-mir_demo_server]

Failed test found in:
  junit-mir_demo_server-3.8.xml
Error:
  self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7fdcd6fc1070>
Raw output
self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7fdcd6fc1070>
modern_server = <mir_ci.display_server.DisplayServer object at 0x7fdcd6f24b80>
app = ('python3', '/home/runner/work/mir-ci/mir-ci/mir-ci/mir_ci/clients/drag_and_drop_demo.py', '--source', 'pixbuf', '--target', 'pixbuf', ...)

    @pytest.mark.parametrize('app', [
        ('python3', str(APP_PATH), '--source', 'pixbuf', '--target', 'pixbuf', '--expect', 'pixbuf'),
        ('python3', str(APP_PATH), '--source', 'text', '--target', 'text', '--expect', 'text'),
    ])
    @pytest.mark.deps(debs=('libgtk-4-dev',), pip_pkgs=(('pygobject', 'gi'),))
    async def test_source_and_dest_match(self, modern_server, app) -> None:
        modern_server = DisplayServer(modern_server.command, add_extensions=VirtualPointer.required_extensions)
        pointer = VirtualPointer(modern_server.display_name)
        program = modern_server.program(app)
    
        async with modern_server, program, pointer:
            await asyncio.sleep(STARTUP_TIME)
            pointer.move_to_absolute(40, 40)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.button(Button.LEFT, True)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.move_to_absolute(120, 70)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.move_to_absolute(200, 100)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.button(Button.LEFT, False)
>           await program.wait()

test_drag_and_drop.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <mir_ci.program.Program object at 0x7fdcd6f24d90>, timeout = 10
term_timeout = 10

    async def wait(self, timeout=default_wait_timeout, term_timeout=default_term_timeout) -> None:
        if self.is_running():
            self.send_signals_task = asyncio.create_task(
                self.send_kill_signals(timeout, term_timeout))
        if self.process_end is not None:
            await self.process_end
            self.process_end = None
            print('\n' + format_output(self.name, self.output))
            assert self.process
            if self.process.returncode != 0:
                message = self.name
                if self.sigkill_sent:
                    message += ' refused to terminate'
                else:
                    message += ' closed with exit code ' + str(self.process.returncode)
>               raise ProgramError(message)
E               mir_ci.program.ProgramError: python3 closed with exit code -15

program.py:106: ProgramError

Check failure on line 0 in junit-ubuntu_frame-3.8.xml

See this annotation in the file changed.

@github-actions github-actions / Test results

pytest ► test_drag_and_drop.TestDragAndDrop ► test_source_and_dest_match[app0-ubuntu_frame]

Failed test found in:
  junit-ubuntu_frame-3.8.xml
Error:
  self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7f05d0735e20>
Raw output
self = <mir_ci.test_drag_and_drop.TestDragAndDrop object at 0x7f05d0735e20>
modern_server = <mir_ci.display_server.DisplayServer object at 0x7f05d0685c10>
app = ('python3', '/home/runner/work/mir-ci/mir-ci/mir-ci/mir_ci/clients/drag_and_drop_demo.py', '--source', 'pixbuf', '--target', 'pixbuf', ...)

    @pytest.mark.parametrize('app', [
        ('python3', str(APP_PATH), '--source', 'pixbuf', '--target', 'pixbuf', '--expect', 'pixbuf'),
        ('python3', str(APP_PATH), '--source', 'text', '--target', 'text', '--expect', 'text'),
    ])
    @pytest.mark.deps(debs=('libgtk-4-dev',), pip_pkgs=(('pygobject', 'gi'),))
    async def test_source_and_dest_match(self, modern_server, app) -> None:
        modern_server = DisplayServer(modern_server.command, add_extensions=VirtualPointer.required_extensions)
        pointer = VirtualPointer(modern_server.display_name)
        program = modern_server.program(app)
    
        async with modern_server, program, pointer:
            await asyncio.sleep(STARTUP_TIME)
            pointer.move_to_absolute(40, 40)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.button(Button.LEFT, True)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.move_to_absolute(120, 70)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.move_to_absolute(200, 100)
            await asyncio.sleep(A_SHORT_TIME)
            pointer.button(Button.LEFT, False)
>           await program.wait()

test_drag_and_drop.py:44: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <mir_ci.program.Program object at 0x7f05d0685130>, timeout = 10
term_timeout = 10

    async def wait(self, timeout=default_wait_timeout, term_timeout=default_term_timeout) -> None:
        if self.is_running():
            self.send_signals_task = asyncio.create_task(
                self.send_kill_signals(timeout, term_timeout))
        if self.process_end is not None:
            await self.process_end
            self.process_end = None
            print('\n' + format_output(self.name, self.output))
            assert self.process
            if self.process.returncode != 0:
                message = self.name
                if self.sigkill_sent:
                    message += ' refused to terminate'
                else:
                    message += ' closed with exit code ' + str(self.process.returncode)
>               raise ProgramError(message)
E               mir_ci.program.ProgramError: python3 closed with exit code -15

program.py:106: ProgramError

Check failure on line 0 in junit-ubuntu_frame-3.8.xml

See this annotation in the file changed.

@github-actions github-actions / Test results

pytest ► test_screencopy_bandwidth.TestScreencopyBandwidth ► test_active_app[ubuntu_frame-mir-kiosk-neverputt]

Failed test found in:
  junit-ubuntu_frame-3.8.xml
Error:
  self = <mir_ci.test_screencopy_bandwidth.TestScreencopyBandwidth object at 0x7f05d075b910>
Raw output
self = <mir_ci.test_screencopy_bandwidth.TestScreencopyBandwidth object at 0x7f05d075b910>
record_property = <function record_property.<locals>.append_property at 0x7f05cf634790>
server = <mir_ci.display_server.DisplayServer object at 0x7f05cf622ca0>
app = <mir_ci.apps.Dependency object at 0x7f05d074f880>

    @pytest.mark.parametrize('app', [
        apps.qterminal('--execute', f'python3 -m asciinema play {ASCIINEMA_CAST}', pip_pkgs=('asciinema',), id='asciinema', extra=15),
        apps.snap('mir-kiosk-neverputt', extra=False)
    ])
    async def test_active_app(self, record_property, server, app) -> None:
        server = DisplayServer(server, add_extensions=ScreencopyTracker.required_extensions)
        tracker = ScreencopyTracker(server.display_name)
        async with server as s, tracker, s.program(app.command[0]) as p:
            if app.command[1]:
                await asyncio.wait_for(p.wait(), timeout=app.command[1])
            else:
                await asyncio.sleep(long_wait_time)
>       _record_properties(record_property, server, tracker, 10)

test_screencopy_bandwidth.py:42: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

fixture = <function record_property.<locals>.append_property at 0x7f05cf634790>
server = <mir_ci.display_server.DisplayServer object at 0x7f05cf622ca0>
tracker = <mir_ci.screencopy_tracker.ScreencopyTracker object at 0x7f05cf622970>
min_frames = 10

    def _record_properties(fixture, server, tracker, min_frames):
        for name, val in tracker.properties().items():
            fixture(name, val)
        fixture('server_mode', SERVER_MODE_RE.search(server.server.output).group(1))
        fixture('server_renderer', SERVER_RENDERER_RE.search(server.server.output).group(1))
        frames = tracker.properties()['frame_count']
>       assert frames >= min_frames, (
            f'expected to capture at least {min_frames} frames, but only got {frames}'
        )
E       AssertionError: expected to capture at least 10 frames, but only got 2
E       assert 2 >= 10

test_screencopy_bandwidth.py:24: AssertionError