1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-27 16:13:09 +00:00
Commit Graph

2793 Commits

Author SHA1 Message Date
Adam Williamson
fb0f407e03 Add a cockpit logs_entry_detail variant needle
For a while, it seems like the test was often hitting a message
where the field we match on isn't actually visible because a lot
of other fields are shown first. So, add a variant needle that
matches on a different field, the message ID.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 16:41:55 -07:00
Adam Williamson
1a53351188 Update Japanese needles for some font change in Rawhide
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 16:41:05 -07:00
Adam Williamson
3cd5963b10 disks: also authenticate when unmounting
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 15:45:57 -07:00
Adam Williamson
89fa04661f Disks: workaround partitions sometimes being mounted after format
https://github.com/storaged-project/udisks/issues/1102 - udisks2
seems to have a bug where it leaves filesystems mounted at a
"temporary" mount point after creating them. We need to work
around this when it happens or else we'll frequently get test
failures.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 15:15:02 -07:00
Adam Williamson
efc2f8ae36 _live_build: workaround util-linux-user problem for KDE live
util-linux-user subpackage was removed but comps wasn't updated.
I've fixed comps now, but that won't "kick in" until after the
next Rawhide compose; we need to workaround the issue until then.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 09:26:58 -07:00
Adam Williamson
3462050cf7 _live_build: drop some workarounds we shouldn't need any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 09:24:55 -07:00
Adam Williamson
37bd56033d nautilus: adjust keyboard shortcut page navigation
As recommended by @mclasen in
https://gitlab.gnome.org/GNOME/gtk/-/issues/5831#note_1743386 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 16:09:04 -07:00
Adam Williamson
ea42516280 Update blivet part_boot-inactive needle
This is needed to make the LVM resize test work properly...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 15:46:00 -07:00
Adam Williamson
280139db2b Add some more variant 'website opened' needles
These hit low-90% matches when run on the F38 respins for some
reason, just add another variant...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 15:45:10 -07:00
Adam Williamson
b1e975a21f anaconda: end install immediately if we see the error screen
If install errors out, currently we still wait like an hour for
an "install_done" screen that will never come, before we give
up. Since we have a needle for the "unknown error has occurred"
screen, we may as well use it here - if we see that screen, we
can just die immediately. This may go stale if we forget to
update the needle, but it's only one line, so meh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 15:40:02 -07:00
Adam Williamson
0e6553f4d1 Tweak LVM partition scheme needles a bit
In https://openqa.fedoraproject.org/tests/1938847 , we wound up
doing an LVM thinp install when we meant to do a regular LVM
install, because LVM was already highlighted (for some reason)
in the scheme list, and the "LVM" needle is narrow enough that
it matched on the start of "LVM Thin Provisioning".

To avoid this, we make the match area in the existing needle
wider so it can't match on "LVM Thin Provisioning", and add an
alternate needle for LVM when it's highlighted.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 14:42:23 -07:00
Adam Williamson
c9deb243cd Restore anaconda_blivet_part_inactive_boot tag
It's needed for install_blivet_resize_lvm to work properly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-16 11:13:29 -07:00
Adam Williamson
e297cf89d8 Add another Maps needle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-12 17:22:29 -07:00
Lukas Ruzicka
e211a87fc7 Create a test suite for Disks. 2023-05-12 17:05:44 -07:00
Adam Williamson
3781b2796d Update several needles for changes in GTK 4.11.2
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-11 16:56:19 -07:00
Adam Williamson
12fa854527 Add a variant archiver file needle
I don't know exactly why this sometimes shows up highlighted and
sometimes unhighlighted, but hey, it's not wrong either way, so
we just handle it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-11 16:54:41 -07:00
Adam Williamson
108e234d66 Add a variant nautilus needle that showed up in respin testing
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-11 16:52:50 -07:00
Adam Williamson
b7264c3902 Try giving aarch64 VMs more RAM to see if it helps
desktop tests are very very fail-y on aarch64, with all kinds of
random failure cases. I suspect the worker hosts are just *slow*,
but they do have plenty of RAM per worker instance, so let's try
throwing a bit more RAM at each one and see if that helps at all.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-05 09:05:32 -07:00
Lukas Ruzicka
e06c3f5ced Replace QEMUVGA with QEMU_VIDEO_DEVICE 2023-05-04 10:12:50 -07:00
Adam Williamson
d4136392d4 Old needle cleanup 2023-04-28
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07: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
1effed1069 Drop unused branch and needle in desktop_login
We never hit this path without a system menu button any more,
due to changes in KDE over time. It hasn't been hit for two years.

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
c7e0af6e8c Simplify blivet_btrfs_preserve_home, drop unneeded needles
There's no need to do all this 'check whether it's selected and
click it if not' stuff (for three different mount points). Just
always click it. If it's already selected, clicking it again
doesn't hurt (one of these stanzas even clicks it *even if it's
selected*!)

If we need to cover both cases, we just need two needles with
the same tag, we don't need separate code paths. In each case,
though, we actually haven't matched one of the needles for ages
(the most recent was part_boot_selected, but now we're using
GPT by default, we won't hit that any more as it'll be the BIOS
boot partition that's selected by default), so delete the needles
we aren't matching any more. If we *do* hit any case where we
need to handle the 'other' state, we can just add the alternative
needle with the same tag.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
73e9c5c27e Drop a check for ext4 filesystem already selected
This has not been hit for a year (on stg; three years on prod).
I *think* it would only be hit if we ran the test on an Everything
image, but as the test is now specifically associated with the
Server install DVD, that doesn't seem likely to happen.

If we somehow *do* hit ext4 pre-selected again, this can still
be handled simply by adding an alternate
anaconda_blivet_part_fs_ext4 needle which matches on ext4 already
being selected; that avoids the need to keep an alternate code
path around.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
b62d832c3a cockpit updates: drop the security branch, update 'ignore' needle
This branch is very fragile, because the test won't fail if we
miss the match on the security needle. So in practice, we are
never going to notice when the needle goes stale, and we'll just
wind up never triggering this branch and always going down the
other path. That's the current situation: the security_install
needle last matched more than a year ago at least. Let's just
admit the truth here and drop the branch entirely.

Also update the cockpit_updates_restart_ignore needle. This is
in a similar case - we don't really notice when it goes stale,
as the test completes, it just takes a bit longer - but since
this one is quite easy to find, let's just update it instead of
dropping it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
9199f8a0f0 Drop gnome-contacts softfail for "Unnamed Person" problem
This was resolved upstream and we're no longer hitting this bug
in tests on F38, Rawhide or even F37 respins, so we should no
longer need this workaround.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
7dece68ae6 Drop old branch of gnome-text-editor 'skins' test
This is never hit any more, everywhere we run this test is on
the newer code now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
1de9d7fa34 Drop click_unwanted_notifications (and associated needle)
It looks like neither of these has been a problem for some time.
The notification needle has not matched for a year. The akonadi
needle doesn't exist any more - it was cleaned up in the 2021
needle cleanup, meaning it hadn't matched for weeks in 2021. I
checked the last several months of KDE app start/stop tests and
don't see any case where there was a stray notification that we
missed. So I think we can just ditch this whole mechanism for
now; if we have problems with these notifications again in future
we can put it back.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
51e7b28978 Correct 'grant_access' needle name in several tests
Several tests still had the old 'apps_run_access' name which we
changed some time ago, so these safety checks weren't working.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
039f3c265e Drop a useless check_screen (needle missing)
This check_screen always fails, because the needle doesn't exist
and never has - the commit that added the check_screen didn't
add a matching needle. In every run of the test I've checked from
the last two months, the initially-selected filesystem is always
xfs anyway. Let's just drop the check_screen conditional and
always expect we have to set the correct filesystem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
ae40eea065 Drop another no-op workaround (Japanese in g-i-s)
For several releases now, the 'new user mode' of g-i-s is just
gone: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/12
so this whole path where we used to be able to set up Japanese
input methods on first boot after install doesn't work any more.
We had to set up a whole different route to set the input method
via control center instead (which lives in _graphical_input).
This block is never reached any more, and the needles for it were
cleaned up in 2021.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
73abc9de67 Drop KDE branch of start_with_launcher
Since 022865ab we do not use start_with_launcher on KDE any more.
The needle for it has since got lost in an unused needle
cleanup. Let's just drop this branch for now; we can add it back
if we ever need it again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Adam Williamson
88f422a38f Drop a no-op workaround (needle hasn't existed since 2021)
The needle that backs this workaround was dropped in the 2021
needle cleanup, so it's never worked since then. I checked, and
no aarch64 tests seem to be failing on this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:14 -07:00
Adam Williamson
2909451887 Add missing Kontakt 'enable_unified_mailboxes' needle
The last one of these was deleted during the last needle cleanup,
but we do actually still occasionally hit the dialog, e.g. in
https://openqa.fedoraproject.org/tests/1837435/modules/kontakt/steps/3
so let's add an updated version of the needle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:14 -07:00
Adam Williamson
5cab5ec565 Move most 'universal' tests to Server-dvd-iso
The 'universal' flavor has been kinda pointless for some time
now. It dates back to the earliest days of openQA, before Pungi
4 was a thing, when composes were very different; we only built
a boot.iso and some live images nightly for Rawhide, these
weren't even formally grouped as a 'compose' at all (fedfind had
to invent the concept). The TCs/RCs had DVD installer images
(not *Server* DVD, at the time, just a universal DVD installer).
We wanted to run some tests on the DVD image if it was available,
but we still wanted to run them for the nightlies, so we invented
a whole mechanism for that - this 'universal' flavor, with some
complicated logic in fedora_openqa which schedules universal on
the 'best available' image it can find in the compose.

All this is functionally obsolete now. All composes we test are
now run through Pungi (except the live respins, but they aren't
relevant here). In current config, the Server DVD is non-failable
on x86_64 and aarch64, which means it will *always be there* -
if it fails to build, the compose itself fails, so we won't test
it. It's failable for ppc64le, but we don't care that much about
ppc64le; I'm fine with these tests just not running if the Server
DVD happens to fail in a ppc64le compose.

As a cherry on top, some of the 'universal' tests aren't really
universal anyway, they fail if you run them on a netinst (off
the top of my head, all the NFS install tests are like this, as
we use the ISO to populate the NFS share on the server end).

So let's just move all the tests that actually need an installer
image to the Server-dvd-iso flavor. Left over in the 'universal'
flavor are upgrade tests, which don't need an ISO at all - they
boot from hard disk images and run an upgrade using repos. We
can change the scheduler logic to be more simple for these, and
just always schedule them, with no ISO attached. We could even
rename this flavor 'upgrade', but it might not be worth it.

One slight complication is that the split happened to be helping
us avoid too many tests in a single support_server cluster; we
have a cluster of five support_server tests on Server-dvd-iso
and five support_server tests on universal. I try to avoid the
clusters getting too big as you need as many worker instances on
at least one worker host as your largest cluster; if you don't
have that many, the cluster's tests simply never get scheduled.
Requiring folks to have at least ten worker instances on one
host to run these tests is a bit of a big ask. So, to handle
that, we create a support_server_2 and have the former universal
tests use that one instead, so we'll have two separate clusters
on Server-dvd-iso now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-03 16:29:38 -07:00
Adam Williamson
0c633e132c Drop 32-bit ARM stuff from templates
We no longer build 32-bit ARM images and we hadn't had a working
setup for testing them for years anyway.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 17:07:20 -07:00
Adam Williamson
e89ec3017a Update serial console handling for upstream changes
Upstream https://github.com/os-autoinst/openQA/pull/4973 requires
us to poke things here a bit. This only works with the newer
os-autoinst and openQA (there may be a way to conditionalize it
to work with both, but I can't be bothered figuring it out, let's
just update).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 12:24:26 -07:00
Adam Williamson
0f781bdaf2 Robustify the scrolling in the Help app test
This keeps failing on the accessibility section, and looking at
the screenshots I realized why. When you press 'down', GNOME
doesn't just 'snap' to the new view, it does a smooth downward
scroll. We're often matching *while it's scrolling*, so the
needle match is right at the bottom of the screen. But then the
animation continues, so when we get to the click action (even
though we use click_lastmatch it's not *instant* in openQA),
the thing we're trying to click (the "Accessibility" section
title) is a bit further up the screen, and the click 'misses'.

So, we need to wait out the scroll then re-assert and click.
This unfortunately will make the test take about 30 seconds
longer, but I don't see another way to do it. We could maybe
shave the wait_still_screen to one second...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 09:37:02 -07:00
Adam Williamson
651590f3df Drop match levels on some older layout needles too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-26 23:00:13 -07:00
Adam Williamson
c0787d8f8d Drop match level on the new Russian needles a bit
This makes them match in Shell as well and saves us more needles,
I hope.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-26 18:19:58 -07:00
Adam Williamson
e3b0211689 Update multiple needles for GNOME 44.1 changes
That grey background that's used in a lot of places changed
shade slightly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-26 17:46:56 -07:00
Adam Williamson
8744042e32 Update Nautilus needles for changes in GNOME/GTK file selection
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-25 11:30:26 -07:00
Adam Williamson
de7f018632 Update Archiver needles for changes in GNOME/GTK file selection
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-25 11:29:36 -07:00
Adam Williamson
a2a3ba8790 Add another variant Evince file select needle for Flatpak
For some reason the file can be highlighted/selected in blue as
well as grey. Well, whatever.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-25 10:26:31 -07:00
Adam Williamson
5ab7fc505c Update several Maps needles for OSM changes
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-25 10:20:56 -07:00
Adam Williamson
9935c42afb Update a couple of GDM needles for change in GNOME Shell 44.1
I think the shade of grey on the background changed. We'll
probably need more needle updates for the compose tests (the
desktop_login test and different languages), but this covers the
update tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-25 10:08:00 -07:00
Adam Williamson
7860f32b96 Give podman a bit longer to install
It's taking quite a while in Rawhide ATM, seemingly due to a
scriptlet in a dependency.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-22 16:35:22 -07:00
Adam Williamson
853ed17664 Handle app appearing before access request in gnome-panel test
Similar to the dedicated tests for these apps, the app can appear
for a split second before the access request, so we match on the
app and don't realize we need to click through the access
request. Handle this the same way we do in the dedicated tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-22 11:03:00 -07:00
Adam Williamson
da3f9df5b7 _check_install_source: more fixes for upstream changes
anaconda is really kicking log messages around lately.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-14 14:04:51 -07:00