There are several other tests doing the same thing (but not as
safely, in some cases). To improve reliability and reduce
duplication, let's factor this out into utils.pm and reuse it
where appropriate.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In a couple of cases we type something that *doesn't* start with
a 'k', so we should use that other letter for the workaround.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This should make the installer image build test work for ELN,
so we can try doing some update tests on ELN.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Changing to a conditional based on whether we saw webui broke the
ostree installer install tests, because they of course use the
same g-i-s even though they don't use webui. So, we have to go
back to the relnum-based conditional :/
Yes, this means we have redundant screens in g-i-s for install
paths that use gtkui to deploy GNOME, e.g. SB installer images,
but I can't see a good way to fix that. We need to show those
screens for the live install, which is the 'most important'
one, and we don't have an obvious way to show them for installs
that used webui but hide them for installs that used gtkui.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We're dropping the live user mode patch from g-i-s downstream
because it's just too hard to maintain, apparently. So on Rawhide
the live image will boot to the welcome screen as normal, but
running the installer will give you newui rather than webui. If
you need a language other than English you have to sort it out
at the desktop before running the installer.
On first boot, g-i-s will show *all* screens, not skipping
language, keyboard layout or timezone, because we did not see
those in the installer.
This adapts the tests to handle the new flow, and should still
work with the other flows.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This comes with a subtle behavioural change that we no longer
pass --nogpgcheck for upgrade tests, but we didn't really *mean*
to do that for anything but Rawhide, and it *shouldn't* be
necessary for Rawhide now, so let's see if everything is fine
without it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In several places we run 'gnome-terminal' explicitly, but as of
today's compose, the default terminal app on GNOME in Rawhide is
ptyxis, not gnome-terminal.
Running 'terminal' should launch whichever is correct, so let's
consistently do that.
Also, add an apps_run_terminal needle and navigation navbar
needle for ptyxis.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
As discussed in https://pagure.io/releng/failed-composes/issue/6538
we noticed a gap in openQA coverage here. We don't check the
versions of packages lorax installs to the installer environment,
and those packages do not make it to the installed system, so if
there's a dep issue that prevents a package in the update from
being included in the installer environment, but the same dep
issue isn't caught on any other path, we miss the problem. This
wires the updvercheck.py script into the _installer_build and
_ostree_build tests to catch this kind of problem, and makes it
capable of parsing pylorax.log files into its preferred format
to enable that.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
To fix base_services_start always failing on aarch64, while I
wait for review of the upstream and downstream PRs.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
anaconda now no longer protects the entire disk which contains
stage 2 or is being used as an install source, it protects only
the relevant partition:
https://github.com/rhinstaller/anaconda/pull/5687
so we want to go down the regular path again with F41+. We can
drop the "before F39" bound now, as F38 is EOL.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
If the repo has source packages in it, we get a badly-formed
updatepkgs.txt that breaks updvercheck. So let's filter to only
packages of the target arch and noarch.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
...when we're not in an atomic (canned) env, anyway. If we are,
we'll rely on it already being there (as previously ensured by
an earlier commit).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit a3f4a6f2e6. It
seemed to cause *more* annoying bars in Firefox than before, for
some reason, I don't know why. Reverting till I can do more
testing on lab.
SUSE has a much nicer style for handling all the nested quoting
and stuff in creating the autoconfig files, so switch to that,
and also merge in all the SUSE autoconfig values...the more the
merrier, for making Firefox be less annoying. I'm hoping this
might suppress the "Add a splash of color" modal that's breaking
tests ATM.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
There's a couple of places where we do menu_launch_type in KDE
without doing this workaround first, and they do run into the
bug sometimes. Let's factor it out from the few places it's
already repeated, and add it to the places it is missing.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Seems current dnf5 has a bug which causes repository refresh
progress to be sent to stdout even with -q.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
...well, in this case, the Python side tag, because side tags
that inherit have just *all* the packages in them.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
dnf5 behaves differently from dnf < 5 in a couple of ways: like
rpm it does not always add a newline to the query format, and it
sends its status messages to stdout, not stderr. These commands
account for this and produce identical output with dnf < 5 and
dnf 5.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
whoops, this bailout is too hard. we get here on tag/COPR path
if there are workarounds, that is fine.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The service cockpit enables is different when it detects dnf5,
since cockpit 317. Let's just make this an F40/F41 boundary
thing, and add the cockpit 317 update as a workaround for F41
until it goes stable.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This broke the KDE app start/stop test. We need to click on the
desktop before alt-d-s will work, for some reason.
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>
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>
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>
osbuild is struggling with the pre-release warnings ATM:
https://pagure.io/fedora-iot/issue/57https://github.com/osbuild/images/issues/515
Until that mess is cleaned up we can't really make sensible
assertions for osbuild images, so let's make the check a soft
failure for now (now we know about the bugs, we want to let
the rest of the tests run and not block them on this).
Note for IoT the behaviour has never really been correct (IoT
images never get pre-release warnings), but the logic in this
check matches the wrong behaviour (IoT composes always have
RC- labels even when they're clearly not RCs), so the test
didn't fail. While fixing this in osbuild we might try to get
'correct' behaviour for IoT, and then we'd need to tweak the
logic here.
While we're at it, tweak the implementation a bit; without this
tweak, implementing this 'soft fail if osbuild' behaviour is more
awkward and ugly.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR partly solves the issue #301 when it adds the navigation
testing for Gnome. It uses the keyboard combinations to cycle through
running applications and checks that applications could be switched
accordingly. It also tests that you can switch between workspaces
and that you can move an applications to another workspace.