Mir
Test plan for component: Mir
Component Checklist: https://wiki.ubuntu.com/Process/Merges/Checklists/Mir
Trunk URL: lp:mir/ubuntu (note: mir has release branches, for example lp:mir/0.26)
Ubuntu Package URL (LP): http://launchpad.net/ubuntu/+source/mir
Dependents/Clients
Clients of this component
qtubuntu https://launchpad.net/qtubuntu
Xmir https://code.launchpad.net/~xmir-team/xorg-server/+git/xmir
SDL
GTK-3
Test Plan
This test plan is not supposed to be complete; use it to guide your manual testing so they don't miss big functional areas that are part in the component; also this should be used as guideline to inspire the exploratory testing which should be adapted smartly based on the real content of a MP
- Successful run of automated CI testing
- In addition update desktop from archive
- Install packages from build silo:
- $ sudo apt install mir-demos mir-graphics-drivers-desktop
- Install packages from build silo:
- Mir-on-X
- Use an X11 based desktop (Unity, Gnome, etc.). These tests run for a default 10 seconds,
- Start a terminal sessions to launch the tests.
- Test that S/W rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ mir_demo_server --test-timeout 10 --test-client mir_demo_client_multiwin
- Test that EGL rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ mir_demo_server --test-timeout 10 --test-client mir_demo_client_egltriangle
- Mir-on-Mir
- Use an X11 based desktop (Unity, Gnome, etc.). These tests run for a default 10 seconds.
- Start two terminal sessions, one for a "host" server, one to launch the tests.
Start a "host" server: $ mir_demo_server --window-manager system-compositor
- Test that S/W rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ mir_demo_server --no-file --host $XDG_RUNTIME_DIR/mir_socket --test-timeout 10 --test-client mir_demo_client_multiwin
- Test that EGL rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ mir_demo_server --no-file --host $XDG_RUNTIME_DIR/mir_socket --test-timeout 10 --test-client mir_demo_client_egltriangle
- Close the "host" server
- Mir-on-KMS
- go to a VT. These tests run for a default 10 seconds.
- Test that S/W rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ sudo mir_demo_server --no-file --test-timeout 10 --test-client mir_demo_client_multiwin
- Test that EGL rendering clients run and can be moved(resized) with Alt+Left(Middle)-Button:
$ sudo mir_demo_server --no-file --test-timeout 10 --test-client mir_demo_client_egltriangle
Basic GDK support On zesty and Xenial
- Use an X11 based desktop (Unity, Gnome, etc.). Note that support by the demo server is limited: e.g. menus and popups need not appear in the correct place.
- Start two terminal sessions, one for a Mir server, one to launch the tests.
Start a server: $ mir_demo_server
- Test that gnome-terminal runs and can be moved(resized) with Alt+Left(Middle)-Button:
$ GDK_BACKEND=mir gnome-terminal --app-id com.canonical.mir.Terminal
- Test that GDK applications can be run from the terminal:
$ gedit
- Close the server
- Basic Qt support
- Use an X11 based desktop (Unity, Gnome, etc.). Note that support by the demo server is limited: e.g. menus and popups need not appear in the correct place.
- Start two terminal sessions, one for a Mir server, one to launch the tests.
Install Qt support and kate: $ sudo apt install qtubuntu-desktop kate
Start a server: $ mir_demo_server
- Test that qterminal runs:
$ unset QT_QPA_PLATFORMTHEME
$ QT_QPA_PLATFORM=ubuntumirclient qterminal
- Test that Qt applications can be run from the terminal:
$ kate
- Close the server
- Basic SDL support
- Use an X11 based desktop (Unity, Gnome, etc.).
- Start two terminal sessions, one for a Mir server, one to launch the test.
Install a sample SDL application: $ sudo apt install 7kaa
Start a server: $ mir_demo_server
- Test that 7kaa runs and can be used:
$ SDL_VIDEODRIVER=mir 7kaa
Note that 7kaa crashes on exit: That is not a problem for this test.
- Close the server
- Basic X11 support
- Use an X11 based desktop (Unity, Gnome, etc.).
- Start three terminal sessions, one for a Mir server, one for Xmir, one to launch the test.
Install Xmir: $ sudo apt install xmir
Start a server: $ mir_demo_server
Start Xmir: $ Xmir -rootless :2
- Test that gedit runs on Xmir and can be used:
$ DISPLAY=:2 gedit
- Interact with gedit, write a text document, save it, load another.
MirAL support On zesty and later
- install kate, neverball, qtubuntu-desktop, mir-graphics-drivers-desktop, mir-demos, qterminal
Run the example: $ miral-desktop
- This should switch you to a miral "desktop" on VT4 with a gnome terminal window
- Ensure that gtk applications (e.g. gedit) can be launched from the terminal and used
At present, on Artful, gtk-mir doesn't always render to the correct size. MirAL/Mir is not thought to be the cause.
- Ensure that Qt applications (e.g. kate) can be launched from the terminal and used
At present kate has problems on qemu-kvm - it presents a blank, unresponsive, "untitled" window. This is Mir bug lp:1639745 (see second note below).
- Ensure that SDL applications (e.g. neverball) can be launched from the terminal and used
At present SDL applications sometimes exhibit problems on exit (7kaa often segfaults, neverball often hangs). MirAL/Mir is not thought to be the cause.
- Exit the MirAL desktop by closing the terminal session
Run the example: $ sudo mir_demo_server --vt 4 --arw-file --window-manager system-compositor
- This should switch you to VT4 with blank screen
- switch back to your desktop and start another terminal session (used for the next two tests)
Run the example: $ miral-app --host /tmp/mir_socket --window-manager tiling
- switch back to VT4
- This should switch you to a tiling MirAL "desktop" on VT4 with a fullscreen gnome terminal
repeat the application sanity tests as above the active application will be on the left of the display
- after exiting the terminal session switch back to your desktop
Run the example: $ miral-app -kiosk -launcher qterminal --host /tmp/mir_socket
- switch back to VT4
- This should switch you to a tiling MirAL "desktop" on VT4 with a fullscreen qterminal
repeat the application sanity tests as above the active application will be fullscreen
after exiting the terminal session exit mir_demo_server by Ctrl-Alt-BkSp
Note: To "kill" an unresponsive app use Alt-Shift-F4
Unity8 support On zesty only
Install unity8-desktop-session: $ sudo apt install unity8-desktop-session
- login to unity8 desktop and utilize applications such as browser, play with dash
- allow screen to blank, wake up