1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2025-11-30 12:56:01 +00:00
Commit Graph

91 Commits

Author SHA1 Message Date
Adam Williamson
fca65de651 agh, missing backtick
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-20 16:49:58 -07:00
Adam Williamson
198dccfcab More fwupd fiddling: wipe plugins for both KDE and GNOME
Sigh, tests are failing on GNOME now - we're seeing the DBX
update even though we mask lvfs. Software must be catching it
before we mask lvfs or something. So let's wipe the plugin for
GNOME too. And use a somewhat more robust way of doing it, I
hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-20 16:38:48 -07:00
Adam Williamson
fe654749e4 more fwupd fun: delete discover's fwupd plugin
So I'm really remembering all the fwupd/lvfs issues now. When
there's a UEFI DBX update available, we'll see it. This can cause
different issues. Right now on KDE, we're trying to install it,
but LVFS is blocking the download because it thinks we're spamming
it. So that's making tests fail.

We really need to go back to just nerfing LVFS. I think I found a
way to do it on KDE that works with current Discover: just wipe
Discover's lvfs plugin entirely. This will break if the filename
changes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-17 17:36:57 -07:00
Adam Williamson
8286da9140 desktop_update_graphical: mask fwupd again, but only on GNOME
Sigh. So we stopped masking fwupd becuase it caused Discover to
blow up, but now I remember why we started doing it in the first
place: fwupd can cause another 'type' of update to appear in
GNOME Software, with an identical "Restart & Update" button,
which openQA will happily click on instead of the one for
"System Updates" which we *want* it to click on. See
https://openqa.fedoraproject.org/tests/3880370#step/desktop_update_graphical/36

So...let's go back to masking fwupd, but only on GNOME. This
should make everyone happy.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-10-17 14:18:48 -07:00
Adam Williamson
deedc53bb2 Revert "disable fwupd in desktop_update_graphical"
This reverts commit 1a8f7e466c.
Current Plasma Discover complains if fwupd is masked. I just hope
tests don't start failing on fwupd errors again now. Sigh.
2025-10-06 17:06:17 -07:00
Adam Williamson
ed817bf0f3 desktop_update_graphical: handle multiple key import prompts
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-09-12 16:29:24 -07:00
Adam Williamson
0bf2003526 desktop_update_graphical: deal with annoying notification
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-08-07 23:23:54 +02:00
Lukas Ruzicka
531a7899e4 Increase wait time for Third Party check 2025-08-06 11:22:11 +02:00
Adam Williamson
bb75e1a425 gnome-software: handle dnf5 key import prompt
GNOME Software with the dnf5 backend prompts for GPG key import
if it hasn't already happened. We need to handle that. Luckily
I don't think we can get both this *and* the 'download unsigned'
needle, so we just make them alternates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-07-30 16:56:40 -07:00
Lukáš Růžička
188fe0f006 Update PR after review 2025-07-29 15:07:35 +00:00
Lukáš Růžička
f9c0433acb Show details if an error appears.
When Software complains about something, it shows a grey banner
in the lower part with a button to click (Details).
The update test has not utilized this anyhow, so if it happened,
we would not know what the error was.
This fix makes sure to click on the Details button when it
appears, revealing the reason behind it, which could help
us understand what happened.
2025-07-29 15:07:35 +00:00
Lukáš Růžička
0190f38677 Use the new features of menu_launch_type in code.
We have enhanced the menu_launch_type to allow for
start checking and maximizing applications.
This PR uses the new functions wherever it seems
logical.
If special logic was used for certain cases,
we have not touched these to preserve the
exact behaviour.

The crash workaround for the Fonts flatpak is dropped because it
no longer seems to be needed with the latest version of the
flatpak, and dropping it simplifies this migration.

Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/358
2025-04-25 14:40:54 -07:00
Lukas Ruzicka
1e6da7019c Unify the needles' naming scheme between Gnome and KDE.
Before this PR, we would have a different naming scheme
of application running needles for Gnome, a.k.a
apps_run_application, while for KDE we had application_runs.

This PR unifies all name under the Gnome scheme,
replaces the tags in the needles and test scripts.

This PR fixes https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/330
2025-03-04 11:48:45 -08:00
Adam Williamson
d63c327b16 Unify buildroot repo handling and base it on a variable
This is intended to address the problem that we don't use the
buildroot repo for Branched between branching and u-t activation,
which often causes problems when newly-created updates depend on
builds that recently went stable. So instead of having logic in
the tests that sets up the buildroot repo only if the release is
Rawhide (or ELN), we'll do the decision about whether to set it
up in the scheduler (which decides based on info from Bodhi), and
just have the 'set up the repo' steps in the tests. Let's also
use the same code and repo name for ELN and non-ELN so we don't
have pointless divergence there.

Depends on the matching fedora_openqa change, of course - without
that, no test will use the buildroot repo.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-02-11 09:47:55 -08:00
Adam Williamson
1a8f7e466c disable fwupd in desktop_update_graphical
This isn't a test of fwupd, and we seem to be having issues with
it in openQA lately - I think maybe the fwupd server is blocking
openqa because we're hitting it too much? Anyway, let's disable
it for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-02-05 23:58:08 -08:00
Adam Williamson
aaf6018485 Tweak desktop_update_graphical download/apply handling for fwupd
Now fwupd is showing us dbx updates, it seems we get *both* a
"Restart & Update..." button *and* a "Download" button at the
same time. If we click Restart & Update without clicking Download
first, package updates aren't applied.

So, tweak this logic yet again so that it 'breaks the tie' in
the way we want (if both buttons are present, click the download
one, take download out of the tags, and go to the next loop
iteration). Hopefully this solves the problem without breaking
any other paths.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-01-28 15:32:55 -08:00
Adam Williamson
4ff2865ff7 desktop_update_graphical: give third party screen a bit longer
I've seen several failures where this just took more than ten
seconds to appear.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2025-01-20 10:54:29 -08:00
Adam Williamson
381a79f06f Fix KDE update test with KDE 6.2
The behavior after we click 'Restart to Install Updates Now'
button has changed in KDE 6.2. The default choice is no longer
'Install Updates and Restart' (even though that's what the button
says), and there is no timer. So if we don't click anything, the
confirm overlay just stays open forever.

This makes us click on the appropriate confirmation button if we
see it. We can also use this to make the test run a bit faster on
other releases, I guess.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-09-16 12:16:26 -07:00
Adam Williamson
358695e417 doublek_workaround: tweak to work for other letters too
In a couple of cases we type something that *doesn't* start with
a 'k', so we should use that other letter for the workaround.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-09-15 11:54:35 -07:00
Adam Williamson
d515ad1195 Revert "desktop_update_graphical: try to workaround GGO #2442"
This reverts commit b3e5dd41cb.
Some testing on lab seems to indicate it's not needed any more,
at least several runs with the workarounds reverted have passed.
Will put them back if we hit failures.
2024-08-02 16:07:05 -07:00
Adam Williamson
943c4193d3 Factor out the KDE launcher double-typing workaround, use it more
There's a couple of places where we do menu_launch_type in KDE
without doing this workaround first, and they do run into the
bug sometimes. Let's factor it out from the few places it's
already repeated, and add it to the places it is missing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-11 16:21:00 -07:00
Adam Williamson
206ffc2a7e COPR / tag tests: handle GNOME "download unsigned" prompt
When using a side repo for testing a COPR or a side tag, there
may be unsigned packages. We set gpgcheck=0 to make dnf okay
with this, but gnome-software still shows a warning. Let's
click through it so the test can complete.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-11 14:38:18 -07:00
Adam Williamson
4ccdaf0236 Add some wait_still_screens to GNOME Software ignore handling
I think the lack here is sometimes causing us to click more
times than we should. Let's do this to try and make sure we
don't click once it worked.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-27 12:17:40 -07:00
Adam Williamson
1edde53988 Try and avoid launcher typing issues in more KDE tests
This is the same thing we do for the app_startstop tests in
aaa_setup, applied to a couple of other places we use
menu_launch_type in KDE and it's having trouble.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-03 14:22:59 -07:00
Adam Williamson
691e82b1f9 Drop workaround for RHBZ #1943943
This whole complicated loop looks like it's no longer needed for
current KDE. It seems like we always refresh, then we hit
"Update All", and from there we go straight to "Restart Now".
Clicking the button always seems to work, we never seem to need
to click "Refresh" again. So, let's drop it and simply expect to
see and click Restart Now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-22 17:04:52 -07:00
Adam Williamson
bdae22d7de Drop another config-manager fixme
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-04-22 16:52:54 -07:00
Adam Williamson
b3e5dd41cb 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>
2024-02-16 12:50:05 -08:00
Adam Williamson
375250000f Add a wait_still_screen to update_graphical for an animation
GNOME Software seems to be doing some kind of animation between
the third party dialog and the main UI, and we're clicking on
a banner instead of the update button. Try a wait_still_screen
to deal with this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-02-12 09:55:31 -08:00
Adam Williamson
74730f904a Workaround config-manager plugin missing from dnf5 using sed
This is ugly, but ought to work, I hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-20 12:42:34 +02:00
Adam Williamson
119229cce7 Add a needle cleanup script, enhance the needle check script
This adds a new script - cleanup-needles.py - to use for cleaning
up old needles. It has to be used in conjunction with a database
query; the comment at the top explains how to do that query and
export the needed information. It produces a git commit with
needles that haven't matched since a certain date (specified in
the sql query) removed, subject to a 'keeplist' of needles we
keep even if they seem to be old.

I also enhanced check-needles.py to check for cases where tests
seem to be trying to match a tag we have no needles for. This
was necessary to find cases where the cleanup script was too
aggressive (i.e. the things that wound up in the 'keeplist'),
but it also turned out to find quite a lot of cases where the
code really *was* looking for a needle that had gone in a
previous cleanup or that never existed; the commits before this
one clean up a lot of those cases.

The code to decide which string literals are needle tags is
pretty dumb and hacky and needs some manual cueing sometimes -
that's what the `# testtag` changes in this commit are for.
Making it smarter would probably require this script to get a
lot more complicated and either incorporate or become a
tokenizer, which I don't really want to do.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
3e6e80ca87 Drop a no-longer-reached branch and associated needle
Now both GNOME and KDE do offline updates on all supported
releases, we never see an 'update done' screen any more. This
branch is left over from when the KDE offline update branch was
still conditional on release number.

If we ever implement this test on a desktop that doesn't do
offline updates, we can put this back easily enough.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
38c3693684 Revert "Fix desktop_update_graphical tests for pykickstart updates"
This reverts commit 2e5fa93415.
Let's try using one non-critpath package for all these tests
instead.
2023-03-18 09:39:19 -07:00
Adam Williamson
2e5fa93415 Fix desktop_update_graphical tests for pykickstart updates
Somehow, the dummy package being python3-kickstart causes the
graphical update tests (only) to fail for pykickstart updates
(that's the source package of python3-kickstart). The CLI and
Cockpit update tests are fine with this and pass.

To workaround this, use python3-blivet as the dummy package for
the graphical update tests when testing an update that contains
python3-kickstart. I've updated the test repo to contain both
dummy packages.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-14 14:14:25 -07:00
Adam Williamson
2a157bbd4e Fix up the Ignore button clicking
The dialog moves a bit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-09 11:45:03 -08:00
Adam Williamson
2db1e57674 Check for 3rd-party popup instead of 'welcome' screen
GNOME Software no longer has a welcome screen in any current
Fedora (it was dropped between 35 and 36), but in Rawhide it now
has a popup that prompts you to enable third-party repos which
we need to get rid of, so just convert the welcome screen check
to handle that, and drop all the welcome screen needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-09 10:34:27 -08:00
Adam Williamson
2c1a0e8128 desktop_update_graphical: disable koji-rawhide on update tests
...or else we get stuff like
https://openqa.fedoraproject.org/tests/1649309#step/desktop_update_graphical/40

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-16 23:23:26 -08:00
Adam Williamson
1a65993d36 Add a perltidy check and apply it to the entire codebase
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-28 14:38:38 -07:00
Adam Williamson
14942f86e7 Some safety around Discover maximize in desktop_update_graphical
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-08 15:58:11 -07:00
Adam Williamson
cf969061ce Wait for Discover to run before maximizing it
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-04 10:07:13 -07:00
Adam Williamson
be39c0e3a1 desktop_update_graphical: maximize Discover on launch
If there are too many categories, we don't see the Updates entry
on the left, and this has been breaking Rawhide and F36 tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-04 09:47:56 -07:00
Adam Williamson
375c7409af Drop another unnecessary release number condition
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-16 16:07:59 -07:00
Adam Williamson
a22d3b28b6 Drop a pre-F34 path for launching update tool on KDE
Before F34 we had to launch the update tool from the systray.
This isn't the case any more, so we can throw all this code and
these needles away.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-16 16:04:33 -07:00
Adam Williamson
06c66dcd30 desktop_update_graphical: explicitly check refresh on GNOME
OK, this is annoying. GNOME Software intentionally does *not*
clear the 'download' or 'reboot and update' button when you hit
the refresh button, it just leaves them sitting there while the
refresh happens. So let's specifically require the 'refreshing'
text to appear and go away before we try and click on download
or apply.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-18 13:51:33 -07:00
Adam Williamson
4dab8520b0 Bump the wait after hitting the Refresh button
Agh, GNOME's UI is *not* helpful here at all. The Apply button
remains visible for a long time after you hit Refresh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-18 11:24:07 -07:00
Adam Williamson
b17fd9c3fe desktop_update_graphical: always refresh
This is yet another twiddle to that same damn bit where we try
to apply updates. This more or less reverts the last tweak to
it, where we skipped hitting 'refresh' if 'download' or 'apply'
are already visible. The trouble with that is that the app may
have already found and prepared updates before we got our
"prepared" python3-kickstart update in place - so the update
operation might work perfectly, but not update the package we
expect it to update, and the test may fail.

This time, let's try *always* refreshing, then wait a bit after
hitting the refresh button before we start looking for apply
or download to try and avoid the 'race' we were trying to solve
with the last tweak (where we hit refresh then immediately try
to hit a download or apply button which vanishes before we can
hit it). I think this should be safe as both KDE and GNOME
should always show a refresh button now (this wasn't the case
before, I think, F34).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-18 11:15:10 -07:00
Adam Williamson
bc611d6975 Tweak the desktop update loop again to try and be more robust
I've seen some failures caused by a sort of race where both
'apply' and 'refresh' needles match at the first assertion, but
openQA "prefers" the 'refresh' match. So we click the 'refresh'
button and *immediately* check_screen for apply, which is still
visible...but by the time we go to click it, it's gone because
the refresh found something new and now it's showing "Download".
This tweak should help, because if we can 'see' both refresh and
apply at the start, we'll just go ahead and click apply, we
won't refresh. The logic becomes a little more obscure, but I'm
not sure I see a fix for that. At least until KDE's tool finally
settles down for two releases in a row and we might be able to
simplify this whole thing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-29 10:53:37 -07:00
Adam Williamson
0b45cd4adc Try and clean up desktop update needles a bit
The 'desktop_pacakge_tool_update-kde-detected' needles and
'desktop_update_notification_systray-kde' needles are actually
matching on exactly the same thing, so drop the redundancy. We
need to have the desktop_package_tool_update tag on the older
(F33) version of this needle because on F33 we click on it to
launch the update tool in the desktop_update_graphical test; from
F34 onwards this is *not* what we want to do so the needle should
not have that tag to avoid throwing the test off. When F33 goes
EOL we can drop that tag from the needle and simplify the
destop_update_graphical test. Also add a needle for the Discover
app's 'update' icon when no updates are found.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-14 12:32:27 -07:00
Adam Williamson
5d4cf014a2 Add a wait_still_screen to desktop_update_graphical for safety
Had some repeated failures where there's kind of a race between
Software doing some kind of auto-refresh and the test clicking
on stuff. This seems to help.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-28 15:04:37 -07:00
Adam Williamson
b9df4c4671 More fiddling with this goddamn KDE logic loop
Man, this thing can get into a lot of states. Apparently somehow
it can go straight from refresh to reboot?

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-30 12:50:32 -07:00
Adam Williamson
16ded56935 Add KDE package refresh needle, tweak retry logic a bit
KDE update was still often failing on #1943943, so this tries a
bit harder to work around it. We add a 'refresh' needle for KDE,
and tweak the 'retry' logic to click it if we get to that point.
Note adding the needle also changes behaviour slightly - we may
click this needle if we see it on first entering the screen. So
either change may be helping. Either way, this does make the test
more reliable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-30 12:27:34 -07:00