Various tests use scripts or data that are stored within this
distri itself. To improve reliability and lessen the load on
Pagure, let's move them all to data/ and retrieve them from the
test runner using autoinst_url instead of going out to Pagure.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This doesn't affect most cases of the test as it gets replaced by
a subvariant, but it *does* affect i3.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
KDE seems to be taking quite a while to show up after we go to
graphical.target ATM. I've reported this to the KDE team, but
let's just bump the timeout so the test can pass.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
For deciding whether to show a release as available for upgrade,
Discover now also checks its date as well as its 'type'. If the
date is in the future, even if the type is stable, it won't show
it unless the allow-pre-releases flag is set.
So, we need to also patch out the date. Just blanking it also
works, but let's hardcode it to the start of 2025 to be a bit
more realistic (in case there's ever a situation where the check
passes with an empty date, but fails with a date it should pass
with).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
these don't work correctly on IoT. Let's just skip them - testing
on the main release should be sufficient. Let's not do the EOL
consistency check on Rawhide, as Rawhide EOL is a pretty notional
concept. They don't line up ATM and I'm not sure we want to spend
too much time trying to make them line up. Let's just focus on
Branched.
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
Sometimes, update notification would pop up during the testing
and prevent the needles from being matched correctly.
The addition to the code makes the notifications go away for updates.
Before this PR, we would have a different naming scheme
of application running needles for Gnome, a.k.a
apps_run_application, while for KDE we had application_runs.
This PR unifies all name under the Gnome scheme,
replaces the tags in the needles and test scripts.
This PR fixes https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/330
When we added fmw to apps_startstop tests it was only preinstalled
on Silverblue, but now it's on KDE and Workstation too.
Also includes a needle that matches on part of the UI, which
will work on all desktops.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Normally, the /etc/fedora-release file shows a text consisting
of "Fedora release" with the version number and a spelt out
version number in brackets.
For Fedora 42, the code name Adams should be used instead to
celebrate Douglas Adams's number of the universe.
Fixes: https://pagure.io/fedora-qa/os-autoinst-distri-fedora/issue/360
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>
We don't really need two separate CANNED conditionals and two
dnf commands, let's flip it around like this, and give the
remaining command 300 seconds not 240.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This isn't a test of fwupd, and we seem to be having issues with
it in openQA lately - I think maybe the fwupd server is blocking
openqa because we're hitting it too much? Anyway, let's disable
it for now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This adds two initial custom layout install tests for webUI, and
wires up some library functions for other tests to use. They may
need refining over time but this should be good enough for a
start.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Fixes#347.
This PR adds two tests to check the EOL written in the
/etc/os-release file. The first test checks that the
SUPPORT_END value lies at least 12 months in the future.
The second test checks the EOL values in Fedora Schedule,
Bodhi, and /etc/os-release if they are the same.
Now fwupd is showing us dbx updates, it seems we get *both* a
"Restart & Update..." button *and* a "Download" button at the
same time. If we click Restart & Update without clicking Download
first, package updates aren't applied.
So, tweak this logic yet again so that it 'breaks the tie' in
the way we want (if both buttons are present, click the download
one, take download out of the tags, and go to the next loop
iteration). Hopefully this solves the problem without breaking
any other paths.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
webui has a language selection screen as of anaconda-42.24-1, so
handle it. For now still handle it not appearing, we can drop
that path once the update is stable and in a compose.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We've *usually* already installed it for bodhi or koji clients
(on the update and task paths), but on the COPR path, we have
not, and updvercheck crashes. If it's already there this will
do nothing and return 0 so it's OK.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The VNC installation method has been replaced with a similar method
based on RDP. This PR uses the old mechanism and alters it for the
RDP method.
The test suite consists of two parts, a server and a client part.
The server is the real test on which Fedora Custom installation
is performed from the client via RDP.
The client is spinned off the pre-installed desktop image.
Fixes#345
It's back in ~/Documents on Rawhide. Let's stop trying to guess
when it's where and just be happy with it being in either place.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This workaround is tested on stg and seems to work. If we see the
grey screen, go to a console and reboot from there. Don't do this
on any other test as it might interfere with bootloader param
entry.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
KDE live images for Rawhide are now built with Kiwi, so let's do
it that way in openQA too (including for stable releases because
it's awkward to do it any other way). Kiwi build steps are almost
the same whatever you're building, so convert the container build
test into a generic Kiwi build test and use it for both. mock
setup is shared between Kiwi and LMC, so let's factor it out.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Until F39 went EOL we were keeping the test called 'konversation'
but it was testing neochat on F40+. Now F39 is EOL, we can fully
turn it into a neochat test and ditch the konversation needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is failing often since the Wayland port, add a second click
if the first doesn't select the partition.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
VNC is gone in current Rawhide. As F41 is released now, we won't
hit these tests any more anywhere where they might work (we don't
get a Server DVD image for respins), so let's just drop the tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The 'rawhide' tag repo used to be just a symlink to the 'fXX-build'
one, but With the on-demand repo changes, that's no longer the
case. It looks like the 'fXX-build' repo gets regenerated more
often than 'rawhide' (which seems to regen every two hours), so
let's use 'fXX-build' instead.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
dnf5 needs us to do this to make it use the repo config from the
host, rather than expecting there to be one inside the target
install root. This test should now always run on F41 with dnf5,
so let's just change it unconditionally.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
See https://bugzilla.redhat.com/show_bug.cgi?id=2324231 - since
the port to Wayland, the entry we need in the filesystem list is
not visible at first, we need to scroll the list to find it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's not just Installation Destination, on aarch64 at least we
have lots of tests failing because entering the source or software
selection spokes didn't work. Let's try extra clicks for these
too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The others have all been rebased to F41, so we had to bump the
Platform version to 41, but since Cheese is kinda dead these
days, its flatpak hasn't been bumped, and that makes building
the F39 ostree installer image fail. To work around this, sed
it out of the pungi config.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We do a menu_launch_type for kwalletmanager, so we'd better keep
a doublek workaround before that :/
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Also be a bit more consistent about asserting we saw a terminal
and waiting a bit before typing stuff. We can drop the doublek
workarounds from the keyring tests as we no longer use the
kicker to launch the terminal on KDE (we use ctrl-alt-t shortcut).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This started out as just factoring out the repeated pattern for
launching a terminal on the desktop that came in with the i3
tests. But as I worked on desktop_login, which is a major user
of it, I noticed some potential cleanups and improvements in the
user switching stuff, and also realized we can turn that test
back on for KDE now - user switching was re-enabled in KDE a year
ago and is advertised to be reliable.
I don't think the "switch user from a lock screen" test fully
worked before, as we did not verify that we'd really switched
back to an existing session rather than starting a new one. Now
we do. Using the terminal to verify the logged-in user on all
desktops just keeps things simpler than using the kicker menu
on KDE (though if typing proves unreliable on KDE I may switch
this back).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We seem to be having quite a few failures lately because the
viewer window in KDE never got maximized. This makes us a bit
more conservative at startup and puts the maximization / sentence
check in a send_key_until_needlematch loop to give it more
chances.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This avoids some magic waits by asserting screens (which is much
more reliable), and combines KDE and GNOME flows in the
passwordless test by adding some needle tags to the nautilus
needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Over the time, we have changed the test scripts so that the code
in the i3.pm library was no more needed. The only leftover was the
user config subroutine that could be moved to the only file that was
using it and we could get rid of the library file.
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>
New anaconda-webui changes the disk selection flow a bit, this
adapts to it. We can drop the conditional and make it a straight
assert-and-click once the new webui is stable for F41 and F42.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is often failing on KDE on Rawhide ATM, apparently because
of a performance regression with software rendering. So let's
wait longer for the browser, but soft fail if it takes longer
than 45 seconds.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The behavior after we click 'Restart to Install Updates Now'
button has changed in KDE 6.2. The default choice is no longer
'Install Updates and Restart' (even though that's what the button
says), and there is no timer. So if we don't click anything, the
confirm overlay just stays open forever.
This makes us click on the appropriate confirmation button if we
see it. We can also use this to make the test run a bit faster on
other releases, I guess.
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>
There's some ambiguity about the case of the ELN version string.
Currently it's "ELN", it's going to be "eln" soon. Let's just
always use case-insensitive comparisons.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
kernel.org is currently unreachable by IPv4 so this keeps failing.
Will re-enable when the site is fixed.
Signed-off-by: Adam Williamson <awilliam@redhat.com>