New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add test modules needed for Plasma on Wayland testing #3351

Merged
merged 2 commits into from Jul 31, 2017

Conversation

Projects
None yet
3 participants
@Vogtinator
Copy link
Contributor

Vogtinator commented Jul 27, 2017

To use this, a machine with QEMUVGA=virtio is needed. For the krypton-live-wayland test to succeed, 1024MiB of RAM are not enough anymore, so QEMURAM=2048 is necessary.
To enable the X11 tests to run in a wayland session, set WAYLAND=1.

Two workarounds:

The assert_and_click for the firefox titlebar causes the window to get dragged around on the screen for some reason. I found that the assert_and_click is not necessary for the test to succeed, but I'm not sure which conditional is the right one. I guess it might be necessary only on GNOME.

The GALLIUM_DRIVER workaround is needed to prevent krunner segfaulting with software rendering with llvmpipe. It's an upstream issue, likely in Mesa. Unfortunately it can't be set globally as softpipe is not suitable for use with KWin, so the workaround is a bit more complex.

Known issues:

Verification runs:

Krypton Live DVD: http://lagarto.suse.de/tests/25

Normal TW installation: http://lagarto.suse.de/tests/22 (More needles, but still running: http://lagarto.suse.de/tests/27)

@Vogtinator Vogtinator force-pushed the Vogtinator:fvogt/krypton-wayland branch from 5290b04 to edeb3e3 Jul 27, 2017

@Vogtinator

This comment has been minimized.

Copy link
Contributor

Vogtinator commented Jul 27, 2017

Even better verification run, only shutdown/reboot fail now: http://lagarto.suse.de/tests/29

@@ -502,13 +502,17 @@ sub firefox_check_popups {
if (match_has_tag('firefox_trackinfo')) {
wait_screen_change { assert_and_click 'firefox_trackinfo'; };
# workaround for bsc#1046005
wait_screen_change { assert_and_click 'firefox_titlebar'; };
if (!get_var('WAYLAND')) {

This comment has been minimized.

@okurz

okurz Jul 27, 2017

Member

Please add a comment here why wayland needs special handling

x11_start_program('kcmshell5 fonts'); # Start the fonts KCM

assert_and_click 'kcm_fonts_force_dpi'; # Check force DPI checkbox (96 is preselected)

This comment has been minimized.

@okurz

okurz Jul 27, 2017

Member

delete blank lines

sub run {
my ($self) = @_;

wait_idle;

This comment has been minimized.

@okurz

okurz Jul 27, 2017

Member

please avoid all wait_idle calls, see https://progress.opensuse.org/issues/5830

@Vogtinator Vogtinator force-pushed the Vogtinator:fvogt/krypton-wayland branch from edeb3e3 to 6947da7 Jul 28, 2017

@Vogtinator

This comment has been minimized.

Copy link
Contributor

Vogtinator commented Jul 28, 2017

All comments should be addressed now, still works: http://lagarto.suse.de/tests/32#

@Vogtinator Vogtinator force-pushed the Vogtinator:fvogt/krypton-wayland branch 2 times, most recently from 6762674 to e1f6a50 Jul 28, 2017

@asmorodskyi

This comment has been minimized.

Copy link
Member

asmorodskyi commented Jul 28, 2017

LGTM , @okurz if you don't more questions please merge

@Vogtinator

This comment has been minimized.

Copy link
Contributor

Vogtinator commented Jul 28, 2017

After adding a temporary workaround for the plasma crash on logout:

The shutdown/reboot fails are not a product issue, I cannot reproduce it outside of openQA with a very similiar QEMU config. By connecting to the SUT with VNC during the shutdown tests, the black screen vanishes, the test succeeds and no stall is detected: http://lagarto.suse.de/tests/39

@okurz
Copy link
Member

okurz left a comment

Please remove the duplication in the firefox method

@Vogtinator

This comment has been minimized.

Copy link
Contributor

Vogtinator commented Jul 28, 2017

I have no idea how to do that in perl, I guess I'd need a local var to store whether the match has the firefox-clean tag.

if (!check_var("DESKTOP", "kde")) {
# workaround for bsc#1046005
wait_screen_change { assert_and_click 'firefox_titlebar'; };
}
}

This comment has been minimized.

@okurz

okurz Jul 29, 2017

Member

how about the following after this line:

if (match_has_tag('firefox_trackinfo') or match_has_tag('firefox_readerview_window')) {
    # bsc#1046005 does not seem to affect KDE and as the workaround sometimes results in
    # accidentially moving the firefox window around, skip it.
    if (!check_var("DESKTOP", "kde")) {
        # workaround for bsc#1046005
        wait_screen_change { assert_and_click 'firefox_titlebar' };
    }  
}

because the assert_and_click asserts the same match.

@Vogtinator Vogtinator force-pushed the Vogtinator:fvogt/krypton-wayland branch from e1f6a50 to 184b66d Jul 31, 2017

Vogtinator added some commits Jul 25, 2017

Add test modules to switch to a Plasma Wayland session
If the WAYLAND variable is enabled, the X11 tests run in a wayland session.
This requires two new test modules:

plasma5_force_96dpi forces the font DPI to 96 in Plasma sessions to keep
the same scale as X. This is necessary to match X11 needles in the wayland
session and does not have any impact outside of that.

start_wayland_plasma5 then installs plasma5-session-wayland (if necessary)
and applies a workaround for a crash in Mesa by setting the GALLIUM_DRIVER
environment variable to softpipe in the Plasma Wayland session.
It then logs out of the current session, selects the "Plasma 5 (Wayland)"
session in sddm, logs in again and waits for the desktop to appear.
This is necessary as both Live media and default installations have
autologin enabled by default.
Do not click on firefox titlebar on KDE
The workaround is not needed anymore and somehow causes the test to fail
as it moves the firefox window around.

@Vogtinator Vogtinator force-pushed the Vogtinator:fvogt/krypton-wayland branch from 184b66d to 030fb15 Jul 31, 2017

@Vogtinator

This comment has been minimized.

Copy link
Contributor

Vogtinator commented Jul 31, 2017

@okurz okurz merged commit 5d704fb into os-autoinst:master Jul 31, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@Vogtinator Vogtinator deleted the Vogtinator:fvogt/krypton-wayland branch Jul 31, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment