Benchmarking for the DisplayServer and its spawned application #269
Test results ❌
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
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
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
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
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
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