Mir

Differences between revisions 72 and 90 (spanning 18 versions)
Revision 72 as of 2019-02-18 15:06:36
Size: 4488
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 2: Line 2:
 * '''Component Checklist''': https://wiki.ubuntu.com/Process/Merges/Checklists/Mir
Line 6: Line 5:
== Dependents/Clients ==

Clients of this component

 * '''Xmir''' https://code.launchpad.net/~xmir-team/xorg-server/+git/xmir
 * '''SDL''' [''16.04LTS only'']
 * '''qtubuntu''' https://launchpad.net/qtubuntu [''16.04LTS only'']
Line 16: Line 7:
'''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''' '''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 19: Line 10:
 * Mir Test Plan (from ppa:mir-team/rc)
 * Mir Snaps Test Plan
Line 20: Line 13:
Testing differs between 16.04LTS and 18.04LTS or later. Testing for 16.04LTS has its own section below. === Mir Test Plan ===
Line 22: Line 15:
== Test Plan 18.04LTS or later == ==== Test Matrix ====
||'''Platform'''||24.04LTS||22.04LTS||24.10||
||gbm-kms|| || || ||
||gbm-x11|| || || ||
||gbm-wayland|| || || ||
||eglstream-kms|| || || ||
||virtual|| || || ||
Line 24: Line 23:
 * The following should be repeated for 18.04LTS and any later series: ||'''Console'''||24.04LTS||22.04LTS||24.10||
||minimal|| || || ||
||linux-VT|| || || ||
||logind|| || || ||

||'''WM'''||24.04LTS||22.04LTS||24.10||
||floating|| || || ||
||tiling|| || || ||
||kiosk|| || || ||
Line 29: Line 36:
   * $ '''sudo apt install mir-demos mir-graphics-drivers-desktop mir-test-tools'''    * $ '''sudo apt install mir-demos mir-platform-graphics-virtual mir-graphics-drivers-desktop mir-test-tools'''
Line 38: Line 45:
 * Mir-on-X11
  * Use an X11 based desktop (Unity, Gnome, etc.).
  * Start a terminal sessions to launch the tests.
  * Run the "smoke tests" to ensure the example clients work
   * $ '''mir-smoke-test-runner'''
   * Check the result is "I: Smoke testing complete with returncode 0"
  * Run a test session in a window
   * $ '''miral-app'''
  * [in the Mir-on-X11 session] Try running, resizing, moving and switching between the following:
   * $ '''mir_demo_client_multiwin'''
   * $ '''kate'''
   * $ '''gnome-terminal'''
   * $ '''weston-terminal'''
   * $ '''glmark2-es2-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'''
Line 53: Line 82:
 * Mir-on-KMS
  * Switch to VT4 and sign in
  * Run a test "tiling desktop" session
   * $ '''miral-app --window-manager tiling'''
  * Try running, and switching between the following:
   * $ '''mir_demo_client_multiwin'''
   * $ '''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'''
Line 64: Line 90:
== Test Plan 16.04LTS == === Mir Snaps Test Plan ===
Line 66: Line 92:
 * 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 ppa:ci-train-ppa-service/stable-phone-overlay'''
   * $ '''sudo add-apt-repository --update ppa:mir-team/rc'''
   * $ '''sudo apt install mir-demos mir-graphics-drivers-desktop mir-test-tools'''
  * Install applications to test with:
   * Qt Wayland support, qterminal and kate to test with:
    * $ '''sudo apt install kate qterminal qtubuntu-desktop'''
   * Install glmark2:
    * $ '''sudo apt install glmark2-wayland glmark2-mir'''
There are several snaps to consider
* mir-test-tools
* ubuntu-frame
* confined-shell
* miriway
Line 77: Line 98:
 * Mir-on-X11
  * Use an X11 based desktop (Unity, Gnome, etc.).
  * Start a terminal sessions to launch the tests.
  * Run the "smoke tests" to ensure the example clients work
   * $ '''mir-smoke-test-runner'''
   * Check the result is "I: Smoke testing complete with returncode 0"
  * Run a test session in a window
   * $ '''miral-app -qt-mirclient -sdl2-mirclient'''
  * [in the Mir-on-X11 session] Try running, resizing, moving and switching between the following:
   * $ '''mir_demo_client_multiwin'''
   * $ '''kate'''
   * $ '''glmark2-es2-wayland'''
   * $ '''glmark2-es2-mir'''
We give detailed instructions only for mir-test-tools as the pattern is obvious.
Line 91: Line 100:
 * Mir-on-KMS
  * Switch to VT4 and sign in
   * $ '''miral-app -qt-mirclient -sdl2-mirclient --window-manager tiling'''
  * Try running, and switching between the following:
   * $ '''mir_demo_client_multiwin'''
   * $ '''kate'''
   * $ '''glmark2-es2-wayland'''
   * $ '''glmark2-es2-mir'''
  * Run the "smoke tests" to ensure the example clients work
   * $ '''mir-smoke-test-runner'''
   * Check the result is "I: Smoke testing complete with returncode 0"
 * 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:
Line 103: Line 103:
 * Mir-on-KMS
  * Switch to VT4 and sign in
   * $ '''miral-app -qt-mirclient -sdl2-mirclient'''
   * $ '''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)