This is like the existing tests that build network install and
live images then install them, only for Silverblue. First we
build an ostree, using the standard configuration for the release
and subvariant but with the 'advisory' and 'workarounds' repos
included, so it will contain current stable packages plus the
packages from the update and any workarounds. Then we build an
ostree installer image with the ostree embedded, again including
advisory and workarounds repos in the installer build config so
packages from them will be included in the installer environment.
The image is uploaded, which completes the _ostree_build test.
Then an install_default_update_ostree test runs, which does a
standard install and boot from the installer image.
We do make a change that affects other tests, too. We now run
_advisory_post on live image install tests, as well as this new
ostree install image install test. It was skipped before because
of an exception that's really only needed for the netinst image
install test. In that test, packages from the update won't be
included in the installed system, so we can't run _advisory_post
on it. But for ostree and live image build/install tests, the
installed system *should* include packages from the update, so
we should check and make sure that it does.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
There's one point in the tests where we may log into cockpit for
the second time in one run (it depends how a package update
process goes). When this happens, we don't get prompted again
for admin access, so we need to *not* expect that.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit 3208d15725 and
the two follow-ups. I'm hoping
https://bugzilla.redhat.com/show_bug.cgi?id=2133829 is now
resolved; this was intended to help with that (though I'm not
sure it ever really did), and so we can hopefully ditch it, which
simplifies this code.
This reverts the last few commits which worked around a focus bug
in GTK. This bug is now (I hope) fixed, so I'm dropping the
workarounds so the tests will confirm whether it's fixed.
We have a big problem with Rawhide KDE update tests getting OOM
killed during this phase. Stopping the desktop before we install
updates should save some RAM and help avoid this.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Boy this seems slow in Rawhide currently. This has the effect
of being more defensive around the services page load.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We've seen some failures of the weather test at the start of
weather_report, where the test expects to be at the hourly view,
and instead it seems to be at a sort of broken state:
https://openqa.fedoraproject.org/tests/1505080#step/weather_report/3
I'm guessing this may be because currently aaa_setup clicks the
city name then is immediately complete, so it will immediately
snapshot. I guess this can result in things being stuck in a kind
of intermediate state on snapshot restore. So, to try and avoid
this, let's assert that we reach the hourly view after clicking
the city name, then wait_still_screen for a few seconds to make
sure things are settled down, before we complete and snapshot.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We seem to be hitting very long loads on the Services and Logs
pages of Cockpit in recent Rawhide testing especially. As I don't
have time to deeply debug this at the moment, let's just give it
longer (but make it a soft failure when it takes longer than
expected).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Sometimes the windows are displayed in the reversed order, which
prevents the checks to find the needles and the test fail
even if it should pass. This change should address this case.
We use variables to track test state across modules, sometimes.
As this is all internal to the test logic I didn't bother always
making these variables upper-case, but os-autoinst now treats
lower-case variables as a fatal error, so we have to change.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The change to read-only sysroot for IoT in F37 causes problems
with this rebase test. It's not supported to rebase from an RO
release (37 or 38) to a non-RO release (36). So we need to make
sure we don't try and do that. This uses some quick hack logic,
but it should be OK and sufficiently specific not to break
anything even if we forget to remove it in future.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It seems we still have trouble with this turned on :( About 60%
of tests fail with the client unable to resolve names.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The cluster of bugs for F37/Rawhide should all be resolved now,
and I'm hoping the old upgrade bug is no longer relevant.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This issue appeared when we started testing Rawhide updates, but
I only noticed it today. When testing Rawhide updates after
Branch point, the upgrade tests upgrade from Branched to Rawhide.
On Branched, updates-testing is enabled by default. We only
disable it when we reach `upgrade_run`, but by that point we've
already done a `dnf -y update` in `upgrade_preinstall` and
potentially installed other packages in steps between
`upgrade_preinstall` and `upgrade_run`. That can cause problems,
like today all FreeIPA upgrade tests on Rawhide are failing
because there's a newer freeipa in updates-testing for F37 than
is in the current Rawhide compose.
Solve this by disabling updates-testing before we do the update
in `upgrade_preinstall`. To avoid excessive code duplication,
factor out the repo disabling code.
We'll do this twice on upgrade tests now, but it shouldn't be a
problem.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Also stop re-doing get_var("DESKTOP") because that's dumb. This
should only, at worst, make things slower if unexpected things
happen - it shouldn't cause failures that wouldn't happen anyway.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This will make them slower, but lately type_safely is just not
reliable, particularly in the new_file test, it's constantly
typoing.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Rawhide live image builds are still taking an awful long time
and often failing. I will look more into why later, but for now,
let's bump the timeouts even more just to try and get through
the job backlog.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I'd prefer not to have to do this, but having the tests fail on
every compose and Rawhide update test is just too distracting
to live with.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
From anaconda-37.12.1, anaconda defaults to GPT for all BIOS
installs. So we need to create a BIOS boot partition when doing
a BIOS install. I think all other potential configs (x86_64
UEFI, aarch64 (UEFI), ppc64le (OFW)) are covered under the other
two paths, so just making this `else` should be OK.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We need to move the mouse out of the way so we don't need two
needles for "X not highlighted" and "X highlighted", and give
the check_screen a few seconds to update for the cursor move.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
"Star" was removed from the file context menu, so we have to
star the file from the main view now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We had a ton of needles all covering something very similar
(press a "Credits" button in a GNOME app). There are about four
real variations: old-style regular face white-on-black (eog),
old-style regular face (nautilus and evince before recent
libadwaita ports), old-style bold face (GTE and Clocks before
new libadwaita), and new-style (everything that's been ported
to use libadwaita for its About page). Let's just rationalize
it down to those, using the same needle tag for all of them.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The city is called Reykjavík (note the í). Previously our search
worked because the search function also looked in the name of the
timezone, and the *timezone* name is "Atlantic/Reykjavik" - i.e.
it's really Latin-ized in the name of the timezone. However,
upstream intentionally stopped including the timezone name in
search matches:
https://gitlab.gnome.org/GNOME/gnome-clocks/-/merge_requests/199
so that doesn't work any more. Just searching for "Reykjav"
should solve the problem.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In 43-alpha it's gone, the replacement is Troubleshooting ->
Debugging Information. But it would be a pain to write two
forks in the code for handling both cases, and there's a ton
more stuff in the new-style About dialog that we're not
checking either. I don't think we really need to click on all
of it, and this bit of it isn't super important. So on the
whole I'd rather just keep things simple and drop this check.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
the new_file test failed today because it seems g-t-e now pre-
fills a suggested filename, with extension, and pre-selects the
name part but not the extension part. So when we type 'list.md'
we wound up saving the file as 'list.md.md'. I think hitting
ctrl-a should fix this, and not break when run on older versions
of g-t-e if we ever do that.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
aarch64 looks like it often needs more time to settle after
restoring from snapshot before trying a key combo.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
That last commit to 'fix' the Clocks tests when Silverblue needs
location access to be granted wasn't complete, I left the needle
out. D'oh. Take the chance to give it a better name too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
If there are too many categories, we don't see the Updates entry
on the left, and this has been breaking Rawhide and F36 tests.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR changes the way to download the test data into the VM.
Although it does not use a disk image as suggested in one
of the review, it does not clone the entire repository, but
a simple tar.gz file that holds the data which will be
distributed into the directory structure.
This way, the amount of data needed to be downloaded dropped
from approximately 50MB to below 2MB.
Also, the existing test suites were adapted to this situation.
Clocks' aaa_setup did not ever actually check the app launched
properly. It also doesn't handle granting permissions if
necessary, which the apps_startstop test for Clocks does do.
This makes the permission check in the apps_startstop test more
efficient, and adds it to the Clocks app aaa_setup test too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This was just doing something silly before, but with recent
os-autoinst having function signatures, it actually causes the
test to fail because '5' isn't a sane value for the argument
this was setting before. Fix it to set the timeout, as it was
trying to do all along.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It seems when we quit Firefox back to a VT on ppc64le, the system
hangs. Not sure why, but we can deal with it by rebooting the
system and logging back in as root if it happens. Also take the
opportunity to clean up the flow of quit_firefox so we always
check that we get back to a console then wait 5 seconds for the
console to settle, so all the tests that call it can stop doing
that.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
On Rawhide update tests we often don't seem to get to the login
prompt in 10 seconds, so tweak the code a bit to let us specify
a timeout in root_console, and use 30 seconds here.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Let's not have the reference files in one person's fedorapeople
space, in case that person leaves. Let's upload the text.txt
for checking (it's easier to be able to just read what's in it
than try and figure it out from the diff output), and let's use
diff -u because non-unified diff output is awful.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is the automation of the optional testcase https://fedoraproject.org/wiki/QA:Testcase_i18n_default_fonts.
The test implementation runs the same commands as the mentioned test
case and checks the expected output. It is designed to run in the scope
of postinstall tests when the language is set to "japanese".
I'd prefer not to do this, but I don't see a better way to deal
with the stupid 'welcome' screens. I'm not maintaining needles
to click them away forever.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Firefox 97 is now stable on all releases, so we can forget about
handling browser_download_save and just assume download will
happen automatically.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Up to F33 we could check that an error message was shown when we
tried to log in with the wrong password on GNOME, but since F34
it's transient and disappears too quick to reliably catch, so
we don't check it any more. Now F33 is EOL, drop the conditional.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The g-i-s new user mode was removed in F34, so we don't need to
do this any more (as the now-removed comment said).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Before F34 we had to launch the update tool from the systray.
This isn't the case any more, so we can throw all this code and
these needles away.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We seem to be solidly back to always getting a permanent update
notification in current F36/Rawhide, so we don't need this more
complex path any more. We also don't need these needles any more,
they haven't matched for months.
Logging of additional repo setup changed recently in F37, we
need to handle the new message format here.
Signed-off-by: Adam Williamson <awilliam@redhat.com>