Mir

Differences between revisions 46 and 90 (spanning 44 versions)
Revision 46 as of 2016-01-26 21:37:47
Size: 5303
Editor: pool-173-74-225-137
Comment:
Revision 90 as of 2024-05-09 13:09:10
Size: 4756
Comment:
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
 * '''Component Checklist''': https://wiki.ubuntu.com/Process/Merges/Checklists/Mir
 * '''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


== Dependents/Clients ==

Clients of this component

 * '''QtMir''' http://code.launchpad.net/qtmir
 * '''qtubuntu''' https://launchpad.net/qtubuntu
 * '''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'''
 * '''SDL'''
 * '''ubuntu-app-launch'''
 * '''GTK-3'''
 * '''Test plan for component''': Mir
 * '''Trunk URL''': [[https://github.com/MirServer/mir/|github:MirServer/mir]]
 * '''Ubuntu Package URL (LP)''': http://launchpad.net/ubuntu/+source/mir
Line 31: Line 7:
'''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 [[https://wiki.ubuntu.com/Process/Merges/TestPlans/unity-system-compositor|USCTestPlan]]
 * 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 release'''
Line 80: Line 10:
 * Mir Test Plan (from ppa:mir-team/rc)
 * Mir Snaps Test Plan
Line 81: Line 13:
 * In addition update desktop from archive (assumes on utopic)
  * Install packages from build silo
=== Mir Test Plan ===
Line 84: Line 15:
 * 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.
==== Test Matrix ====
||'''Platform'''||24.04LTS||22.04LTS||24.10||
||gbm-kms|| || || ||
||gbm-x11|| || || ||
||gbm-wayland|| || || ||
||eglstream-kms|| || || ||
||virtual|| || || ||
Line 91: Line 23:
 * Install unity8-desktop-session-mir
  * login to unity8 desktop and utilize applications such as browser, play with dash
  * allow screen to blank, wake up
||'''Console'''||24.04LTS||22.04LTS||24.10||
||minimal|| || || ||
||linux-VT|| || || ||
||logind|| || || ||

||'''WM'''||24.04LTS||22.04LTS||24.10||
||floating|| || || ||
||tiling|| || || ||
||kiosk|| || || ||

 * In addition update desktop from archive
  * Install packages from the [[https://launchpad.net/~mir-team/+archive/ubuntu/rc|release candidate PPA]]:
   * $ '''sudo add-apt-repository --update ppa:mir-team/rc'''
   * $ '''sudo apt install mir-demos mir-platform-graphics-virtual mir-graphics-drivers-desktop mir-test-tools'''
  * Install applications to test with:
   * Qt Wayland support, qterminal and kate to test with:
    * $ '''sudo apt install qtwayland5 kate qterminal'''
   * Install weston-terminal:
    * $ '''sudo apt install weston'''
   * Install glmark2:
    * $ '''sudo apt install glmark2-wayland'''

 * `miral-app` options for testing specific features:
  * Console provider
   * `--console-provider=vt --vt=4`
    * This requires running with root privileges
    * Need to ensure that `XDG_RUNTIME_DIR` is set in the environment. If using `sudo`, it might strip this out; running something like `sudo env XDG_RUNTIME_DIR=/run/user/1000 miral-shell …` will ensure this is set.
   * `--console-provider=logind`
     * Switch to VT4, sign in and `miral-app ...`
   * `--console-provider=minimal`
    * Used when all others fail.
    * Does not provide VT switching capabilities (Ctrl-Alt-F1, etc)
    * Used for the gbm-x11, gbm-wayland & virtual platforms
  * Window Manager
   * `--window-manager=tiling`
   * `--window-manager=floating`
   * `-kiosk`
  * Testing specific platforms
   * `--platform-display-libs=mir:$NAME --platform-rendering-libs=mir:$NAME`
    * Platform
      * X11: Use an X11 supporting desktop
      * virtual: `--platform-display-lib=mir:virtual --virtual-output=1280x1024`
       * Also add wayvnc support: `--add-wayland-extension=zwp_virtual_keyboard_manager_v1:zwlr_virtual_pointer_manager_v1:zwlr_screencopy_manager_v1`
       * In a separate terminal run: `WAYLAND_DISPLAY=wayland-1 ubuntu-frame-vnc`
       * In a separate terminal run: `gvncviewer localhost`
      * wayland: `--platform-display-lib=mir:wayland --wayland-host=$WAYLAND_DISPLAY`
  * Some tests
    * Run the "smoke tests" to ensure the example clients work
      * Start a terminal sessions to launch the tests.
      * $ '''mir-smoke-test-runner'''
      * Check the result is "I: Smoke testing complete with returncode 0"
    * try some apps
     * $ '''miral-app'''
     * [in the nested session] Try running, resizing, moving and switching between the following:
       * $ '''kate'''
       * $ '''gnome-terminal'''
       * $ '''weston-terminal'''
       * $ '''glmark2-es2-wayland'''

   * Run a test "tiling desktop" session
     * $ '''miral-app --window-manager tiling'''
     * Try running, and switching between the following:
     * $ '''kate'''
     * $ '''gnome-terminal'''
     * $ '''weston-terminal'''
     * $ '''glmark2-es2-wayland'''

=== Mir Snaps Test Plan ===

There are several snaps to consider
* mir-test-tools
* ubuntu-frame
* confined-shell
* miriway

We give detailed instructions only for mir-test-tools as the pattern is obvious.

 * Verify that the snaps works
These tests should work on all supported series of Classic and on Ubuntu Core. First check that the `beta` channel has been updated with the release candidate:

   * $ '''snap info mir-test-tools'''

This should show something like:

   * '''24/beta: 2.17.0~rc5-snap165 2024-05-08 (15097) 105MB -'''

Where the version (2.17.0~rc5-snap165) matches the release being tested.

   * $ '''snap install --channel=24/beta mir-test-tools'''

There's a "handy script" to test the snap on the Wiki:

   * https://github.com/MirServer/mir-test-tools/wiki/Notes

Copy this and run it.

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 release

  • Successful run of automated CI testing
  • Mir Test Plan (from ppa:mir-team/rc)
  • Mir Snaps Test Plan

Mir Test Plan

Test Matrix

Platform

24.04LTS

22.04LTS

24.10

gbm-kms

gbm-x11

gbm-wayland

eglstream-kms

virtual

Console

24.04LTS

22.04LTS

24.10

minimal

linux-VT

logind

WM

24.04LTS

22.04LTS

24.10

floating

tiling

kiosk

  • In addition update desktop from archive
    • Install packages from the release candidate PPA:

      • $ sudo add-apt-repository --update ppa:mir-team/rc

      • $ sudo apt install mir-demos mir-platform-graphics-virtual mir-graphics-drivers-desktop mir-test-tools

    • Install applications to test with:
      • Qt Wayland support, qterminal and kate to test with:
        • $ sudo apt install qtwayland5 kate qterminal

      • Install weston-terminal:
        • $ sudo apt install weston

      • Install glmark2:
        • $ sudo apt install glmark2-wayland

  • miral-app options for testing specific features:

    • Console provider
      • --console-provider=vt --vt=4

        • This requires running with root privileges
        • Need to ensure that XDG_RUNTIME_DIR is set in the environment. If using sudo, it might strip this out; running something like sudo env XDG_RUNTIME_DIR=/run/user/1000 miral-shell … will ensure this is set.

      • --console-provider=logind

        • Switch to VT4, sign in and miral-app ...

      • --console-provider=minimal

        • Used when all others fail.
        • Does not provide VT switching capabilities (Ctrl-Alt-F1, etc)
        • Used for the gbm-x11, gbm-wayland & virtual platforms

    • Window Manager
      • --window-manager=tiling

      • --window-manager=floating

      • -kiosk

    • Testing specific platforms
      • --platform-display-libs=mir:$NAME --platform-rendering-libs=mir:$NAME

        • Platform
          • X11: Use an X11 supporting desktop
          • virtual: --platform-display-lib=mir:virtual --virtual-output=1280x1024

            • Also add wayvnc support: --add-wayland-extension=zwp_virtual_keyboard_manager_v1:zwlr_virtual_pointer_manager_v1:zwlr_screencopy_manager_v1

            • In a separate terminal run: WAYLAND_DISPLAY=wayland-1 ubuntu-frame-vnc

            • In a separate terminal run: gvncviewer localhost

          • wayland: --platform-display-lib=mir:wayland --wayland-host=$WAYLAND_DISPLAY

    • Some tests
      • Run the "smoke tests" to ensure the example clients work
        • Start a terminal sessions to launch the tests.
        • $ mir-smoke-test-runner

        • Check the result is "I: Smoke testing complete with returncode 0"
      • try some apps
        • $ miral-app

        • [in the nested session] Try running, resizing, moving and switching between the following:
          • $ kate

          • $ gnome-terminal

          • $ weston-terminal

          • $ glmark2-es2-wayland

      • Run a test "tiling desktop" session
        • $ miral-app --window-manager tiling

        • Try running, and switching between the following:
        • $ kate

        • $ gnome-terminal

        • $ weston-terminal

        • $ glmark2-es2-wayland

Mir Snaps Test Plan

There are several snaps to consider * mir-test-tools * ubuntu-frame * confined-shell * miriway

We give detailed instructions only for mir-test-tools as the pattern is obvious.

  • Verify that the snaps works

These tests should work on all supported series of Classic and on Ubuntu Core. First check that the beta channel has been updated with the release candidate:

  • $ snap info mir-test-tools

This should show something like:

  • 24/beta: 2.17.0~rc5-snap165 2024-05-08 (15097) 105MB -

Where the version (2.17.0~rc5-snap165) matches the release being tested.

  • $ snap install --channel=24/beta mir-test-tools

There's a "handy script" to test the snap on the Wiki:

Copy this and run it.

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