1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-23 22:43:07 +00:00

desktop_update_graphical: try to workaround GGO #2442

In current F40 and Rawhide, this test is frequently failing
because gnome-software is behaving weirdly at startup - the
third-party software dialog moves around even more than before,
the app seems to get stuck in the "not responding" state
briefly sometimes, and there's a very weird state it gets into
sometimes where the window is shorter than usual and clicks
don't seem to register in the right place. While I'm trying to
bisect these bugs, these magic voodoo incantations (tested on
the staging instance) seem to mostly work around the weird
behaviour, and setting RETRY=2 should backstop it a bit further.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2024-02-16 12:50:05 -08:00
parent 58544fcbce
commit b3e5dd41cb
2 changed files with 23 additions and 6 deletions

View File

@ -1310,7 +1310,8 @@
"BOOTFROM": "c", "BOOTFROM": "c",
"HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2",
"POSTINSTALL": "desktop_update_graphical", "POSTINSTALL": "desktop_update_graphical",
"START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%" "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%",
"RETRY": 2
} }
}, },
"install_addrepo_metalink_graphical": { "install_addrepo_metalink_graphical": {

View File

@ -41,9 +41,16 @@ sub run {
# GNOME Software 44+ has a 3rd party source pop-up, get rid of it # GNOME Software 44+ has a 3rd party source pop-up, get rid of it
# if it shows up (but don't fail if it doesn't, we're not testing that) # if it shows up (but don't fail if it doesn't, we're not testing that)
if ($desktop eq 'gnome' && check_screen 'gnome_software_ignore', 10) { if ($desktop eq 'gnome' && check_screen 'gnome_software_ignore', 10) {
wait_still_screen 3; # keep clicking till we hit it, it tends to wobble around,
# match again as the dialog may have moved a bit # especially with GNOME 46 - part of
assert_and_click 'gnome_software_ignore'; # https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2442
click_lastmatch;
my $count = 20;
while (check_screen 'gnome_software_ignore', 3) {
die "couldn't get rid of ignore screen!" if ($count == 0);
$count -= 1;
click_lastmatch;
}
} }
# go to the 'update' interface. We may be waiting some time at a # go to the 'update' interface. We may be waiting some time at a
# 'Software catalog is being loaded' screen. # 'Software catalog is being loaded' screen.
@ -52,8 +59,17 @@ sub run {
mouse_set 10, 10; mouse_set 10, 10;
mouse_hide; mouse_hide;
} }
# wait out a possible animation if ($desktop eq 'gnome') {
wait_still_screen 5; # wait for it to settle, it seems to take a long time and sometimes
# go into 'app is not responding' mode - part of
# https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2442
wait_still_screen 10;
# try to click in a 'neutral' area of the UI to get rid of the
# weird 'short window' state - another part of
# https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2442
mouse_set 36, 128;
mouse_click;
}
assert_and_click 'desktop_package_tool_update'; assert_and_click 'desktop_package_tool_update';
# wait for things to settle if e.g. GNOME is refreshing # wait for things to settle if e.g. GNOME is refreshing
wait_still_screen 5, 90; wait_still_screen 5, 90;