Handle an 'akonadi did something' notification in KDE, etc.
This handles a case where KDE shows a notification saying 'PIM Maintenance (Finished)', like this: https://openqa.fedoraproject.org/tests/477345#step/desktop_notifications/34 we need to click it away for the desktop_notification test to pass. It also clarifies the difference between this notification and the eternal 'akonadi_migration_agent is doing something' popup in the needle names and comments. It also replaces the 'check_screen then assert_and_click if found' pattern in several notifications-related places with the better 'check_screen then click_lastmatch if found' pattern now available upstream. Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
907e27cd8f
commit
efec7010cb
@ -1078,7 +1078,7 @@ sub click_unwanted_notifications {
|
||||
# on all visible 'update available' notifications (there can be
|
||||
# more than one, thanks to
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1730482 ) and the
|
||||
# buggy 'akonadi_migration_agent' notification if it's showing -
|
||||
# buggy 'akonadi_migration_agent_running' popup if it's showing -
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1716005
|
||||
# Returns an array indicating which notifications it closed
|
||||
wait_still_screen 5;
|
||||
@ -1087,10 +1087,10 @@ sub click_unwanted_notifications {
|
||||
while ($count > 0 && check_screen "desktop_update_notification_popup", 5) {
|
||||
$count -= 1;
|
||||
push (@closed, 'update');
|
||||
assert_and_click "desktop_update_notification_popup";
|
||||
click_lastmatch;
|
||||
}
|
||||
if (check_screen "akonadi_migration_agent", 5) {
|
||||
assert_and_click "akonadi_migration_agent";
|
||||
if (check_screen "akonadi_migration_agent_running", 5) {
|
||||
click_lastmatch;
|
||||
push (@closed, 'akonadi');
|
||||
}
|
||||
return @closed;
|
||||
|
@ -17,6 +17,6 @@
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"akonadi_migration_agent"
|
||||
"akonadi_migration_agent_running"
|
||||
]
|
||||
}
|
@ -17,6 +17,6 @@
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"akonadi_migration_agent"
|
||||
"akonadi_migration_agent_running"
|
||||
]
|
||||
}
|
@ -102,7 +102,7 @@ sub run {
|
||||
if (grep {$_ eq 'akonadi'} @closed) {
|
||||
# this isn't an SELinux denial or a crash, so it's not
|
||||
# a hard failure...
|
||||
record_soft_failure "stuck akonadi_migration_agent notification - RHBZ #1716005";
|
||||
record_soft_failure "stuck akonadi_migration_agent popup - RHBZ #1716005";
|
||||
}
|
||||
my @upnotes = grep {$_ eq 'update'} @closed;
|
||||
if (scalar @upnotes > 1) {
|
||||
@ -119,7 +119,11 @@ sub run {
|
||||
# In F28+ we seem to get a network connection notification
|
||||
# here. Let's dismiss it.
|
||||
if (check_screen 'desktop_network_notification', 5) {
|
||||
assert_and_click 'desktop_notification_dismiss';
|
||||
click_lastmatch;
|
||||
}
|
||||
# In F32+ we may also get an 'akonadi did something' message
|
||||
if (check_screen 'akonadi_migration_notification', 5) {
|
||||
click_lastmatch;
|
||||
}
|
||||
# on live path, we should not have got any other notification;
|
||||
# on installed path, we saw an update notification and closed
|
||||
|
Loading…
Reference in New Issue
Block a user