Mir

Differences between revisions 45 and 61 (spanning 16 versions)
Revision 45 as of 2015-12-09 15:50:52
Size: 5303
Editor: 1
Comment:
Revision 61 as of 2017-10-09 14:26:16
Size: 7721
Editor: saviq
Comment: Merge of Process/Merges/TestPlans/MirAL
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was copied from Process/Merges/TestPlans/Template
## page was renamed from Process/Merges/TestPlans/Common
## page was renamed from Process/TestPlans/Common

 * '''Test plan for component''': Mir and unity-system-compositor
 * '''Test plan for component''': Mir
Line 7: Line 3:
 * '''Trunk URL''': lp:mir/ubuntu (note: mir has release branches example lp:mir/0.16)
                    & lp:unity-system-compositor

 * '''Ubuntu Package URL (LP)''': http://launchpad.net/ubuntu/+source/mir                                    & http://launchpad.net/ubuntu/+source/unity-system-compositor
 * '''Trunk URL''': [[https://launchpad.net/mir/ubuntu|lp:mir/ubuntu]] (note: mir has release branches, for example [[https://launchpad.net/mir/0.26|lp:mir/0.26]])
 * '''Ubuntu Package URL (LP)''': http://launchpad.net/ubuntu/+source/mir
Line 17: Line 11:
 * '''QtMir''' http://code.launchpad.net/qtmir
Line 19: Line 12:
 * '''Platform-api''' http://code.launchpad.net/platform-api
 * '''Xmir''' https://code.launchpad.net/~xmir-team/xorg-server/+git/xmir
 * '''Unity-System-Compositor''' http://code.launchpad.net/unity-system-compositor
 * '''url-dispatcher'''
 * '''trust-store'''
 * '''pay-service'''
 * '''Xmir''' https://code.launchpad.net/~xmir-team/xorg-server/+git/xmir
Line 26: Line 14:
 * '''ubuntu-app-launch'''
Line 31: Line 18:
'''NOTE:''' Please consider all platforms and configurations. "Ubuntu Phone" includes Nexus4, Nexus7 2013, arale and krillin. "Ubuntu Desktop" includes XMir, can be installed via unity8-desktop-session-mir. Note, substantive changes in unity-system-compositor should mandate testing of "Ubuntu Desktop".

=== Ubuntu Phone ===

 * Successful run of automated CI testing (already done by the CI autolander)
 * In addition, install updated image on phone and tablet
 * Install packages from build silo
  * note: even safer to install only the packages you've built (not dist-upgrade)
  * Ensure navigating/scrolling the ui/Dash works as expected (note: cross check known unity8 bugs for any oddities witnessed)
 * For screen blanking use [[USCTestPlan|https://wiki.ubuntu.com/Process/Merges/TestPlans/unity-system-compositor]]
 * Ensure '''app launches''' and can '''quit apps'''
  * make sure to launch multiple apps and swap them
  * when you launch the app, do not touch the screen and make sure it updates
  * when you quit the app, make sure a new app doesn't launch
 * Browser '''copy/paste''' to '''Notes''' application (need to be downloaded from the Ubuntu store)
  * '''note''' see bugs list, currently browser only allows selection of paragraph not a single word
  * open browser, go to cnn.com article with text
  * select text, long press for copy prompt, press copy
  * launch Notes, new note, long press to activate paste prompt, paste
  * select note to activate OSK, rotate a few times and ensure osk and notepad follow rotation
  * note copy/paste, OSK, rotation, moving between apps should function as expected
 * Notes copy/paste to message app
  * '''note''' currently msg app has a bug where paste doesn't prompt/highlight properly
  * open Notes, type some text
  * long press to prompt & select all text
  * long press again to prompt & copy text
  * dismiss keyboard
  * open message app, activate compose area, long press to prompt, paste
  * make sure OSK functions correctly, especially '''top row extended keys on OSK'''
  * make sure '''OSK rotates''' correctly
 * '''Download click app''' & launch (covers dash, click, osk, acct)
  * (without having setup accounts) Navigate to the Dash recommended applications
  * select app, select install
  * should be prompted to settings, enter U1 info with OSK
  * return to dash install app, open app
  * note the various screen switching and OSK prompting should function as expected
 * Open Gallery
  * play around in the app, make sure images captured by the Camera look correct.
 * run unity8 AP test per https://wiki.ubuntu.com/Touch/Testing#Testing_your_Ubuntu_Touch_Code_before_submission
  * note: with the mir 0.18 release, nexus 7 u8 autopilot testing is broken due to autopilot not working with tablet-mode-configured devices.
 * run browser AP test (ensure pass rate is similar to smoke results : http://ci.ubuntu.com/smokeng/vivid/). Note: same link as above, under "Running Deb tests" - look for 'webbrowser'.
 * If any oddities are witnessed, retest virgin image without mir changes
 * phablet-screenshot running from a desktop connected to the device shall work for all supported devices (manta, flo, mako).

=== Ubuntu Desktop ===

Desktop testing is recommended for XMir when Mir landing attempt involves client API changes and significant unity-system-compositor changes. Unity8-desktop-session-mir testing is also recommended for significant unity-system-compositor changes.
'''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'''
Line 81: Line 22:
 * In addition update desktop from archive (assumes on utopic)
  * Install packages from build silo
 * In addition update desktop from archive
  * Install packages from build silo:
   * $ sudo apt install mir-demos mir-graphics-drivers-desktop
Line 84: Line 26:
 * Install Xmir
  * go to a VT and launch mir_demo_server as root with the option --arw-file
  * launch Xmir in a another VT using: Xmir -mirSocket /tmp/mir_socket -damage :2
  * in another VT: DISPLAY=:2 gedit
  * Switch to the mir VT
  * Interact with gedit, write a text document, save it, load another.
 * 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'''
Line 91: Line 34:
 * Install unity8-desktop-session-mir  * 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
  * 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

 . It is also worth checking that any problem applications work with Mir itself.

  * For example: ''sudo mir_demo_server --vt 4 --launch kate''

 If this also fails in the same way, then the problem is unlikely to be MirAL. (At the time of writing lp:1639745 is affecting running GL applications on various VMs.)

 * Unity8 support ''On zesty only''
  * Install unity8-desktop-session: $ '''sudo apt install unity8-desktop-session'''

Dependents/Clients

Clients of this component

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
  • 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
    • 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

  • It is also worth checking that any problem applications work with Mir itself.
    • For example: sudo mir_demo_server --vt 4 --launch kate

    If this also fails in the same way, then the problem is unlikely to be MirAL. (At the time of writing lp:1639745 is affecting running GL applications on various VMs.)
  • 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

Process/Merges/TestPlans/Mir (last edited 2024-05-09 13:09:10 by alan-griffiths)