Mir

Differences between revisions 65 and 88 (spanning 23 versions)
Revision 65 as of 2018-03-28 15:34:59
Size: 2940
Comment:
Revision 88 as of 2024-05-09 09:51:52
Size: 4484
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
 * '''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]])
 * '''Trunk URL''': [[https://github.com/MirServer/mir/|github:MirServer/mir]]
Line 5: Line 4:


== 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'''
Line 18: 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 21: Line 10:
 * Verify that the mir-tests-tools snap works
Line 22: Line 12:
 * The following should be repeated for each of the supported series: 16.04LTS, 18.04LTS and (at the time of writing) 17.10. == Testing mir-test-tools ==

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

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

This should show something like:

   * '''beta: 1.2.0-snap45 2019-05-22 (415) 121MB -'''

Where the version number matches the release being tested.

   * $ '''snap install --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 20.04LTS or later ===

==== 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|| || || ||
Line 26: Line 54:
   * $ '''sudo add-apt-repository ppa:mir-team/rc'''
   * $ '''sudo apt update
'''
   * $ '''sudo apt install mir-demos mir-graphics-drivers-desktop mir-test-tools'''
   * $ '''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'''
Line 32: Line 59:
    * ''On 16.04 Xenial ONLY'' also install qt support for Mir
     * $ '''sudo apt install qtubuntu-desktop'''
Line 39: Line 64:
 * 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''' [''On 16.04 Xenial ONLY'' add '''-qt-mirclient -gdk-mirclient''']
  * [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'''
 * Commands 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 54: Line 101:
 * Mir-on-KMS
  * Switch to VT4 and sign in, switch back to the desktop
  * Run a test "desktop" session
   * $ '''miral-desktop''' [''On 16.04 Xenial ONLY'' add '''-qt-mirclient -gdk-mirclient'''] '''--window-manager tiling'''
  * [in the Mir session] 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'''

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
  • Verify that the mir-tests-tools snap works

Testing mir-test-tools

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

  • $ snap info mir-test-tools

This should show something like:

  • beta: 1.2.0-snap45 2019-05-22 (415) 121MB -

Where the version number matches the release being tested.

  • $ snap install --beta mir-test-tools

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

Copy this and run it.

Test Plan 20.04LTS or later

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

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

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