1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-05 23:44:25 +00:00
Commit Graph

1016 Commits

Author SHA1 Message Date
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
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
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
Adam Williamson
8bc74fd5dc panel: also handle permission request for Clocks
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-14 13:54:37 -07:00
Adam Williamson
a678f783cb nautilus delete_file: correct name of second file
The second file that we delete and don't restore is called
evince.pdf these days.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-11 11:15:05 -07:00
Adam Williamson
0271642f61 Adjust _check_install_source for more changes in anaconda
Another message changed format a bit, and all the messages are
now showing up in syslog instead of packaging.log, so handle
all possibilities here. I had to split the first check into two
commands because I can't seem to make it work if I try and do it
all in one command with bracket groups :/

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-11 10:58:09 -07:00
Lukas Ruzicka
7291e3526e Create a test for Gnome Panel. 2023-04-06 15:50:43 -07:00
Adam Williamson
abf80ad384 tidy a recent change to characters test
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-06 12:58:48 -07:00
Adam Williamson
4fb87a077e Fix KDE media writer launch test
Typing 'mediawriter' doesn't work on Rawhide any more. 'media
writer' (with a space) works OK.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-06 11:23:57 -07:00
Adam Williamson
cb2f9ecee9 KDE doesn't show welcome tour on live any more, drop handling
We actually get a softfail because we're expecting it; now it's
been fixed not to show up, drop the code that expects it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-06 10:31:17 -07:00
Adam Williamson
85d28ce4ab characters: workaround text editor starting behind characters
We're constantly seeing this test fail on an odd problem where
text editor starts *behind* characters. To handle this, check
if we see text editor and if not, hit alt-tab.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-06 09:24:29 -07:00
Adam Williamson
d41ec1eb8a Calculator: drop the switch to basic mode
It always launches in basic mode anyway, and sometimes this key
press doesn't work right and leaves a stray 'b' in the entry
field, which messes things up when we get to the calculation
tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-04 09:14:14 -07:00
Adam Williamson
278b1e32b0 Make evince test handle #2183356 (wrong save target on flatpak)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-30 16:25:08 -07:00
Adam Williamson
7b2c9d3e45 live_build: temporarily drop a newly-added group in KDE kickstart
This group was only added to comps today, so it's not in the
comps in the rawhide repo yet (will be after next compose). The
Koji repo doesn't have normal comps so it's not there either.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-30 11:20:51 -07:00
Adam Williamson
594457dff0 Contacts test: wait before maximizing
Try and make sure maximize actually works - wait for still screen
after hitting Done and before trying to maximize.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-30 09:28:40 -07:00
Adam Williamson
637e9e4cfe Characters app copy/paste test: be more defensive
There's a failure mode we hit quite often where, when we run
the text editor after copying the character, it pops up *behind*
the character page. So let's close the page first. When we click
the 'Copy Character' button a notification that the character was
copied is briefly displayed and if we hit esc while it's visible
we dismiss *that* not the character page, so hit esc twice to be
safe. If we miss dismissing the notification, the 'extra' press
is safe, it doesn't quit the app.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-30 09:25:47 -07:00
Adam Williamson
6ae2e05484 Be a bit more defensive when setting admin pw in zezere server
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-29 15:45:17 -07:00
Adam Williamson
9251ac21fa Disable audit messages on ostree rebase tests on aarch64
Otherwise they tend to get into the output of the status command
and mess up the test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-29 14:29:52 -07:00
Lukáš Růžička
0075780ac5 Create test suite for Fonts. 2023-03-28 15:58:16 -07:00
Adam Williamson
7603b38dec Update _check_install_source for a change to NFS handling
A change to how anaconda handles NFS repos changed the log
messages we get when we use one. We may need further changes for
using NFS as a base repo when this change hits Rawhide nightly.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-28 10:26:34 -07:00
Adam Williamson
a6e5700854 Unset 'last time notification shown' setting for KDE (#2178311)
It looks like the desktop_notifications postinstall test on KDE
on F38 is failing currently because the notification is being
shown during the install_default_upload test that precedes it,
so KDE decides not to show it again yet. So, unset the setting
that stores the timestamp of the last time the notification was
shown. This is similar to a thing we already do for GNOME above.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-27 17:35:22 -07:00
Adam Williamson
5c62a909c8 Weather: handle app UI showing briefly before the access prompt
Exactly the same as the change for Maps from a few days back,
for the same reason.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-24 11:42:19 -07:00
Adam Williamson
8b19c9b3df rpmostree_rebase: use --bypass-driver
This is needed to force the rebase on current CoreOS (because it
has zincati registered by default). It should be harmless in all
other cases.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-22 22:59:21 -07:00
Adam Williamson
5572a73f61 Use pandoc-common instead of python3-kickstart for package tests
Reasoning:

1. pandoc is not in critpath so will not itself be tested
2. pandoc is widely used and actively maintained
3. package is noarch
4. package has minimal deps

Hopefully this will work for everything. For some reason, the
"use python3-blivet for pykickstart tests" fails mysteriously
sometimes, see e.g.
https://openqa.stg.fedoraproject.org/tests/2672282

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-18 09:44:02 -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
bac28124a0 _ostree_build: use koji-rawhide.repo in lorax command
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-18 08:37:01 -07:00
Adam Williamson
96118b4b60 Maps: handle app UI showing briefly before the access prompt
See e.g. https://openqa.fedoraproject.org/tests/1829593
sometimes we see the app UI briefly before the access prompt
appears. Handle that case by waiting a few seconds and doing
the match again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 09:19:35 -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
Lukas Ruzicka
0d4f3f4542 Fix a failing needle for Maps. 2023-03-13 13:39:22 +01:00
Adam Williamson
989bfd22db zezere: change secure cookie setting to 'no'
We don't use https in this test (no valid cert), so this has to
be 'no'.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-03 19:05:26 -08:00
Adam Williamson
750f26b43b graphical_input: also type hotkey on the *second* attempt
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-03 10:28:43 -08:00
Adam Williamson
282ecb6c32 Revert "zezere: tweak for web UI change"
This reverts commit 2fecb70468.
Sadly, clicking on the right menu entry...doesn't work. Let's
try going back to the old way, but add an 'enter' press once
the entry we want is selected.
2023-03-02 15:02:14 -08:00
Adam Williamson
2fecb70468 zezere: tweak for web UI change
The runrequest list is just a normal dropdown menu now, so we
can just click the thing we want.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 14:39:00 -08:00
Adam Williamson
20620236b3 Clean up minimal browser environment setup
Move the xauth disablement and the disabling of studies into
_setup_browser, instead of repeating it in a couple of other
places (but *not* doing it in the zezere test, where we should
be doing it). Drop some explicit package installs that should
no longer be needed as Firefox and/or X.org now depend on those
things. Install the current default fonts (Noto), not the old
ones (DejaVu).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 13:51:08 -08:00
Adam Williamson
0b2053b842 zezere: add expected 'secure_cookie' value to config file
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 12:53:33 -08:00
Adam Williamson
eadf23a516 Add an ugly workaround for FEDORA-2023-f6afa6f9e5 rebase issue
There's a weird issue with the rpmostree_rebase test for this
update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-f6afa6f9e5#comment-2919613
it doesn't reproduce locally (I can type fine after doing the
same things the test does up to the rollback) and I can't think
of any possible cause, and I don't want to hold the update up.
So we're just gonna work around it and hope this doesn't start
happening to all F38 update tests after this goes stable. If it
does, we'll have to do the workaround for all of them.

The workaround is just to rollback and reboot 'blindly', instead
of checking the rollback command works. The drawback is that if
the rollback command fails we'll wait 7.5 minutes before giving
up on it, and it'll be a bit less clear exactly what happened.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 10:16:52 -08:00
Adam Williamson
a984674e9b add an 'esc' to krfb startstop test to deal with a dialog
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-01 14:10:00 -08:00
Adam Williamson
6aa52fc3cb Drop similarity level on a wait_still_screen with a cursor
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 15:06:07 -08:00
Adam Williamson
8e68c385d3 Just *always* expect a welcome tour now
Plasma 5.27.1 is going all the way back to F36 (in
FEDORA-2023-d7dcc38129), so we'll have a welcome tour on both
desktops we actually test on, on all supported releases. So we
can just drop the desktop conditional entirely here now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 09:41:46 -08:00
Adam Williamson
9a0ef37a25 Revert "Update live install tests: handle awkward install ordering"
This reverts commit 56936df7a5. It
was a lovely idea, but forgot that the 'matching update version'
check doesn't actually use the allpkgs.txt list...
2023-02-22 15:55:24 -08:00
Adam Williamson
56936df7a5 Update live install tests: handle awkward install ordering
There's this awkward path for the live image install tests on
updates. We run the 'are the correct versions of all the packages
installed' check on these tests to ensure the right versions
actually made it onto the live image. So we don't run
`dnf -y update` at the end of repo_setup_updates on that path,
because if we did that, even if the packages on the live image
were old, we'd update them there and hide the problem.

However, this causes a bit of an ordering issue, because in
order to set up the advisory repo, we need to install a few
packages. What if the update under test includes one of those
packages, or a dependency that wasn't already installed? In
that case, we wind up with the older stable version of the
package (because obviously we can't install the newer version
from the advisory repo *before we've set up the advisory repo*),
don't update it later, and so the 'correct version' check at
the end of the test fails. See:
https://openqa.fedoraproject.org/tests/1778707 for a case of
this happening with a python-cryptography update.

Up till now I was trying to handle this by just updating the
specific packages we install, but that doesn't account for
*dependencies* of them. I looked down the path of trying to
generate a list of all those dependencies and update all of
them but it looks a bit mad. So instead let's try this. On that
specific path, we'll generate the "all installed packages" list
*before* we run repo_setup, so it just doesn't include anything
that gets installed during repo_setup. The implementation is a
bit icky but not too horrible.

We *could* just *always* generate the all installed packages
list earlier, but then that would mean we *wouldn't* catch dep
issues in this kind of package on the other test paths, whereas
currently we do. I don't want to lose that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 14:54:18 -08:00
Adam Williamson
66a899d797 Expect KDE welcome screen on F37 too
5.27.1 is going to F37, and adds it. In the short term this
will waste a minute and a half and cause soft fails on all other
F37 updates until the update that adds this goes stable, but
I don't really feel like working around this, let's just live
with it till the update goes stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 14:11:07 -08:00
Adam Williamson
822af3d025 graphical_input: try typing 'hotkey'
OK, neither 'input' nor 'keyboard' actually gives us the Keyboard
pane, they both give results for uninstalled apps from Software
:(. 'hotkey' (which is one of the keywords in the .desktop file)
does seem to work, for now at least, let's try that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 13:57:33 -08:00
Adam Williamson
b1dfcfdd3d Contacts: handle menu changes in 44
Contacts now has two burger menus, which is awkward. We need
specific needles to identify each, we can't rely on the generic
needle any more as it won't always open the right menu. We also
need to still work with the old UI for the flatpak.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 12:38:02 -08:00
Adam Williamson
a99178732a desktop_notifications: handle KDE welcome screen on lives
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:28:28 -08:00
Adam Williamson
b9500536cc Make the changed handle_welcome_screen conditional clearer
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:22:59 -08:00
Adam Williamson
ddb3f44c57 Extend handle_welcome_screen to cover new KDE welcome tour
KDE has a welcome tour now, on F38 and Rawhide at least. Let's
"handle" it with extreme prejudice...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:16:13 -08:00