10 seconds isn't enough, the aarch64 upgrade tests often fail
because they're still Refreshing Data after 10 seconds, then
the ignore button appears but we already quit looking for it.
Let's wait 150 seconds for *either* the ignore button *or* the
UI to appear, if the UI appears we're done instantly, if the
ignore button appears, click it and wait for the UI.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This adds a test for remote connection. It consists of a server part
in which Gnome RDP connection is set up, enabled, and the server is run,
and the client part that uses Connections as a client to connect to the
server.
The test is considered successful when the connection is established
and the user has logged into the system.
Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/333
This reverts commit 8a657904d0.
We already had a tweak in _ostree_build to put python3-rpm in the
ostree; the real problem is that had broken with changes to
workstation-ostree-config. The next commit solves it properly.
This started failing in install_default_update_ostree
_advisory_post because the ostree no longer has python3-rpm baked
in, by the looks of it. Moving the execution of updvercheck.py
into a toolbox container *should* fix it with no undesirable side
effects, I hope. It looks like /tmp should be shared between the
host and the container so the file location should be OK.
The use of `toolbox run --` as a wrapper instead of interactive
toolbox entry/exit was suggested by Gemini PR review:
https://github.com/AdamWill/os-autoinst-distri-fedora-ai-test/pull/26#discussion_r2431461670
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Assisted-by: Google Gemini Code Assist
We are missing a check that the expected keyboard layout is used
at the desktop, for non-switched layouts (e.g. French). This is
actually broken for Workstation live installs at present, so we
really ought to be testing it. Along the way, let's clean up the
conditionals a bit, and let's do the actual input testing at a
console not the overview, since we want to do it on KDE as well
as GNOME now, and KDE's kicker menu is a pain to type in.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Also add keyboard layout selection handling for webUI, natively
for the KDE live, via GNOME settings for Workstation live.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The bug causes a crash at boot on Silverblue installer, we need
the fix to stop all Rawhide Silverblue tests failing.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
FreeIPA team bumped the F41 NVR past the F42 one, so now upgrade
tests from F41 to F42 are broken. To workaround this we need
bumped rebuilds for F42, F43 and F44, because if only do F42 the
problem moves to F42->F43 upgrades, etc.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
See https://github.com/rpm-software-management/dnf5/issues/2435 .
Lately this is sometimes failing because something else holds a
lock on the RPM database. To work around that, let's try again a
few times if it fails, with a bit of a wait.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In GNOME 49 RC, the Time Zone page has been changed so the search
box is active by default. Previously we had to press tab to
activate it. We need to keep working with both, so unfortunately
that means adding a needle :/
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Two different dep issues started breaking tests today -
a libiscsi soname bump broke deps in qemu and libvirt, and a
gnome-shell-extension-background-logo update had an invalid dep.
This adds fixes for all three as workarounds so I can get the
tests of each to pass, and other tests to pass while these are
going through gating.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is intended for things like system monitor where there's
constant motion on the app screen so we can't wait_still_screen.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's needed to get workstation tests to pass, as the earlier
xen/qemu update broke qemu's deps and it's installed by default
in Workstation. Remove when the update goes stable soon.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This handles differences in webUI's appearance on the KDE live,
compared to the GNOME live which suppresses keyboard layout
selection, user creation and root password creation. By Lukas,
modified by Adam.
F42 to F43 upgrades suddenly started failing, and I think this
is why - we actually wind up installing packages from the target
release in setup_repos (called from repo_setup), because we set
up the buildroot repo then run some dnf commands. Let's tweak
that so for upgrade tests we create the buildroot repo disabled
at first, then enable it in upgrade_run.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The way side tags work, every package in the distro is in the side
tag repo, so updatepkgs and updatepkgnames end up huge. To fix
this, we'll use a koji query for all packages that are actually in
the side tag to generate updatepkgnames.txt, and then use that to
filter the dnf command to generate updatepkgs.txt.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This doesn't work because the output has the filename in it. We
need just the line count. catting the file to wc achieves that
as now it doesn't know the file name.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We have enhanced the menu_launch_type to allow for
start checking and maximizing applications.
This PR uses the new functions wherever it seems
logical.
If special logic was used for certain cases,
we have not touched these to preserve the
exact behaviour.
The crash workaround for the Fonts flatpak is dropped because it
no longer seems to be needed with the latest version of the
flatpak, and dropping it simplifies this migration.
Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/358
This caused problems (particularly with the more obscure package
install paths like cockpit and realmd) before, but I don't really
like removing it, as it differs from real-world usage. Tests are
currently failing because of a bug in this repo wiping - in
upgrade_preinstall, we should wipe the file again after the
dnf -y update --refresh call, in case that reinstalls it - but
instead of fixing that, let's try just leaving the file alone.
The risk here is that we run into problems when the repo doesn't
exist, again. In theory we should not because it has
skip_if_unavailable=True , and everything *should* respect that.
But if it does turn out to still be a problem we'll have to
revert this and fix upgrade_preinstall.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We currently use script_run (not assert_script_run) for the
catch-all update we run at the start of the test, and don't use
--best. This means that if a dependency issue happens at this
point, we don't catch it yet, we only catch it in _advisory_post.
By using assert_script_run and --best, we can fail on dep issues
at this point. We have to keep the _advisory_post check to catch
dep issues that crop up *later* in the test, including when
things like Cockpit or GNOME Software install updates and we
can't force them to use --best logic. But we can at least catch
*most* of them earlier this way.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Again to reduce direct usage of pagure.io, move the testdata
tarball (used by download_testdata) directly into this repo. For
now it includes repository.tar.gz, which is silly, but I'll send
a follow-up PR to openqa_testdata to drop that file if this works
out. This includes a script to produce the tarball from the base
repository, and adjusts download_testdata to get the tarball from
autoinst_url and update its unpacking logic (as this version of
the tarball has a top-level directory).
Note the tarball in this commit is actually from the branch that
backs https://pagure.io/fedora-qa/openqa_testdata/pull-request/1
to reduce size.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The enhanced method of menu_launch_type does not cover for
special corner cases, where the application starts in a
specific mode (settings dialogues etc.)
This handles exceptions for Software.
The previous version of menu_launch_type took the name of the
application as an argument and it started the application.
To maximize the application or to check that it has started indeed
we had to do it manually.
Now, the application also takes "maximize => 1" or "checkstart => 1"
to maximize the application or check that it has started as optional
arguments to avoid doing it manually, while it still accepts just
the name of the application and behaves like it did before.
Note that if you decide to use the checkstart argument, you
also need to update the check-needles.py script to whitelist
the application needle tag, see the example test scripts
attached to this PR.
Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/329
This is intended to address the problem that we don't use the
buildroot repo for Branched between branching and u-t activation,
which often causes problems when newly-created updates depend on
builds that recently went stable. So instead of having logic in
the tests that sets up the buildroot repo only if the release is
Rawhide (or ELN), we'll do the decision about whether to set it
up in the scheduler (which decides based on info from Bodhi), and
just have the 'set up the repo' steps in the tests. Let's also
use the same code and repo name for ELN and non-ELN so we don't
have pointless divergence there.
Depends on the matching fedora_openqa change, of course - without
that, no test will use the buildroot repo.
Signed-off-by: Adam Williamson <awilliam@redhat.com>