Commit Graph

216 Commits

Author SHA1 Message Date
Adam Williamson
4489a6cb3f Rejig GNOME welcome screen/g-i-s handling for GNOME 40
In GNOME 40, the new-user mode of g-i-s is gone and we get the
welcome tour where we would previously have seen that. This
should handle that, I hope. I probably messed up somewhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:54:06 -08:00
Adam Williamson
436e9cfdf2 Update GNOME 'getting started' needle and dismissal key
The new one isn't an app, so alt-f4 doesn't work. Esc does.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:38:52 -08:00
Adam Williamson
1308d104d4 Update F33 workarounds: drop one that went stable, add two
These two are for a couple of FreeIPA bugs that showed up today
and were worked out with pemensik and mreynolds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-25 23:48:48 -08:00
Adam Williamson
15503b76b9 Add fwupd updates as workarounds to fix GNOME Software crash
This periodically causes the desktop_update_graphical test to
fail.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-11 10:53:05 -08:00
Adam Williamson
0e534a3150 Allow tasks as well as advisories as workarounds
This will make my life a bit easier in the next hour or two.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-05 09:38:29 -08:00
Adam Williamson
b9cbd6f28f Complete separation of g-i-s next_button and start_setup
Previous attempt was incomplete, didn't actually handle the first
click.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-21 12:51:50 -08:00
Adam Williamson
fba4a82587 Make g-i-s Start Setup button needle its own thing
There's a race issue with just treating it as a next button: it's
not in the same place as a next button. Sometimes in the g-i-s
code we actually get ahead of ourselves and click early, which
isn't really a problem when the buttons are all in the same
place, but if we click "Start Setup" in the middle of transition
to the Privacy screen - as in
https://openqa.fedoraproject.org/tests/745034#step/_graphical_wait_login/4
 - the click effectively gets lost. So let's make it its own tag
and have the initial assert look for it too. That way we won't
match on it again in the main loop over "@nexts".

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-21 09:16:40 -08:00
Michel Normand
05cf6f03bc Increase from 120 to 180s delay for rescue_select
required at least for install_repository_hd_variation
test that failed systematically for ppc64le since a while
https://openqa.stg.fedoraproject.org/tests/980357#step/preinstall_iso_in_hd/17
https://openqa.stg.fedoraproject.org/tests/980357#next_previous

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-12-16 04:18:51 +01:00
Adam Williamson
c7a1b94c84 Enable aarch64 disk image testing, related fixes
This sets us up to test the release-blocking aarch64 disk images
(Minimal, Server and Workstation). It also allows for testing
armhfp disk images on aarch64 worker hosts (though my testing of
that isn't going too well so far), and fixes the initial-setup
handling for a change upstream ('use password' is now the default
so we don't need to choose it). We rewire disk image deployment
test loading to work through the generic loader code rather than
using ENTRYPOINT, as it allows us to more gracefully handle
graphical (Workstation) vs. console (Server, Minimal), moving
the code for handling console initial-setup to a helper function
just like the code for gnome-initial-setup and having _console_
wait_login call it when appropriate. We also tweak desktop_vt a
bit because now we need to switch from a console running as test
to a desktop, which breaks the assumption that the highest
numbered session of user test is the desktop...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-30 12:39:49 -07:00
Adam Williamson
e5f396a785 Drop workaround for fixed GNOME submenu bug
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2878 was
fixed (or just rendered obsolete by a change to how submenus
work), so we don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-15 15:36:09 -07:00
Adam Williamson
1c33d07d38 Drop workaround_ble26, bug was fixed months ago
https://pagure.io/background-logo-extension/issue/26 was fixed
months back, we don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-15 15:36:04 -07:00
Adam Williamson
db99e5462c Drop F33 FreeIPA update from workarounds, it went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-10 17:27:33 -07:00
Adam Williamson
9de75af60b Drop f33-backgrounds from workarounds (it went stable)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-09 16:57:21 -07:00
Adam Williamson
401ebecc10 Add F33 FreeIPA 4.8.10-5 update as workaround to fix upgrades
FreeIPA upgrade test is failing because of
https://bugzilla.redhat.com/show_bug.cgi?id=1886205. The test
failing every time is not useful as we know what the issue is,
so add the update as a workaround to avoid it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-08 11:28:10 -07:00
Adam Williamson
4fcea15610 Updates testing: add f33-backgrounds workaround
Add FEDORA-2020-27f80050a2 as a workaround because without it the
KDE desktop background test fails due to the bug in -6.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 12:40:27 -07:00
Adam Williamson
8d9684dd80 Update tests: don't install git any more
We were using it to checkout a git version of python-fedora to
work around a bug, long ago, but we don't do that any more so
we don't need it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 10:19:33 -07:00
Adam Williamson
aafe460f85 Update testing: drop all workarounds
They're all stable now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 10:09:59 -07:00
Adam Williamson
1fdf7cd567 Handle update build not having any packages for target arch
openQA sometimes winds up testing an update that doesn't have
any packages for x86_64 (or aarch64). The most common case is
s390utils, which is on the critpath but only has packages for
s390x. I would ideally like to skip scheduling entirely if the
update has no packages for the arch we're scheduling on, but
sadly that involves using the Koji API which is XML-RPC and I
don't really want to deal with that again. This deals with it
at the test level instead, by checking the error message if
`koji download-build` fails and carrying on if it's the "no
packages for this arch" error. That means if the update has no
packages at all for our arch we're not really testing anything,
but that's better than a bunch of false failures, I guess.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 09:49:03 -07:00
Adam Williamson
fb1bc1dad8 Add mock 2.6 to workarounds, drop kernel for F31 and F32
Kernel updates for F31 and F32 went stable so they can come out.
mock 2.6 fixes the bug that occurs when /etc/resolv.conf is a
dangling symlink - this breaks the live_build test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-17 16:40:53 -07:00
Adam Williamson
ee666d5f13 Add kernel 5.8.9 updates to workarounds (fix parted problems)
Kernel 5.8.8 broke the installer by changing return codes for
partition operations, these updates are listed as fixing it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-14 18:48:08 -07:00
Adam Williamson
d86960166d drop FEDORA-2020-2bef864cab as a workaround (it went stable)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-14 18:47:23 -07:00
Adam Williamson
0350977ba3 Update workarounds: drop stable one, add F33 FreeIPA upgrade one
The F32 FreeIPA update that changed the web UI has gone stable
now, so remove it. A pki-core update has just come out that fixes
F32 -> F33 FreeIPA server upgrade test: add this as a workaround
for F33 so that test stops failing on every update.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 14:13:29 -07:00
Adam Williamson
0999921fe3 Tweak detection of installed update packages
Previously we were relying on `rpm -q` always outputting the
right package last. We saw some test failures on recent kernel
updates, e.g. https://openqa.fedoraproject.org/tests/658768 ,
which indicate this isn't always the case; there the 'right'
package was second of three for kernel, third of three for
kernel-core and first of three for kernel-modules. So we need to
make it more robust. This uses an additional call:
`rpm -q $pkg --last | head -1` to find the most recent package,
if there are more than one; this should always be the right one,
I hope. Note we cannot just add `--last` to the `rpm -q --qf...`
call because the output when you do that is weird; you get the
output you'd get if you just called `rpm -q --last` first, and
*then* the query-formatted output afterwards (though with the
modified order as expected). There doesn't seem to be any way to
get only the latter.

I also tweaked the log uploading so we always upload the working
logs even when the test passes; it can't hurt anything and it is
sometimes useful to have them.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-08 14:03:23 -07:00
Adam Williamson
478b7eff9e Add initial CoreOS product and test templates
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-02 14:49:29 -07:00
Adam Williamson
b9f6ecd72d Conditionalize FreeIPA UI change, add 4.8.9 update to workarounds
The FreeIPA UI change that the previous commit adapted to is in
4.8.9. That's stable for Rawhide and F33 already, but still in
testing for F32, and won't go to F31. So we need to make the
change conditional on release number, and we also add the update
to workarounds for F32 so we don't have to do something awkward
while we wait for it to go stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-21 14:00:42 -07:00
Adam Williamson
2713ce60dd Add a new not-really-a-Next-button needle for gnome-initial-setup
In g-i-s 3.37.91, the first screen has a 'Start Setup' button
rather than a 'Next' button. Easiest thing for us to do here is
just to add a new needle which has the 'next_button' tag even
though it's clearly not a 'Next' button, because then the code
still works :) So do that, but give the file a suggestive name
and explain the situation in a code comment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-18 12:23:09 -07:00
Adam Williamson
8ee330b5d3 Add krb5 reversions for #1868482 to update workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-13 15:11:35 -07:00
Adam Williamson
0557a774ac Retry bodhi updates download a few times if it fails
It's failing about one in six tries currently, with Bodhi 5.5 on
the server end: https://github.com/fedora-infra/bodhi/issues/4105
this should work around that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-13 15:03:36 -07:00
Adam Williamson
41ddac0951 Drop all update workarounds
The ones that were in there are stable now, plus downloading them
is hitting a bug in Bodhi and breaking tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-13 07:55:05 -07:00
Adam Williamson
aa41fe4e4e Automate QA:Testcase_Zezere_Ignition
This is a bit complex to automate, because we cannot really use
the production Zezere server (provision.fedoraproject.org) as
the test case shows, as we'd have to solve authentication and
we also don't really want to constantly keep registering new
hosts to it that are going to disappear and never be seen again.

So, instead we'll do it by setting up our *own* Zezere, and
provisioning our IoT system in that. We run two tests. The
'ignition' test is the actual IoT 'device'; all it really does
is boot up, sit around, and wait to be provisioned. The 'server'
test first sets up a Zezere server, then logs into it, adds an
ssh key, claims the IoT device, provisions it, and connects to
it to create a special file which tells the 'ignition' test
everything worked and it can close out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-23 18:01:06 -07:00
Adam Williamson
15eae21722 start_with_launcher: adjust for new overview behaviour
The annoying submenus in the overview app list now scroll right
not down :/ have to adapt this function for that. Had to move
get_release_number earlier because perl ordering.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-09 15:54:33 -07:00
Adam Williamson
a3943dc307 Sigh, fix missing brace
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-09 14:31:44 -07:00
Adam Williamson
4a6cd8bcd5 Abstract out overview type-to-search bug workaround
And also use it in GNOME apps settings.pm test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-09 14:25:22 -07:00
Adam Williamson
6232be32cf Sigh, move menu_launch_type after get_release_number
Stupid perl.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-08 17:09:45 -07:00
Adam Williamson
2f93645a55 Workaround GNOME overview search box not active bug
See https://pagure.io/background-logo-extension/issue/26 - in
current Rawhide, the search box in the overview is not active
when the overview is opened, so you can't just open the
overview and type, you have to click it first.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-08 17:07:48 -07:00
Adam Williamson
7ee071ca08 Add g-i-s timezone bug fix updates as workarounds
This should avoid the bug happening in upgrade tests (I already
built the fix into the base disk image, which should avoid it
happening in other tests).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-24 09:31:40 -07:00
Adam Williamson
f96c14adc0 gnome-initial-setup: add one more check for that auth_required
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-17 08:17:49 -07:00
Adam Williamson
fd26d347fe Workaround unexpected authentication required dialog in g-i-s
https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106
This started happening after the data center move. Really not
sure why.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-12 12:28:18 -07:00
Adam Williamson
1b37200446 Work around GNOME Shell app submenu bug
See https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2878 .
GNOME 3.37.2 seems to have a bug with submenus in the app menu;
the first time you open one you can't scroll through it using
the keyboard. On every open after the first it works fine. This
is a quick and dirty workaround - when we're dealing with a
submenu, open it then close it then open it again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-11 16:00:56 -07:00
Adam Williamson
b59f875af1 Drop F32 workaround updates (both now stable)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-27 13:15:37 -07:00
Adam Williamson
acc46464f8 Revise release variable handling, prerelease checks, os-release
I started out trying to fix os-release for the recent change to
add "Prerelease" tags to the VERSION and PRETTY_NAME fields, then
things spiralled. It got me thinking about the awkward DEVELOPMENT
variable we use, so I decided to get rid of it and refactor the
few things that use it. I refactored the anaconda prerelease tag
check, and wrote a new giant comment that gives details about
exactly how anaconda decides whether to show those tags, to give
context to our choices about when to expect them. This check now
uses a new LABEL variable the scheduler now sets. I also wound up
creating new UP1REL and UP2REL vars to define the 'source' release
for upgrade tests, separate from CURRREL and PREVREL, which are
now never lies - they really are the current stable and previous
stable release, even for update upgrade tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-07 15:42:08 -07:00
Adam Williamson
8eaddd8c3d Set OfferToSaveLogins policy to false in Firefox config
This seems to work around the Firefox 76 bug with password entry
sometimes breaking:
https://bugzilla.mozilla.org/show_bug.cgi?id=1635833

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-06 13:25:46 -07:00
Adam Williamson
d66b185471 solidify_wallpaper: restore a wait_still_screen in GNOME path
The old code waited after launching the terminal, the new code
doesn't, which led to a 'g' being swallowed in the first command
in https://openqa.fedoraproject.org/tests/592759 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-05 10:19:31 -07:00
Adam Williamson
8866b5289e Fix solidify_wallpaper for KDE
The desktop check used the wrong case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-05 10:08:47 -07:00
Lukáš Růžička
61f845dbbf Make solidify_wallpaper more universal to handle different desktops. 2020-05-05 00:14:35 +00:00
Adam Williamson
ea9ac508ac Fix check_desktop variable timeouts
I forgot that tries was configurable. Sigh. Convert it to a
timeout argument.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-18 14:54:48 -07:00
Lukáš Růžička
f3d6a9574c Add desktop login test, revise and rename check_desktop
This adds a new test that implementsQA:Testcase_desktop_login
on both GNOME and KDE.

While working on this, we realized that the "desktop_clean"
needles were really "app menu" needles, and for KDE, this was
a duplication with the new "system menu" needles, because on KDE
the app menu and the system menu are the same. So I (Adam)
started to de-duplicate that, but also realized that "app menu
button" is a much more accurate name for these needles, so I was
renaming the old desktop_clean needles to app_menu_button. That
led me to the realization that "check_desktop_clean" is itself a
dumb name, because we don't (at least, any more, way back in the
mists of time we may have done) do anything to check that the
desktop is "clean" - we're really just asserting that we're at a
desktop *at all*. While thinking *that* through, I *also* realized
that the whole "open the overview and look for the app grid icon"
workaround it did is no longer necessary, because GNOME doesn't
use a translucent top bar any more. That went away in GNOME 3.32,
which is in Fedora 30, our oldest supported release.

So I threw that away, renamed the function "check_desktop",
cleaned up all the needle naming and tagging, and also added an
app menu needle for GNOME in Japanese because we were missing
one (the Japanese tests have been using the "app grid icon"
workaround the whole time).
2020-04-17 17:27:04 -07:00
Michel Normand
cc5c85a3e4 Increase timeout for getting_started ppc64le f32
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-04-03 19:38:04 +02:00
Lukáš Růžička
d19cf9553e Reneedle the Gnome Application StartStop tests. 2020-03-18 18:06:34 +01:00
Adam Williamson
e8ea8a7fe5 OK adam remember how we make an empty array? you got this buddy
I believe in you! We ALL believe in you!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 08:33:05 -07:00