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

695 Commits

Author SHA1 Message Date
Adam Williamson
02136a80e1 utils.pm: drop some stuff unneeded after F35 EOL
and associated needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 14:34:34 -08:00
Adam Williamson
6f0478d4b4 gnome_initial_setup: drop a <35 conditional that's not needed
F34 is EOL for a while.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-13 14:34:34 -08:00
Adam Williamson
6e9213f4b7 Drop use of _ADVISORY_REPO_DONE, always use file tests
This is safer if the advisory stuff was done on a previous test
run. Hilariously, this exposed a dumb mistake I made years ago
in installedtest.pm and never noticed before: the calls to
advisory_* at the bottom of that file are meant to be in the
post_fail_hook, but they weren't, which meant they got called
by the scheduler. This didn't cause any failures because the
first line caused them to return immediately based on a get_var
call (which it's OK to do in the scheduler), but changing it
to a script_run call (which it's *not* OK to do in scheduling)
caused all the tests to blow up immediately and confused me
*a lot* until I spotted this!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-12 08:53:02 -08:00
Adam Williamson
7429b438fd Don't update system in repo_setup on update install tests
When I enabled _advisory_post for live and ostree install tests,
the point was to check that updated packages were included in
the install media and used during installation. We shouldn't run
a system update in _repo_setup_updates on this path because it
will hide the problem if the updated packages weren't included.
The INSTALL variable is for this purpose - it was previously
used to skip _advisory_post on the same path. At the same time
let's remove some stray settings of this var on non-update tests
as it serves no purpose there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-09 13:07:15 -08:00
Adam Williamson
5698525cc7 Enable the buildroot repository for Rawhide update tests
Per discussion at https://pagure.io/fedora-ci/general/issue/376
it really feels like this is the right thing to do. There are no
buildroot overrides for Rawhide, so we don't have to worry about
cross-pollution. The buildroot repo only contains builds that
have been tagged stable since the most recent Rawhide compose,
and thus will go into the next one. It makes sense to test later
updates against these. This avoids issues like:
https://openqa.fedoraproject.org/tests/overview?distri=fedora&version=38&build=Update-FEDORA-2022-30a952e331&groupid=2
where the tests of an update failed because it requires another
update which had been submitted and tagged stable previously, but
after the last compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-08 14:28:09 -08:00
Adam Williamson
e45473103f Upload appropriate logs on ostree_build failure
Also use get_var("TEST") for installer_build - no point trying
to upload these logs for the other tests in the same flavor,
they won't be there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-03 11:17:17 -08:00
Adam Williamson
ba88dac325 Handle chunked ADVISORY_NVRS_N settings
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-01 15:52:20 -08:00
Adam Williamson
03b6663339 Add tests to build a Silverblue installer image and install it
This is like the existing tests that build network install and
live images then install them, only for Silverblue. First we
build an ostree, using the standard configuration for the release
and subvariant but with the 'advisory' and 'workarounds' repos
included, so it will contain current stable packages plus the
packages from the update and any workarounds. Then we build an
ostree installer image with the ostree embedded, again including
advisory and workarounds repos in the installer build config so
packages from them will be included in the installer environment.
The image is uploaded, which completes the _ostree_build test.
Then an install_default_update_ostree test runs, which does a
standard install and boot from the installer image.

We do make a change that affects other tests, too. We now run
_advisory_post on live image install tests, as well as this new
ostree install image install test. It was skipped before because
of an exception that's really only needed for the netinst image
install test. In that test, packages from the update won't be
included in the installed system, so we can't run _advisory_post
on it. But for ostree and live image build/install tests, the
installed system *should* include packages from the update, so
we should check and make sure that it does.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-30 13:17:28 -08:00
Adam Williamson
173bdef5cb Revert "Try and get more detailed Firefox logs from startx"
This reverts commit f424e5bac5. It
never actually worked, and the Firefox-dying bug seems to have
magically gone away recently.
2022-11-25 12:13:08 -08:00
Adam Williamson
c9191b0d4a disable_firefox_studies: don't run twice, skip uploads
There's no need to run this twice (which can happen on some
paths), so if the first file already exists, just bail. Also,
don't bother uploading the config files any more - that was just
for debug while I was making this stuff work, now it works, and
this saves some time.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 11:39:39 -08:00
Adam Williamson
9d8a35ed39 cockpit: don't try and get admin privs when re-logging in
There's one point in the tests where we may log into cockpit for
the second time in one run (it depends how a package update
process goes). When this happens, we don't get prompted again
for admin access, so we need to *not* expect that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 11:24:52 -08:00
Adam Williamson
2c6e1ec76b post_fail_hook: give dnf -y install tar a bit longer
It seems to time out a lot on lab but not on prod, for some
reason. Let's just give it a little longer.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-25 11:12:46 -08:00
Adam Williamson
b388c6fc94 cockpit: enable admin mode after logging in as test
Sigh, this is a pain and adds more fragile needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-18 17:24:15 -08:00
Adam Williamson
0646dc64ad cockpit: log in as user 'test', not root
From 280, the cockpit package disabled logging in as root by
default. We could wipe that config file, but it seems better to
respect the default config and log in as the admin user 'test'
instead of as root.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-18 16:34:55 -08:00
Adam Williamson
c9924ecdeb Drop workaround which went stable two weeks ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-18 13:19:48 -08:00
Adam Williamson
946411cba4 Add layer-shell-qt workaround to make KDE work on Rawhide again
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-02 11:04:37 -07:00
Adam Williamson
c1d676e6ae Drop a workaround that went stable weeks ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-11-02 11:04:19 -07:00
Adam Williamson
b5c8a8d5f7 Fix tell_source
OK, that last commit was just, uh, wrong.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-28 12:06:57 -07:00
Adam Williamson
31826f7938 utils: simply and robustify tell_source
This is simpler if we just always lowercase $iso, plus it saves
us when somebody (*cough*) messes up the casing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-28 11:57:33 -07:00
Adam Williamson
6b341097f2 Add some missing underscores to a variable check
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-22 14:10:13 -07:00
Adam Williamson
b84125d4f5 Replace scratch build override for mock with official update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-18 09:21:54 -07:00
Adam Williamson
b6fdb4c3fa Add a mock build that works as root to Rawhide workarounds
mock 3.2 does not allow running as root. This breaks the live
image build tests. It's being reverted upstream, this scratch
build has the reversion backported.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-17 07:18:40 -07:00
Adam Williamson
9f1c136c37 Clear pushed workarounds for Rawhide
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-17 16:17:43 +02:00
Adam Williamson
1c819304d2 F38 workarounds: replace desktop-backgrounds with f37-backgrounds
desktop-backgrounds update went stable, but we also need an
f37-backgrounds update which was only just submitted to fix the
problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-08 23:13:33 +02:00
Adam Williamson
6b31f622d8 Add podman update as Rawhide workaround
podman tests are currently failing for all Rawhide updates. Not
sure what triggered this, but this update seems to fix it, though
it's failing its own test suite so not yet being pushed stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-08 10:25:47 +02:00
Adam Williamson
fb774a7326 Rawhide workaround: desktop_backgrounds with symlink fix
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-10-07 18:55:14 +02:00
Adam Williamson
59c52453fe Fix an erroneous result of over-enthusiastic sed'ing
Whoops.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-27 23:46:55 -07:00
Adam Williamson
7675e99fcc Make internal state marker variables upper-case
We use variables to track test state across modules, sometimes.
As this is all internal to the test logic I didn't bother always
making these variables upper-case, but os-autoinst now treats
lower-case variables as a fatal error, so we have to change.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-27 23:18:42 -07:00
Adam Williamson
4b516b6b31 Drop Rawhide workarounds that are now stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-15 18:14:11 -07:00
Adam Williamson
2b79d59379 Disable updates-testing during upgrade_preinstall
This issue appeared when we started testing Rawhide updates, but
I only noticed it today. When testing Rawhide updates after
Branch point, the upgrade tests upgrade from Branched to Rawhide.
On Branched, updates-testing is enabled by default. We only
disable it when we reach `upgrade_run`, but by that point we've
already done a `dnf -y update` in `upgrade_preinstall` and
potentially installed other packages in steps between
`upgrade_preinstall` and `upgrade_run`. That can cause problems,
like today all FreeIPA upgrade tests on Rawhide are failing
because there's a newer freeipa in updates-testing for F37 than
is in the current Rawhide compose.

Solve this by disabling updates-testing before we do the update
in `upgrade_preinstall`. To avoid excessive code duplication,
factor out the repo disabling code.

We'll do this twice on upgrade tests now, but it shouldn't be a
problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-15 10:18:26 -07:00
Adam Williamson
0a411bd8e1 Add python-jwcrypto as workaround for F38
FreeIPA replica tests broke in today's compose, this solves it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-14 15:32:55 -07:00
Adam Williamson
f424e5bac5 Try and get more detailed Firefox logs from startx
When we run Firefox directly on X lately, we often hit a bug
where X just suddenly exits in the middle of doing stuff in
Firefox. I'm not sure if this is a bug in X or in Firefox (if
Firefox crashed, X would immediately exit). Let's see if this
helps get any info on what's going on with Firefox.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-09 13:08:47 -07:00
Adam Williamson
aa73342380 Remove FEDORA-2022-2beaa02bb4 workaround
It's stable now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-04 08:38:33 -07:00
Adam Williamson
f81f3fea14 Add FEDORA-2022-2beaa02bb4 as Rawhide workaround (#2121952)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-27 12:36:15 -07:00
Adam Williamson
7bbec4c6bb Drop a workaround for 38 that went stable 3 days ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-27 12:29:58 -07:00
Adam Williamson
6d5c0c723e Add latest FreeIPA as a workaround for Rawhide
samba-client-libs with an soname bump made today's Rawhide, a
freeipa rebuilt against it did not, so we need this in overrides
or all FreeIPA tests fail on all Rawhide updates.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-24 12:09:32 -07:00
Adam Williamson
2c7d6b53db Drop a no-longer-needed workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-24 12:08:49 -07:00
Adam Williamson
87a0edf0fc Use rpm-ostree usroverlay for Firefox config on rpm-ostree
Editing the files under /ostree/deploy doesn't work on Rawhide
any more because it's been made read-only. Thanks to Timothée
Ravier for pointing out this way of doing it, which is better
anyway and avoids awful quotation issues in the code.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-19 00:20:36 -04:00
Adam Williamson
e9f5378df5 Remove some F37 workarounds that are in current compose
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-13 10:13:51 -07:00
Adam Williamson
51eed16128 Add g-i-s with fixed page skipping as f37 workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-13 00:20:39 -07:00
Adam Williamson
71a7b8f60d Drop several F37 workarounds that went into Branched compose
This should ease space pressure on some tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-12 01:14:28 -07:00
Adam Williamson
fc11917a01 Add f37-backgrounds and desktop-backgrounds as workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-11 10:26:30 -07:00
Adam Williamson
2807410dd8 Add interdependent samba, sssd and freeipa updates as workarounds
A samba update was pushed for F37 without rebuilds of sssd and
freeipa (which needed to be rebuilt against it). Tests of any
of those updates on its own will fail, so including them all as
workarounds so the tests for each should work. I'll make sure
they all get pushed stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-09 12:12:56 -07:00
Adam Williamson
8ede32a76c Give workaround download longer
the webkitgtk workaround is large. 3 minutes isn't long enough
apparently.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-08 15:34:30 -07:00
Adam Williamson
8fc2f71df9 Add new webkitgtk build as workaround for file conflict issue
The file conflict between older webkit2gtk4.1-jsc and new
javascriptcoregtk4.1 is causing all Workstation update tests to
fail on all Rawhide updates. This new version of webkitgtk adds
obsoletes to javascriptcoregtk4.1 which we hope should fix it.
Adding the x86_64 build directly as other arches aren't done
yet, and we only run the Workstation update tests on x86_64
anyway.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-08 12:05:09 -07:00
Adam Williamson
45c25b2e6c Drop workaround that's now stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-08 12:04:37 -07:00
Adam Williamson
f5946e678c Make update testing more robust for very large updates
openQA choked badly on
https://bodhi.fedoraproject.org/updates/FEDORA-2022-6256981a71
because it's, well, huge - 87 builds including texlive, which
has hundreds (thousands?) of subpackages. This exposed several
frailties against such updates.

First of all, we set NUMDISKS to at least 2 for *all* update
tests, which should mean they all stash the RPMs from the update
on a non-system disk and avoid problems with space exhaustion.
After that, just extend a few timeouts in particularly fragile
places, including one which is specific to texlive (as I don't
know of any other source package with so many subpackages).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-08-02 11:29:21 -07:00
Adam Williamson
e195f9d79a Add dogtag-pki that works with new python-ldap as workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-29 09:47:05 -07:00
Adam Williamson
dbe7f567d8 Drop FreeIPA workaround for Rawhide (it went stable)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-29 09:46:38 -07: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
ad5eb54715 Add FreeIPA update as workaround for F37
We need this FreeIPA rebuild for Rawhide update tests to pass.
Can drop once it's in a compose.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-26 14:39:33 -07:00
Adam Williamson
73a07f38aa Drop now-stable FreeIPA workaround for F36
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-26 14:38:27 -07:00
Adam Williamson
e8543a1764 Add freeipa-4.9.10-2.fc36 as a workaround for F36
F35 to F36 FreeIPA server upgrade test is failing because the
latest F36 package is lower-versioned than the latest F35
package, and FreeIPA's upgrade scripts are written to fail if
this is the case. The update bumps the F36 NVR to be higher
than the F35 one.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-18 11:12:57 -07:00
Adam Williamson
f80e42fd32 Drop mesa workaround for F36, it's stable now
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-18 11:12:40 -07:00
Adam Williamson
cf352a4e3e setup_workaround_repo: explicitly install koji
bodhi-client should depend on it, but technically since we have
code that calls `koji` directly here, we should probably also
include it in our install anyway, so not marking this as a
workaround.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-14 11:46:12 -07:00
Adam Williamson
4d9831efcc Add mesa update that fixes kwin crashes as workaround for F36
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-14 11:14:43 -07:00
Lukáš Růžička
1f8b56e068 Change the way to download test data.
This PR changes the way to download the test data into the VM.
Although it does not use a disk image as suggested in one
of the review, it does not clone the entire repository, but
a simple tar.gz file that holds the data which will be
distributed into the directory structure.

This way, the amount of data needed to be downloaded dropped
from approximately 50MB to below 2MB.

Also, the existing test suites were adapted to this situation.
2022-07-04 09:34:04 +02:00
Adam Williamson
a6eb9024cf do_bootloader: bootloader is always grub on F37+
Now we've ditched syslinux in Rawhide, we should just always
expect to see grub if release number is > 36.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-06-17 16:58:34 -07:00
Lukáš Růžička
7637238951 Add some extra steps for KDE to overcome BZ2097208. 2022-06-15 10:35:57 +02:00
Adam Williamson
4971de39e9 Tweak quit_firefox to handle hang on exit on ppc64le (#2094137)
It seems when we quit Firefox back to a VT on ppc64le, the system
hangs. Not sure why, but we can deal with it by rebooting the
system and logging back in as root if it happens. Also take the
opportunity to clean up the flow of quit_firefox so we always
check that we get back to a console then wait 5 seconds for the
console to settle, so all the tests that call it can stop doing
that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-06-06 18:35:52 -07:00
Adam Williamson
e1ed9960f3 Let _console_avc_crash wait a bit longer for console login
On Rawhide update tests we often don't seem to get to the login
prompt in 10 seconds, so tweak the code a bit to let us specify
a timeout in root_console, and use 30 seconds here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-06-06 18:34:44 -07:00
Adam Williamson
4ee583ad43 Bump a console login timeout a little
After typing the username, on some Rawhide tests, it's taking
over 30 seconds for the password prompt to appear. This isn't
ideal but we don't want the test to fail on this. Give it up
to 45 seconds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-06-01 09:04:34 -07:00
Adam Williamson
56b443176a tapnet: don't double-declare @forwards
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-26 14:49:57 -07:00
Adam Williamson
21e4ded350 Fix disable_firefox_studies for ostree installs
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-26 09:25:07 -07:00
Adam Williamson
919ade3152 Tweak the Firefox config override stuff again based on research
Wow, so the real way to do config overrides is, uh...obscure.
One file pointing to another file, both with mandatory comment
lines and one with a weird required value. Wat. Anyway, this
works in a VM. I still don't know why the policy for the first
run page isn't working as advertised.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-24 23:49:31 -07:00
Adam Williamson
d236ea2cfb Fiddle with firefox welcome screen disabling again
The new way isn't working, so put the old way back but change it
to use user_pref instead of pref to see if that helps, and upload
the files for checking.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-24 23:20:23 -07:00
Adam Williamson
3f74203003 Fix missing quote in Firefox policy JSON
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-24 16:54:00 -07:00
Adam Williamson
1f7ac82ca1 Set script_run_die_on_timeout distri-wide
This is required for script_run invocations in current
os-autoinst to tell it what to do if script_run times out, rather
than failing or succeeding (this behaviour was always undefined).
Right now you just get a deprecation warning but at some point
not setting it will be fatal. This tells it to die if script_run
times out; 0 would mean "just keep going, even though the
terminal is probably still blocked waiting for the command to
return".

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-24 16:52:13 -07:00
Adam Williamson
1e8a82f0e1 Try different way to disable Firefox 'welcome pages' (mkaply)
Thanks to Mike Kaply in
https://bugzilla.mozilla.org/show_bug.cgi?id=1703903#c18 , this
should avoid Quick Suggest onboarding, "Total Cookie Protection"
onboarding, and future annoying things using the same mechanisms
without using the prefs mechanism or going after each one case
by case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-24 08:28:31 -07:00
Adam Williamson
f3e4750f6e Fix line wrapping in firefox config override
Missed a line break...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-20 23:41:26 -07:00
Adam Williamson
7ee3a91ffc Try and disable yet another Firefox popup that breaks tests
See https://bugzilla.mozilla.org/show_bug.cgi?id=1703903#c9 and
comment #13 for this one.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-19 14:54:54 -07:00
Adam Williamson
a5433c823d Quick fix for get_host_dns when resolv.conf points to resolved
The Fedora infra workers got changed so their resolv.conf doesn't
have the correct DNS server addresses in it any more, it just
has 127.0.0.53 (the systemd-resolved resolver address). We need
to query resolved to get the correct addresses.

This is quick and hacky; it doesn't accommodate anyone running
a worker host that *isn't* using resolved, and it doesn't handle
IPv6 server addresses correctly if any are present (in infra we
currently don't use any on the worker hosts). I'll try and find
time to refine it but need to deploy this for now to make the
tests pass again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-18 18:05:26 -07:00
Adam Williamson
01c2962f41 Note when #1933118 workaround can be removed
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-13 17:07:14 -07:00
Adam Williamson
a629020a9b post_fail_hook serial path: log the entire journal
When we're logging via the serial console when a test fails and
no network is available, we only log the journal from the current
boot. But we might well need to see messages from previous boots.
So let's just log the whole journal.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-11 16:13:52 -07:00
Adam Williamson
3db92ef976 Cockpit updates: wait a bit after hitting up key
Otherwise we race between the needle match and the screen scroll
update, and can click the wrong thing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-04 17:02:05 -07:00
Adam Williamson
05af76265f Handle Firefox 100 disappearing scrollbars in Cockpit update test
The Cockpit update test relies on scrolling the Cockpit left bar
to find the Software Updates page, but in Firefox 100, the scroll
bars disappear shortly after the last time you moved the mouse.
To deal with this, instead of looking for a scroll bar to scroll,
we'll click the search box in the left bar and hit 'up' to scroll
it to the bottom.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:15:02 -07:00
Adam Williamson
c0255c5682 Revert a change accidentally included in previous commit
So it can be re-applied separately with correct message.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:14:00 -07:00
Adam Williamson
954b6f90bc Update variant anaconda layout needles for F36 RCs
We get these variant needles with the keyboard icon and layout
name at slightly different relative vertical positions every
time we do a Final RC. I think the layout is affected by the
pre-release warning text no longer being present. Usually each
cycle something changes with the icon or with font rendering,
so the needles have to be updated, as in this case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:10:09 -07:00
Adam Williamson
94520bb7a8 Drop similarity_level on type_safely
I meant to include this in the earlier commit that does the same
for type_very_safely, but forgot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-16 11:14:50 -07:00
Adam Williamson
7bf3bd8689 Drop similarity levels on type(_very)_safely, solidify_wallpaper
I noticed today that we're timing out all the time on these
wait_still_screens in gnome-terminal, because it uses a big
flashing cursor and the similarity between "cursor there" and
"cursor not there" is less than 45 or 42 (it seems to be 38.x).
So let's drop these levels to 38, hopefully that's not too low.
There are probably more places where this is an issue, I'll
change them as I notice them.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-14 16:32:29 -07:00
Adam Williamson
ad1d656124 Drop F36 kwin workaround, should not be needed any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 18:31:37 -08:00
Adam Williamson
8fab101745 Use lower similarity_level for some terminal wait_still_screens
We can't use the default similarity_level for wait_still_screen
when there's a flashing cursor - flashing cursor will always
cause the similarity level to be too low and the wait will just
time out at 30 seconds. Cut it to 42.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 10:31:06 -08:00
Adam Williamson
abd1d1a698 check_desktop: handle GNOME showing inactive button briefly
check_desktop tries to catch when the overview is open and close
it. But with GNOME 42, it seems the inactive "Activities" button
is shown briefly on login before GNOME opens the overview. If
check_desktop catches that, it will think the overview isn't
open and it doesn't need to do anything. So if we match on first
cycle through the loop, let's wait_still_screen then match again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 10:24:48 -08:00
Adam Williamson
c5e6d80684 Fix escaping in the caret workaround
So these kind of things go through perl *and* bash string
interpretation and the escaping can get pretty wacky. Turns out
we need *eight* slashes here to get four through to bash (which
we need to deal with *sed*'s escaping rules), and it only works
in single quotes for some reason, not double quotes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-25 14:05:10 -08:00
Adam Williamson
371cb1c6eb Work around RPM caret bug when checking advisory packages
There's a bug in rpm where doing `rpm -q [NVRA]` doesn't work
if the NVRA contains a caret. To make it work you have to add
a literal slash character before the caret character, so we add
a sed command to do that, when we're checking whether packages
from the update actually got installed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-25 13:07:46 -08:00
Adam Williamson
1417f1023e Add kwin scratch build to fix RHBZ #2047503 as an F36 workaround
Scratch build because we don't have a single-build update with
the fix, it's likely gonna be included in the 5.24.2 megaupdate.
I don't want to use that whole thing as a workaround, so I did
a 5.24.1 scratch build with the fix instead.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-23 13:09:22 -08:00
Adam Williamson
815fc3a758 Drop workarounds that already went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-23 13:08:13 -08:00
Adam Williamson
c33b137e88 Tweak desktop_vt tty detector a bit
The intent is that if the ps check finds nothing we'll use the
loginctl output, but that doesn't work because script_output
doesn't return the output if the script fails. There's an arg
you can pass to make it do so, but let's just make it always
succeed instead, by adding a ||: to the second grep like we have
for the first.

Also, I noticed this problem because the ps check started not
working on F36 KDE because none of the processes we check for
are shown as running on a tty, so let's add one more that *is*
shown as running on a tty...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-22 16:54:03 -08:00
Adam Williamson
628c4a5d8f Try and disable Firefox "quick suggest onboarding" thing
Tests that use Firefox started failing recently because Firefox
grew yet another stupid pop-up thing that *might* show on start
up, this appears to be trying to get you to sign up for a
feature called "quick suggest". After half an hour trawling the
relevant code, this is my best guess as to how to turn it off.
Don't know for sure if it works because the thing doesn't pop
up every time, but it at least doesn't make things worse.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-07 12:06:23 -08:00
Adam Williamson
c95bb4306d Remove duplicate needle in anaconda_help test
We check the same screen twice with two different needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-04 15:47:21 -08:00
Adam Williamson
afbb62d514 Add F34 qt5-qtwayland update to workarounds to fix crashes
KDE tests are failing on all F34 updates ATM due to
https://bugzilla.redhat.com/show_bug.cgi?id=2049560 , add the
update to fix it. Also drop 33 from the workarounds hash as it's
EOL.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-03 16:31:34 -08:00
Adam Williamson
ec83223ed1 Replace 389-ds-base workaround scratch build with official update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 14:07:05 -08:00
Lukáš Růžička
fe8306d2cd Implement distribution methods to replace the testapi defaults.
This PR adds implementations of distribution methods to make them
usable on Fedora. It adds the following methods

* ensure_installed (to install packages)
* become_root (to switch to root account)
* script_sudo (run script with sudo)
* assert_script_sudo (run and assert a sudo script)

It also adds a helper script to the utils.pm

* make_serial_writable

that makes the serial console writable for normal users
and so enables to run commands that check their progress
by sending messages to the serial console. Normally, they
fail, because the messages will not be written their, so
the checking mechanism will never see them.
2022-01-27 21:44:35 +00:00
Adam Williamson
9c225c5b40 Add 389-ds-base scratch build to fix RHBZ#2047323 to workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 12:49:30 -08:00
Adam Williamson
a1e20088b6 Drop now-stable update from F35 workarounds list
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 12:48:54 -08:00
Adam Williamson
5296ff8114 Add selinux-policy-35.11-1.fc35 as workaround for bad .10 update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-19 09:48:28 -08:00
Adam Williamson
8e414cc469 Handle anaconda giving users admin by default in Rawhide
As of today's Rawhide compose, user accounts added in Rawhide
have admin privs by default. For now we need to handle both
possibilities here (click the box if it's not clicked already);
after F35 EOL we can just drop all handling of that box.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-18 11:36:06 -08:00
Adam Williamson
3a9dfb6a58 Drop remaining workaround update (it went stable two months ago)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-11-11 08:52:45 -08:00
Adam Williamson
ff8603b96e Give KDE Desktop Settings window a few seconds to stabilize
Rawhide had a failure today where the dropdowns moved between
us matching and clicking, so we clicked the wrong one:
https://openqa.fedoraproject.org/tests/1005662

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-29 09:52:59 -07:00
Adam Williamson
9f15350a99 Allow g-i-s longer to start up (with a soft fail) (#1997310)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-16 15:18:47 -07:00
Adam Williamson
9882ddcaa5 Robustify and tweak switch out of overview on GNOME boot
This fails sometimes just because we're too early, or something.
Also with GNOME Shell 41rc, alt-f1 no longer works to open and
close the overview. super *does* seem to work in KDE these days,
so let's switch from alt-f1 to super everywhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-07 11:05:55 -07:00
Adam Williamson
81c0a861d6 Add FEDORA-2021-9677463ae9 as a workaround for F35 update issues
This will hopefully resolve desktop_update_graphical failures on
Workstation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-01 14:49:37 -07:00
Adam Williamson
bc7deabd24 Drop workaround update that's stable now
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-27 17:19:13 -07:00
Adam Williamson
f56b6c6c2a Add FEDORA-2021-41d8b36cd2 as workaround for RHBZ #1996901
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:53:21 -07:00
Adam Williamson
0b5746248f Drop some update workarounds that went stable already
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:52:27 -07:00
Adam Williamson
453053f4ed gnome-initial-setup: work around #1997310 (GOA screen missing)
There's a bug in current F35/Rawhide which causes the GOA screen
in g-i-s not to show up. Since failing on that will block a lot
of testing, let's handle it as a soft failure.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:14:22 -07:00
Adam Williamson
5661d3c1a7 Handle Software screen making a comeback in gnome-initial-setup
It's back from the dead! In F35+, anyway.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-23 12:45:35 -07:00
Adam Williamson
4c19ed1723 Add FEDORA-2021-0192369fd9 as a workaround for F35 update tests
This should fix FreeIPA server deployment failure.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-20 11:41:07 -07:00
Adam Williamson
803ae7ca57 Add a test of an additional repository using a metalink (#198)
As suggested by @kparal, this adds a test that specifies an
additional repository using a metalink. The repository contains
a single package, 'testpackage', that supplements glibc (so it
should always get installed). The test runs an install then
checks that testpackage got installed.

We also deduplicate a pair of needles which were matching on the
same anaconda UI feature (an "add" button) and use that same
needle in this test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-18 14:03:27 -07:00
Adam Williamson
440377b2a4 Log df -h and free -h output on anaconda failure
To see if we're stuck because we ran out of memory or disk space.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-13 09:33:38 -07:00
Lukáš Růžička
b65f470eee Create basic functions tests for Gedit. 2021-08-12 15:37:37 +02:00
Adam Williamson
492fcf62e4 Great Needle Cleanup 2021
Remove a whole chunk of needles that haven't matched for more
than 3 months. Also move a few needles to appropriate locations,
simplify some code chunks that relied on removed needles (if
we're not matching the needles, we don't need those chunks any
more), and drop some other no-longer-needed conditionals for
older releases.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-10 11:57:48 -07:00
Adam Williamson
a9f54e9a50 Try to avoid a race in GNOME check_desktop
We can match on apps_menu_button_active before the overview has
totally loaded in, and it seems the alt-f1 press can be dropped
in that case. Add a wait_still_screen to try and avoid that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-05 11:22:25 -07:00
Adam Williamson
05c793179a Add a fingerprint login test (GNOME only) (#223)
This adds a test for fingerprint-based login, as requested by
@benzea in #223. We use the fprintd dummy device to let us
simulate scanning a fingerprint, and check various scenarios
recommended by @benzea.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-03 15:21:33 -07:00
Adam Williamson
bdb107b472 Add check_help_on_pane back to anaconda.pm exports
It was inadvertently when rebasing a recent PR.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-21 12:18:31 -07:00
Lukáš Růžička
395ed61a1a Automate the Anaconda_Save_Traceback_to_Bugzilla_Text test case.
This PR adds a new test that automates the above mentioned test case.
It starts the installation in text mode using the `install_text` test
case, which it interrupts using the Anaconda crash trigger.
When the crash happens, it goes through the process of reporting
the bug to Bugzilla, checks that Bugzilla sends a positive
confirmation of the action, but also performs some REST API
calls to do a proper check and then it closes the bug to clean up.
2021-06-17 16:28:29 -07:00
Adam Williamson
20c1f20880 F34 update workarounds: drop systemd, add jpegxl
This systemd update went stable ages ago. But now we need to add
a jpegxl update as a workaround to avoid KDE live build tests
failing on the problematic aom->jpegxl-libs->gimp dependency
chain I identified yesterday. It makes KDE live builds pull in
too many packages and fail because they run out of space.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-16 09:20:34 -07:00
Adam Williamson
f91b21dec9 anaconda_help: try a wait_still_screen after install_destination
Still hitting a fail sometimes on the spoke after Installation
Destination, when anaconda is still sorting things out and the
test tries to do stuff too fast. e.g.
https://openqa.stg.fedoraproject.org/tests/1206252 . See if this
helps.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:09 -07:00
Adam Williamson
2583f18c05 anaconda_help: check for screen change when entering spoke
Otherwise if it lags a bit we might try and click the Help!
button on the hub, and if that happens before anaconda has caught
up, we won't open Help at all.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:09 -07:00
Adam Williamson
3364732110 anaconda_help: tweak nonlive needle handling, add waits, tabs
Some fixups for anaconda_help. Two runs of it failed today around
handoff from the root password screen to the install progress
screen; add a couple of wait_still_screens there to make it
safer. Drop the added nonlive needles, because they're too
permissive, causing problems for other tests (they're matching
before they should); instead we solve the problem of spokes being
highlighted by just pressing shift-tab a few times. And fix some
tabs to be spaces.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:06 -07:00
Lukáš Růžička
c6d443a20f Automate the QA:Testcase_Anaconda_help.
This PR automates the mentioned testcase to test that Help can be
displayed in Anaconda during the installation. It navigates through
the available Help screens and if it can see it, it finishes.

This test runs after `install_default_upload` to override the
installation defaults defined for all primary tests.

Delete a duplicated needle.

Reformat list extensions to make it nicer.

Get rid of wrong export and an empty line.

Delete empty line.

Use _boot_to_anaconda for booting and move subroutine accordingly.

Add variable to templates.fif.json

Delete trailing whitespace.

Fix calling the pretest.

Move help checking to another place.
2021-05-27 21:39:26 +00:00
Adam Williamson
c9609cf26d Drop bypass_1691487 function and usage (bug seems fixed)
Per https://bugzilla.redhat.com/show_bug.cgi?id=1691487#c14 it
seems like the bug here got fixed along the way and we probably
don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 09:02:52 -07:00
Lukáš Růžička
114610bf90 Rewrite Modularity tests to use Perl only.
The Modularity tests rely on an external script to test the modular
behaviour of DNF. There is a potentional risk that the connection
is be down and the script cannot be downloaded.

This enhancement uses a regular OpenQA perl test case script to only
invoke DNF commands and parse their output to test the same behaviour
that we have been testing already.

This enhancement picks a random module for each of the operations,
and thus tries to mimick reality a little bit more.
2021-05-03 19:13:09 +00:00
Adam Williamson
48cee79928 Always wait_still_screen after hitting Update Settings
It can take anaconda a bit of time to think about things, so we
should wait before plowing on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-17 14:19:20 -07:00
Adam Williamson
05dfbef1a8 Update Activities button handling for latest GNOME
Make the 'deactivate overview if it's active' thing a bit more
robust by asserting the inactive state after deactivating it,
and add new needles for the new RC (text got a bit brighter).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-16 17:24:08 -07:00
Adam Williamson
c44e7fb869 Update F34 workarounds: drop stable ones, update systemd
Drop Firefox and NSS updates which have been stable for a while,
update the systemd one to the latest which should hopefully
finally workaround the DNS issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-12 18:34:08 -08:00
Adam Williamson
12de9331c5 Revert "Ditch the systemd workaround build for now"
This reverts commit e23df39ee1,
putting the systemd workaround back in place, now we know how to
avoid the bug it causes. It's going stable tomorrow anyway, but
I want to re-run failed tests with the fix right away. Used the
update ID this time, not the build number.
2021-03-08 14:24:24 -08:00
Adam Williamson
21385361ed F34+: disable systemd-oomd during update install (#1931034)
This will avoid us hitting a crash in systemd during update when
systemd is being updated. That's a real bug and it's good that
it's been caught, but we don't want unrelated updates to fail on
this just because systemd is in the update set.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-08 14:01:46 -08:00
Adam Williamson
e23df39ee1 Ditch the systemd workaround build for now
It's causing crashes on update. I tried making us do an offline
update in repo_setup, not online, but that's actually quite hard
to implement so I'm not gonna do it on a Friday night. We'll
just live with unreliable _live_build for a bit longer.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 18:22:13 -08:00
Adam Williamson
52a862aae9 Add scratch build for #1933433 as a workaround
I'm hoping this should fix the intermittent _live_build failures.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 13:24:30 -08:00
Adam Williamson
540f667c1d Drop F34 workaround updates that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-05 13:23:59 -08:00
Adam Williamson
1e5d767fa3 Handle GNOME 40 now starting at overview, not desktop
For consistency, let's just return to the desktop right away. We
also need to handle closing the overview before running installer
on live image boot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-04 16:03:21 -08:00
Adam Williamson
42d41a9419 Correct last commit
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-03 23:43:53 -08:00
Adam Williamson
c91e682d09 solidify_wallpaper: try to avoid clicking anything in the menu
When we right-click then left-click, we should move away from
the menu to avoid actually clicking anything in it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-03 20:03:59 -08:00
Adam Williamson
25214b7ff7 Add the kde-settings update that fixes XDG dirs as a workaround
It's gone stable, but we haven't had a compose yet. Adding it as
a workaround so I can just revert the workaround for the bug
(see previous commit).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-03 15:11:02 -08:00
Adam Williamson
b71693e4d1 Add Firefox 86 to F34 workarounds (#1927972)
desktop_browser fails frequently on F34 KDE due to #1927972. The
new version should avoid that problem, adding it as a workaround
to hopefully make the test more reliable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-02 17:42:18 -08:00
Adam Williamson
6b4b452521 Drop 32 and 33 workarounds, add 34 FreeIPA fix as workaround
Add FEDORA-2021-263244c071 as a workaround to fix FreeIPA tests
on F34. Drop current 32 and 33 workarounds as they're all stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-01 17:03:50 -08:00
Adam Williamson
7c6188c087 Workaround KDE bug accessing desktop settings (#1933118)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-25 10:53:33 -08:00
Adam Williamson
09a0f19e36 Try and split 'g-i-s done' and 'welcome tour done'
They're not always the same, and it's breaking things on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 17:58:58 -08:00
Adam Williamson
81d6db802f ...yup, I durn goofed. Share properly, kids!
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-18 09:56:34 -08:00
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
940848b628 Use 'test.openqa.fedoraproject.org' not 'domain.local'
Using .local is apparently Bad Form because it's reserved for
mDNS. However there doesn't appear to be any particularly Good
Form for what to call a test domain you never want to exist
outside of a closed system, apparently. Sigh. Let's try this.
Includes a bump to disk_ks version because the kickstarts on
that image also need to have this change applied.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-15 14:40:30 -08:00
Adam Williamson
1c692ef6d6 Add a wait to custom_change_fs
Otherwise we can immediately match 'fs is already selected'
for the *previously selected* fs before the UI updates and exit
without actually changing the fs of the intended partition.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-04 16:15:33 -08: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
f51a804357 Handle emergency console entry with no password
This happens on ARM disk images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-28 15:21:03 -07:00
Adam Williamson
cfb226d3fd Simplify anacondatest root_console to always use tty3
Rawhide KDE lives now have the desktop on tty2, and the installer
environment tty3 now has a shell (in Ye Olde Times it didn't, not
sure when that changed but it's the case at least back to F31).
So let's make our lives simple and just always use tty3 here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-26 09:21:53 -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
94b47afc53 Tweak setup_tap_static and FreeIPA tests for resolved
This does some of the things suggested by cheimes in
https://bugzilla.redhat.com/show_bug.cgi?id=1880628#c24 . It
seems to make the replica tests work with resolved, still work
with pre-F33 resolving, and not break anything. Also remove the
workaround to disable resolved if it's running, as we can now
work with it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-09 16:54:46 -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
e89de5fffb Bump a timeout a bit for aarch64
Seems like 10 seconds here isn't always long enough for aarch64,
so bump it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 15:21:17 -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
170ef0733a Use nmcli for static network stuff, not ifcfg files
This should work even if the ifcfg plugin is not present (hi,
CoreOS) or 'predictable' (har) network names are on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-09-02 14:49:29 -07:00
Adam Williamson
527cb63152 post_fail_hook: upload PostgreSQL init log if it exists
Why...why...WHY is this not in /var/log. Sheesh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-25 16:18:32 -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
72edbfe991 Use qemu host IP 172.16.2.2 not 10.0.2.2
This is to make the infra folks happy, apparently using 10.0.x.x
and 10.1.x.x is causing conflicts since our actual infra network
uses those ranges too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-23 16:40:45 -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
f70b8ec943 post_fail_hook: don't try ctrl-c on serial console
Can't do that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-07 17:35:32 -07:00
Adam Williamson
ddea8e2169 post_fail_hook: hit ctrl-c if 'dnf -y installer tar' gets stuck
This happens in the iSCSI install test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-06 16:38:12 -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
2e21cfac15 Update cockpit needles and select_cockpit_update for 220
In Cockpit 220, the Updates entry is off the bottom of the screen
so we need to scroll the left bar down before we can click it.
Also update some other needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-30 10:27:20 -07:00
Lukáš Růžička
4d4b2d7739 Finish the post review changes. 2020-05-28 13:32:42 -07:00
Lukáš Růžička
b5169e602b Use existing needles for fs selection. 2020-05-27 15:54:10 -07:00
Lukáš Růžička
9efb0e10e6 Create a test to resize LVM partitions using Blivet. 2020-05-27 15:54:09 -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
e67d3e7c01 Drop similarity level on Cockpit login screen wait_still_screen
We have a flashing cursor, folks.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-05-06 12:58:59 -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
Adam Williamson
dc7b7a7241 Great Needle Cleanup 2020
Remove a bunch of needles that have not been used for some time,
plus a few workarounds that are similarly stale.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:10 -07: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
Adam Williamson
8832c5b81e Add FEDORA-2020-5f05c3ec46 as a workaround to fix FreeIPA upgrade
FreeIPA F31 -> F32 upgrade test is currently failing because
a new pki-core hit F31 stable but not F32 stable yet. It can't go
backwards on upgrade, that breaks stuff. The F32 update has been
pushed stable but just hasn't made mirrors yet as the last F32
nightly compose failed, so let's add it to the workarounds for
now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 08:18:11 -07:00
Adam Williamson
d9438e8042 Drop workaround updates that have been pushed stable
Except one that's pushed stable but hasn't made repos yet (as the
last F32 nightly compose failed).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 08:17:00 -07:00
Adam Williamson
5fdf0041cf Bump another blivet timeout
Seems 5 seconds isn't long enough to wait here on aarch64, the
previous dialog hasn't always cleared by then. See e.g.
https://openqa.stg.fedoraproject.org/tests/753802

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-11 17:43:23 -07:00
Adam Williamson
3444d2f959 Try and fix blivet test fails caused by too-early OK click
We seem to quite often get a failure in the blivet_lvmthin test
here which seems to be caused by trying to click 'OK' while the
'Device type' menu is still changing state or something. Let's
throw in a little delay.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-11 17:22:26 -07:00
Adam Williamson
5c6ee14ed3 Add F32 backgrounds update as an update test workaround
So at least GNOME background test passes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-06 21:51:32 -08:00
Adam Williamson
e7c6501737 Extend update test workaround mechanism to upgrade tests
To cover cases like #1767351 where we need to apply a workaround
to the pre-upgrade environment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-06 19:21:44 -08:00
Adam Williamson
9df8fdb00e Drop workaround package that's gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-06 12:54:16 -08:00
Adam Williamson
884f71bb81 Revert "Workaround #1805553 (single disk not selected as install target)"
This reverts commit adf3f91818.
The bug has been fixed in anaconda, so we can drop this, which
is good as it has timing issues producing false positives on
Rawhide...
2020-02-26 14:30:08 -08:00
Adam Williamson
3d29d7b746 Add efivar update for F32 as workaround to fix UEFI update tests
This is pending stable, but looks like the update push won't
happen for a few hours, so I'm adding it as a workaround so we
can re-run the tests and get them to pass.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-26 12:48:17 -08:00
Adam Williamson
8e43dfa304 Drop F31 workaround that's gone stable, add F32 lmod workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-25 17:40:22 -08:00
Adam Williamson
adf3f91818 Workaround #1805553 (single disk not selected as install target)
Rawhide seems to have developed a bug where a single disk is no
longer automatically selected as the install target when you
enter the INSTALLATION DESTINATION spoke. We need to work around
this (but register it as a soft failure).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-20 17:41:34 -08:00
Adam Williamson
1eb4e3dca5 Add perl syntax check test, add it to CI
Inspired by openQA's 01-compile-check-all.t, this adds a perl
test which checks the syntax of main.pm and all lib and test
files, and hooks it up to CI. Requires os-autoinst and
perl-Test-Strict.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-13 15:28:09 -08:00
Adam Williamson
66e53feb4d Update workarounds (drop update now stable, add F31 libdnf fix)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-05 02:51:37 -08:00
Adam Williamson
0a4a787c03 Give Firefox longer to start
It seems to take a long time sometimes for some reason. Can't
pin it down but it's causing test flakes, so let's just let it
be. It *may* happen when chrony adjusts the system clock just as
Firefox is starting, for some reason.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-22 10:40:46 +01:00
Adam Williamson
d236c48152 Doh, fix stray quote mark from last commit
Where did I leave my brown paper bag...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-16 18:57:17 +00:00
Adam Williamson
1098450fd6 Pull in F30 Cockpit 210 update as a workaround
Otherwise the new cockpit main screen needle match fails, because
'machine' is not on the top part of the screen.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-16 18:51:40 +00:00
Adam Williamson
ba40ba3e4a Drop #1663050 workaround (fixed a while ago)
This block is kinda weird, but I don't want to fiddle with it
any more right now. I don't know why we do this check_screen
exactly like this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:41:41 -08:00
Adam Williamson
0714143673 Drop a stray old comment and move a debug block up
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:34:58 -08:00
Adam Williamson
fc93309b41 Drop _assert_and_click shim
We're on newer code on both deployments now, no longer needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:22:20 -08:00
Adam Williamson
dba4e8c57d Drop old version conditionals
We're well past 27 now...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:20:44 -08:00
Adam Williamson
fcb06a874c Drop no-longer-needed update workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:18:54 -08:00
Adam Williamson
0926be0520 Drop similarity level on a flashing cursor wait_still_screen
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-08 15:31:32 -08:00
Adam Williamson
478a55f057 Drop one more mention of wait_idle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-03 14:20:18 -08:00
Adam Williamson
34dc2751a5 Replace remaining wait_idles with sleeps
wait_idle is finally removed upstream in recent git os-autoinst.
This replaces all remaining wait_idles with sleeps, except for
one which is removed (I'm hoping improvements to typing in the
last few years should mean it isn't necessary any more, if it
turns out to be, I'll put it back as a sleep).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-02 17:44:45 -08:00
Adam Williamson
501b4bccc8 Fix 'clear' after login in French
...because it comes out as 'cleqr'. Note, this may be fragile if
we start doing more stuff post-install, but for now I think it's
safe, I don't *think* we should ever hit this after running
`loadkeys us`.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-14 09:17:34 -08:00
Adam Williamson
de2c44e7ae Work around Lmod bug in KDE update packages, with new mechanism
It seems like the situation where we need to pull an update from
updates-testing into all update tests to work around some known
issue is going to keep happening. So instead of constantly
adding and then entirely removing bespoke lines for each specific
workaround, let's have a permanent mechanism for doing this: a
hash with release numbers as keys, and arrayrefs of update IDs
as values, and a block to call `bodhi updates download` on the
appropriate array for the release under test. This way, to add
or remove a workaround you just update the hash. If we're at a
point where *no* workarounds are needed the %workarounds hash
can be made entirely empty (it must exist, though) and the code
will be a clean no-op.

The actual workaround here pulls in Lmod updates I just sent out
to work around this issue in one of the KDE update tests:

https://openqa.fedoraproject.org/tests/497160#step/base_update_cli/11

there's some code in Lmod that gets sourced in bash profiles
which breaks openQA's `validate_script_output` by blurping two
lines of informational output into the output of the script.
The update backports a change from upstream Lmod master that
sends that informational output to stderr instead of stdout.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-11 12:02:21 -08:00
Adam Williamson
c9ae9c4d67 Drop SELinux and NSS update workarounds (went stable)
All these updates have gone stable now, so we no longer need
these workarounds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-10 18:12:13 -08:00
Adam Williamson
3511a5b57b Replace jss workaround with selinux and nss workarounds
The jss updates all went stable already. Now we have a problem
with SELinux, upower and container-selinux (we need a newer
selinux-policy to avoid upower failures in the services_start
test, but the first attempt to fix it caused the desktop_updates
test to start failing because container-selinux needed adapting
to changes in selinux-policy...let's just pull in the updates
with the latest versions of both to be safe), and one with NSS
that causes Firefox to give false certificate errors sometimes
(this is particularly affecting the FreeIPA browser test). As
usual these should be dropped once the updates go stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-06 11:51:07 -08:00
Adam Williamson
e8802935f9 Tweak text_console_login match area
On Rawhide Cloud_Base boots, there's some SSH key and network
information printed above the 'login:' prompt, so we can't
expect empty space there. Also tweak console_login() to clear
the screen after logging in, so the login prompt is cleared and
doesn't confuse things on subsequent runs (like it did first
time we tried this). And add a new user logged in needle, as it
seems after we clear the screen the tilde appears in a slightly
different position and the existing needle doesn't match.

https://openqa.fedoraproject.org/tests/489003#step/_console_wait_login/7

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-27 10:39:29 -08:00
Adam Williamson
defab3bfcb Correct renaming of the virtio serial consoles
That second string didn't work how I thought it did.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 09:15:58 -08:00
Adam Williamson
48b6c9d3e9 Change name we use for virtio serial consoles
There is nothing inherently 'root'-y about these so it makes no
sense to prefix their names with 'root-'. And why change from
'console' to 'terminal' compared to the naming used in the
actual qemu command and the log files? It's just confusing.
Let's be consistent (except for using - instead of _ here...
but - is easier to type!)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 08:39:28 -08:00
Lukáš Růžička
b93a197c22 Enable Anaconda Text install via serial console.
This adds the Anaconda text installation test over
serial console and FIXES #115.
2019-11-19 22:54:55 -08:00
Adam Williamson
9bec7ee797 Bump timeout on exiting Firefox again...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-07 07:35:32 -08:00
Adam Williamson
b82a1dec6f Add test for QA:Testcase_Anaconda_User_Interface_VNC
This adds a test for QA:Testcase_Anaconda_User_Interface_VNC -
the VNC install test case. It's implemented as a server/client
pair, with the server booting from the Server DVD image with
`inst.vnc` and the client booting from the desktop base disk
image, setting up networking, then running Boxes to connect to
the server and run the install.

There are various little tweaks to test loading and logic to
handle this, mostly pretty clear. We also move the workaround
for 'spurious auth prompt appears on desktop after you switch
away to a VT and back' out of the desktop update test and into
the `desktop_vt` helper function, since now this test can hit
it as well. We enhance _graphical_wait_login to handle the boot
loader if needed (it has never needed to until now).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-05 14:46:10 -08:00
Adam Williamson
efec7010cb 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>
2019-10-30 09:05:06 -07:00
Adam Williamson
8c07149ec7 Workaround #1766451 in update tests
Download the fixed jss to the advisory repo.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-29 18:03:59 -07:00
Adam Williamson
764a2bdc33 Drop #1757948 workaround, shouldn't be needed any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-29 17:59:33 -07:00
Adam Williamson
33e3224411 Drop stray start_cockpit export from utils.pm
It was moved to cockpit.pm, but this wasn't removed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-29 15:12:04 -07:00
Lukas Ruzicka
22b185abf6 Enable tracking of executed applications in Application Start/Stop tests (FIXES #116)
This PR adds the following:
* moves out the presetting procedures, so that two long terminal tests do not have
to run twice
* add methods for application to register when successfully started
* adds a test that checks if all required applications have registered
2019-10-16 17:36:37 -07:00
Adam Williamson
079b969fab Workaround RHBZ#1757948 in F30 update tests
We need to pull in the fixed fwupd or else the desktop_update
test always fails.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-15 19:23:55 -07:00
Lukas Ruzicka
d82f4ecd7f Develop a new test for system updates via Cockpit.
* server-cockpit-updates tests that Cockpit can be used to update the system.
* server-cockpit-autoupdate tests that users can use dnf-automatic for system
updates.
* cockpit functions were removed from utils.pm and put into an extra library
for cockpit - cockpit.pm which all cockpit tests are now using.

Review cockpit.pm

Review autoupdate test.

Review the update test.

Fix typo in cockpit.pm

Add sleep.

Add missing command.

Delete an unused needle.
2019-10-01 16:04:01 +02:00
Adam Williamson
b32449f72a Add missing bracket
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-20 11:04:31 -07:00
Adam Williamson
6538a82096 Download by ADVISORY_NVRS with koji for updates, not ADVISORY
This goes with a corresponding fedora_openqa commit that passes
ADVISORY_NVRS when scheduling update jobs. This is to address
https://pagure.io/fedora-qa/fedora_openqa/issue/78 so we can
publish spec-compliant and correct CI Messages: we will decide
what NVRs are in the update at scheduling time and always get
and test those NVRs, rather than the test downloading whatever
is in the update when it is run.

Some consequences: manual restarting or cloning of an update
test scheduled before this change lands will result in failure;
to do this you'll have to add the ADVISORY_NVRS value manually
with clone_job.pl, or simply reschedule the update with
fedora-openqa.

Manual restarting or cloning of an update test scheduled with
this change will always test the same NVRs. If the update has
changed and you want to re-test with the new packages in the
update, you must change ADVISORY_NVRS manually with clone_job,
or reschedule with fedora-openqa.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-20 10:58:27 -07:00