The color shell prompt feature just got applied to VTs in Rawhide.
That broke...everything. Here, new needles!
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We're taking a long time to reach it on aarch64 on prod recently
for some reason. It's probably some weirdness with qemu/edk2. So
let's just bump the timeout as I don't have an easy fix on hand
and this won't hurt anything.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Mainly covering the retry stuff, but also another thing that's
been missing for a while but which we totally can cover.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We seem to be getting quite a lot of failures in update tests
where this times out. Let's try a longer timeout.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is a surprisingly large change as we want to go back to
the console we were previously on after doing it. To do that we
need to know what console we were on, and to know *that*, we need
to port everything that currently uses (ctrl-)alt-fX to switch
consoles to use select_console instead.
This is primarily intended to make running setup_repos.py faster
when it has to download a lot of packages (as typing in hundreds
of package names is quite slow). But it actually makes the whole
thing faster, even when only downloading one or two packages.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This uses a Python script which implements concurrent downloads
(via asyncio) to download workaround and update packages and
configure the repos. This should speed up the process for large
multi-package updates.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This effectively reverts 97618193 - but had to be done manually
and adjusted to maintain support for testing side tags and for
testing multiple tasks, since those features were added since
the update ISO change.
The 'scheduler injects ISOs of packages into the tests' approach
was intended to speed things up, especially for large updates,
and it did, but it had a few drawbacks. It means restarting
older tests from the web UI doesn't work as the ISOs get garbage
collected (you have to re-schedule in this case). And it has the
rather large problem that you can now only schedule tests from
the openQA server (or at least a machine with the openQA asset
share mounted), because the package download and ISO creation
just happen wherever the scheduler is running and assume that
the openQA asset share that will be used by the tests is at
/var/lib/openqa/share in that filesystem.
That's too big of a drawback to continue with this approach, IMO,
so this reverts back to the old way of doing things, with a bit
of refactoring to clean up the flow a little, and with support
for testing side tags and multiple tasks maintained.
As a follow-up I'm going to see if I can replace
_download_packages with a much more efficient downloader script
to mitigate the time this process takes on each test, especially
for large updates.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This test had special flags because it used to be run first and
did the prep steps for the other tests. Now the aaa_setup test
does that job, so there's no reason for this test to have these
flags any more, and somehow they seem to be breaking the test on
Rawhide. Let's give it the same flag as all the other normal
tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The issue is not marked as fixed, but per the needle cleanup we
have not hit this workaround condition for a long time. I checked
past failures and it doesn't look like we're still hitting the
problem but the needle stopped matching, or anything.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Per the needle cleanup, it hasn't been seen for some time. The
test is failing ATM but even the last time it passed -
https://openqa.fedoraproject.org/tests/2311371#step/kontakt/3 -
we did not see this.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The bug this was meant to fix hasn't happened for months. Back
in Fedora-Rawhide-20230629.n.0 we were seeing every line in the
poem marked as a spelling error until we did this, but that's
not happening any more, we don't need this.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This breaks things until a compose has happened and comps data
with the new group in it is actually out there in the repos. So
we need to hack it back out again till a compose goes through.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
subprocess.run raises an exception by default if the command
fails, you don't have to look for the return code.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Seems the bug might just be that plymouth got more sensitive to
fast typing, so instead of waiting, let's try slow typing.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In some tests on staging this seems to help with the 'clicks
don't work in later test steps' problem we're seeing a lot.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It's defaulting to 10Gi, which definitely has caused *some*
issues (the flatpak test fails because there isn't enough disk
space). I'm hoping this will turn out to explain why SB tests
have been generally so unreliable lately.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
New Plymouth seems to have a bug where it shows the decryption
prompt briefly then shows a spinner and refreshes it, throwing
away any already-typed input. This is breaking our tests quite
often (any time os-autoinst is "lucky" enough to spot the first
brief appearance of the prompt and start typing). To work around
it, after we first see the prompt, wait for the screen to settle
and re-assert the needle before typing. This should reliably
wait out the refresh cycle.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It seems Python 3.12.1 changed unittests' behaviour so that all
tests being skipped is now a fail not a pass. That breaks this
test because TestAtomic01Status only does anything if this is
an atomic system. So, let's just skip that test entirely if we
aren't one. As things stand this means the test will never run,
because we only test on Cloud_Base which is not atomic.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
There used to be a theme.conf.user file, there isn't any more.
I think this should work both before and after.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
load_templates often fails for no good reason - see
https://progress.opensuse.org/issues/121378 . This makes
fifloader retry 20 times on failure to mitigate the issue.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
os-autoinst is set so that if you once manually set the cursor
somewhere, all subsequent calls to `assert_and_click` will return
the cursor to the last manually-set position (if you never set
the cursor anywhere manually, it uses the `mouse_hide` location).
The mouse_hide location is no good for modern desktops as they
use hot corners in various ways, so for the desktop tests, early
in login, we set the mouse to 300/800, which we hope is a kind
of neutral location that doesn't interfere with matches of the
desktop_background needles (which I usually put towards the
right of the screen).
Unfortunately, KDE can show fairly big previews of active windows
down there, and hovering over one causes that window to be
displayed and all others to be hidden. Which rather breaks the
desktop browser test, when we have the Welcome Center popping up
on boot.
We already moved the mouse set point from 300/200 a few years
back because of a *different* awkward interaction with the browser
test, so we can't go back there. Let's try 1023/384 instead -
that's all the way on the right hand side of the screen, but half
way down, not in either corner. I really hope this doesn't cause
problems for any tests cos I don't know where else to stick the
damn thing if this doesn't work.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Several needle updates and a tweak to the text we type to launch
kinfocenter (just "info" now launches something else).
Signed-off-by: Adam Williamson <awilliam@redhat.com>