1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-30 17:33:07 +00:00
Commit Graph

652 Commits

Author SHA1 Message Date
Adam Williamson
818c2d5d8f Handle rpm -q commands failing if we didn't download anything
I think this is new behaviour in rpm 4.19, or else we would have
run into this before when testing an s390utils update. But it's
easy enough to handle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-31 10:26:45 -07:00
Adam Williamson
80df47e82a Add workaround e2fsprogs build for
https://github.com/fedora-silverblue/issue-tracker/issues/470

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-25 18:52:48 -07:00
Adam Williamson
077a31835a Drop syslinux handling from do_bootloader
F36 is now EOL, and from F37 onwards, grub is the bootloader in
any situation where it actually matters to do_bootloader (which
is only when we're editing parameters). We do still use syslinux
in the PXE tests on x86_64 BIOS, but we don't edit the parameters
in that case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-24 14:48:39 -07:00
Adam Williamson
78c52cedc2 Revert "Workaround KDE bug accessing desktop settings (#1933118)"
This reverts commit 7c6188c087.
We shouldn't need this workaround any more.
2023-05-24 14:42:32 -07:00
Adam Williamson
a2dc22255b Revert "Note when #1933118 workaround can be removed"
This reverts commit 01c2962f41.
We're removing the workaround now.
2023-05-24 14:41:28 -07:00
Adam Williamson
542b9cd526 Revert "Work around the f39 toolbox container not existing"
This reverts commit 6baf67aefd.
The f39 toolbox container exists now.
2023-05-24 14:40:52 -07:00
Adam Williamson
ef93c46ce5 Drop old workarounds and f36 from the workarounds hash
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-24 14:39:22 -07:00
Adam Williamson
3cd5963b10 disks: also authenticate when unmounting
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-18 15:45:57 -07:00
Adam Williamson
89fa04661f Disks: workaround partitions sometimes being mounted after format
https://github.com/storaged-project/udisks/issues/1102 - udisks2
seems to have a bug where it leaves filesystems mounted at a
"temporary" mount point after creating them. We need to work
around this when it happens or else we'll frequently get test
failures.

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

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

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

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

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

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

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

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

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 12:24:26 -07:00
Adam Williamson
47664b0dd8 desktop_switch_layout: give switching 3 tries to work
There's a fairly longstanding issue in GDM where switching layout
just doesn't work sometimes:
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6066#note_1707051
there doesn't seem to be any progress on getting this fixed, and
it's annoying constantly restarting tests that fail on it. So
this just makes us try three times to switch before giving up.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-04-01 14:55:27 -07:00
Adam Williamson
bbfc9d7c70 Handle anaconda 'protecting' the disk we're installing from
In install_repository_hd_variation , we have two disks attached,
so when we reach the INSTALLATION DESTINATION screen we expect
we have to select the correct target disk. However, as of the
most recent anaconda build in Rawhide, anaconda realizes we're
using a file from the other disk as our install repo, and
'protects' it - i.e. it does not show it on the INSTALLATION
DESTINATION screen, meaning only one disk is shown there, and
when only one disk is shown, it's pre-selected. So when we click,
we actually *un*select it, and the test fails.

Fixing this is a bit awkward; I wanted to add a new variable,
ANACONDA_PROTECTED_DISKS or something, and subtract that from
the NUMDISKS count; but we can't really do that as the enhanced
protection isn't in F38, and we can't easily set variables
differently on different releases (we'd have to set them in the
scheduler code, not just put them in the templates). So we just
code in a doofy condition for this instead. Maybe when F38 is
EOL we can change to the variable approach.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-29 12:59:39 -07:00
Adam Williamson
e7f5e5e9b4 Add workarounds for critical bugs in Rawhide
An lvm2 issue which breaks the installer (#2180557) and anaconda
renaming the .desktop file for the Workstation live welcome
screen, which caused it not to appear -
https://pagure.io/livesys-scripts/pull-request/12 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:04:00 -07:00
Adam Williamson
873720b97b Drop workaround which went stable a few days ago
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-21 18:03:34 -07:00
Adam Williamson
5572a73f61 Use pandoc-common instead of python3-kickstart for package tests
Reasoning:

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

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

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-18 09:44:02 -07:00
Adam Williamson
38c3693684 Revert "Fix desktop_update_graphical tests for pykickstart updates"
This reverts commit 2e5fa93415.
Let's try using one non-critpath package for all these tests
instead.
2023-03-18 09:39:19 -07:00
Adam Williamson
c25db659c0 Add anaconda fix for new pykickstart as a workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:39 -07:00
Adam Williamson
ac6ecb1058 Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-17 21:26:16 -07:00
Adam Williamson
2e5fa93415 Fix desktop_update_graphical tests for pykickstart updates
Somehow, the dummy package being python3-kickstart causes the
graphical update tests (only) to fail for pykickstart updates
(that's the source package of python3-kickstart). The CLI and
Cockpit update tests are fine with this and pass.

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

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-14 14:14:25 -07:00
Adam Williamson
cf5532fc3a Add workarounds for ffmpeg/kf5/oneVPL mess
So...there's an ffmpeg update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-a5e10b188a
which went stable. It includes new sonames of all the ffmpeg
libs. It also pulls in a thing called oneVPL, which has a bug
that breaks ostree composes.

There's a big kf5 update:
https://bodhi.fedoraproject.org/updates/FEDORA-2023-b086a98f78
which contains kf5-kfilemetadata, which is built against ffmpeg.
Neal made sure that update's build of it was built against the
new ffmpeg and submitted both for stable at once - but the tests
on the kf5 update failed because they weren't run against the
new ffmpeg as it wasn't yet stable, and the kf5 update was
ejected from the push because of the failed tests.

So now we have the ffmpeg update stable but not the
kf5-kfilemetadata rebuild for it, which will break KDE stuff,
and the oneVPL issue means ostree composes will all fail.

This adds the ffmpeg update as a workaround so we can re-run the
tests for the kf5 update and get them to pass so we can push it
stable. It also adds the oneVPL update as a workaround so ostree
compose tests don't start failing.

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

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-03-02 13:51:08 -08:00
Adam Williamson
a9a3cea174 Don't use koji-rawhide repo on support_server test
We definitely don't want the support server pulling in random
packages from Rawhide.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-25 10:22:50 -08:00
Adam Williamson
1d3fe8dbb6 Drop workaround that's now stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-24 12:57:37 -08:00
Adam Williamson
471ea9d27b workarounds: add plasma-discover with fix for #2173022
Just using a scratch build for now as my fix hasn't been reviewed
and may have dumb mistakes in it, but it does seem to fix the
openQA test at least.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:15:15 -08:00
Adam Williamson
f42d921b0b Drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-23 12:14:48 -08:00
Adam Williamson
bb3492ac9d Remove repo management packages on update live install path
A different way to address the same problem as 56936df7 . Let's
just *remove* the repo management packages after we're done
creating the repos. dnf will automatically remove the unused
dependencies too. This fixes the python-cryptography case at
least - I tested.

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

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

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

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

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 14:54:18 -08:00
Adam Williamson
a4ff85695b handle_welcome_screen: only set _WELCOME_DONE if we saw it
This is to handle a temporary condition where the screen isn't
present on the KDE base disk images for F38 or F39 yet, so they
only see it on the second boot on update tests, but don't handle
it because we marked it as already 'done'.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-22 08:04:29 -08:00
Adam Williamson
4254906308 Try clicking Skip on the KDE welcome tour thing
It seems like just closing it results in it showing up again on
the next boot...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 19:57:19 -08:00
Adam Williamson
ddb3f44c57 Extend handle_welcome_screen to cover new KDE welcome tour
KDE has a welcome tour now, on F38 and Rawhide at least. Let's
"handle" it with extreme prejudice...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-21 18:16:13 -08:00
Adam Williamson
ac1a59ef77 workarounds: kwin build that fixes VT switch for F38 and F39
The F38 update that breaks this hasn't gone stable due to gating
and the F39 update will be pulled in once the tests are done
and it goes stable, but doing this anyway so I can re-run the
tests on the F38 plasma-workspace update and push it stable,
and rerun all the failed Rawhide tests without waiting for all
the tests on this update to finish first.
2023-02-20 22:11:31 -08:00
Adam Williamson
19500a4018 drop workarounds that have gone stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 22:10:40 -08:00
Adam Williamson
7ea4ed733c Sigh, do the are-we-44 check in the right place
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:29:13 -08:00
Adam Williamson
d0699217a4 Handle g-i-s 44 requiring two tabs at 'set a password' screen
We still need to handle 43 only requiring one for now, and we
can't just make it release-dependent until 44 is stable for both
38 and Rawhide, so let's use a needle match temporarily. Only
44 has these eye/pencil icons on this screen.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-20 17:13:37 -08:00
Adam Williamson
813c329c0c workarounds: add lorax with disabled persistence for 38/39 (#2170544)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:44:37 -08:00
Adam Williamson
35eec4062e Drop workarounds that went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 10:43:22 -08:00
Adam Williamson
7156881b64 workarounds: add kde-settings for F38 too
This gets us the F38 background in KDE.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 11:27:18 -08:00
Adam Williamson
42316bdfb1 workarounds: add desktop-backgrounds too for F38
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:58:49 -08:00
Adam Williamson
8ce8f2aba4 f38 workarounds: drop updates now stable, add f38-backgrounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-14 09:17:49 -08:00
Adam Williamson
6baf67aefd Work around the f39 toolbox container not existing
On Rawhide, just use an f38 toolbox container for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 19:16:09 -08:00
Adam Williamson
619f5a70fe Add glib2 2.75.3 to f38 workarounds (FEDORA-2023-965f517da3)
GNOME blows up without it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 15:09:14 -08:00
Adam Williamson
860c8e0a09 Add bug F38 GNOME update to workarounds
As we're not getting composes ATM this isn't being pulled into
tests of subsequent updates, but we need it to be or else there
are issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-13 12:23:08 -08:00
Adam Williamson
016c78d80b Add FEDORA-2023-ad52b2e4b9 as a workaround for F38
tracker-miners had a bad dep which broke live image builds.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-10 00:05:40 -08:00
Adam Williamson
95de85b33a Adjust a wait_still_screen not to time out on a flashing cursor
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-07 10:02:38 -08:00
Adam Williamson
8bcabe25a8 Give some long-running package install operations a bit longer
These have timed out quite often recently.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 09:04:48 -08:00
Adam Williamson
6a7c11466c Get updvercheck.py from main now it's merged
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-03 08:58:38 -08:00
Adam Williamson
06bfd2d2ae Make the update non-matching package check smarter
With Rawhide updates, we quite often run into a situation where
a test runs after a *later* version of the package has already
gone stable. This even happens for stable releases too, though
less often. The current shell-based check just always fails on
this case, but it's usually OK, and manually marking every case
like this with an "it's OK!" comment gets tiring. Instead, let's
use a smarter Python script to do the check. We compare the EVR
of all installed update packages with the EVR of the package
from the update. If it's the same, fine. If the installed package
is lower-versioned, that's always an error, and we fail. If the
installed package is higher-versioned, we check whether the
update already went stable. If it did, then we soft fail, because
probably nothing can go wrong at this point (this is the usual
Rawhide case). If the update did not yet go stable, we still
hard fail, because something can go wrong in this case: if the
update *now* goes stable, the older version from the update may
be tagged over the newer version the test got (presumably from
current stable).

If anything goes wrong with the Bodhi check, or the test is
running on a task not an advisory, we treat both cases as fatal.

The script also gives easier-to-understand output than the old
approach, which should be a bonus.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-31 10:14:45 -08:00
Adam Williamson
6a36fe28d1 Handle a false failure when testing koji updates
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-01-14 02:57:38 -08:00
Adam Williamson
3754ab3d8a Drop all handling of MODULAR
This was from years ago when we briefly did "modular composes".
That died and ain't coming back.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-15 11:10:40 -08:00
Adam Williamson
d012d31270 _post_fail_hook: only do advisory package checks when appropriate
Same conditions as used in main.pm to load the tests in the
normal flow. It makes no sense to do this on non-update tests,
or on the non-matching support server case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-14 08:47:46 -08:00
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