The previous way of doing this isn't really safe. It assumes we
will find at least one string literal on any line containing
send_key_until_needlematch, and strips the last one, on the basis
it must be the key to press. But if the key to press is an
unquoted variable, this will strip the tag instead. And if both
the key to press and the tag are unquoted variables, this will
strip the most recent string literal we put into the global list
from some *other* line!
So instead let's try to be a bit smarter about how we parse
send_key_until_needlematch lines - just stripping out everything
after the first comma after "send_key_until_needlematch" - and
drop the dangerous "pop the last item from the list" logic. This
way we should always only find the needle to match, if it's a
string literal, as for other directives. We should never reach
the key to press so we don't need to worry about taking it out.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I think the lack here is sometimes causing us to click more
times than we should. Let's do this to try and make sure we
don't click once it worked.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
They use base disk images, and it's too fiddly to try and
arrange for the one the update test uses to be UEFI but the
other to be BIOS...let's just keep these on UEFI but kick up the
retry count :/
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit 508635ed1c and
the fix-up follow-up, because this causes the test to have a
different scenario which screws up gating. Argh. I guess we're
stuck restarting it forever. Let's bump the retry number even
higher instead.
There is a weird and annoying kernel bug ATM which makes entering
encryption passphrases into plymouth's graphical interface often
fail on UEFI VMs. Using a BIOS VM seems to avoid this, and the
bug is not getting fixed, so let's switch all these tests to
BIOS to avoid this annoying bug causing failures all the time,
especially for update tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
ELN changed to some new font, which means it now needs all its
own needles for any installer screen that matches on text :(
Here they are.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Yelp changed something that makes it render fonts differently,
so we get to update every needle that matches text in Yelp.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We're getting failures in the update network install tests today
which seem to be because we're using an image built with systemd
256 to install systemd 255. This is because systemd 256 has been
tagged but isn't in a compose yet, and we use the Rawhide tag
repo when building the installer image but we don't add it as an
additional repo for the install itself.
This is obviously a hole in the process, we should use the extra
repos, where appropriate, all the way through. So this makes us
use both the Rawhide tag repo (when doing a Rawhide install test)
and the workarounds repo (when there are workarounds) for network
install tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is intended to reduce the amount of traffic we generate to
flathub, particularly so we can run this test on updates as well
as composes. We have to set a proxy and trust an SSL cert.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The Japanese one was hidden by the UEFI encryption passphrase
entry bug, and the weather one we only hit when the test runs
at an unusual time.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This works more or less like testing side tags. We also fix up
some flow problems with this path (that also affect the side tag
case), and enable the package checks on this path - it's not too
hard really, we just need to write the updatepkgs file when we
set up the repo, which we can do with dnf repoquery.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is the same thing we do for the app_startstop tests in
aaa_setup, applied to a couple of other places we use
menu_launch_type in KDE and it's having trouble.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
When running these tests on updates we inherit the main disk
image from server_cockpit_default, which has the repo config,
but the actual repo data is on HDD_3 which is not inherited.
We need to re-download the updates here to ensure they're
available to the tests (the automatic update test installs the
dnf-automatic package, so it should pull it from the update repo
if it is part of the update being tested).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
When testing the update that implements the dnf5 switchover, we
need to patch the kiwi config on the fly for dnf5.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
From https://openqa.fedoraproject.org/tests/2594954 it looks
like this takes more than three minutes for updates with hundreds
of packages when running in a container (in the container build/
validate test). So, let's give it more time in that case.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The bug number is wrong and I can't find the right one, d'oh.
We could *probably* safely remove this right now but I'm not
100% sure, I think it should be fine when F38 is EOL.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit b203f41f55.
The bug has been worked around for some time with a downstream
patch. Dropping the extended timeout means we'll notice if the
workaround is dropped prematurely or stops working.
This whole complicated loop looks like it's no longer needed for
current KDE. It seems like we always refresh, then we hit
"Update All", and from there we go straight to "Restart Now".
Clicking the button always seems to work, we never seem to need
to click "Refresh" again. So, let's drop it and simply expect to
see and click Restart Now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
dnf5 config-manager can now do this, but the syntax is different
to dnf4, and honestly, it seems easier to just stick with this
going forward than make it conditional on dnf version until
dnf4 goes away. So let's stop marking this as a FIXME.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This test, much like _live_build or _installer_build, builds a
container image in a way intended to be as similar as possible
to how official compose images are built. The purpose of the test
is to make sure updates do not break official container image
builds.
At the end of the test, we also check that the built container
is functional (at least, that we can run a 'hello world' command
in it). This can't really be rolled into podman.pm because that
test is more about testing podman itself, and it's just a one-
liner here anyway. We also run the 'if any packages from the
update are installed, are they the versions from the update?'
check inside the container, which required giving that check the
ability to 'wrap' the rpm commands to run inside a container.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Don't know why we need so many of these. There's something odd
about the panel in Plasma 6, I think.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is the variant we hit when upgrading from Fedora 40 (the
button looks a bit different than on F39). Without it the test
for Rawhide (which upgrades from F40) will fail.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
containers-common seems to have inadvertently introduced a hard
dependency on composefs, but not expressed it as a package dep.
While I'm trying to get that fixed, let's ensure the podman and
toolbox tests don't fail on it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>