Commit Graph

421 Commits

Author SHA1 Message Date
Adam Williamson 3db92ef976 Cockpit updates: wait a bit after hitting up key
Otherwise we race between the needle match and the screen scroll
update, and can click the wrong thing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-04 17:02:05 -07:00
Adam Williamson 05af76265f Handle Firefox 100 disappearing scrollbars in Cockpit update test
The Cockpit update test relies on scrolling the Cockpit left bar
to find the Software Updates page, but in Firefox 100, the scroll
bars disappear shortly after the last time you moved the mouse.
To deal with this, instead of looking for a scroll bar to scroll,
we'll click the search box in the left bar and hit 'up' to scroll
it to the bottom.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:15:02 -07:00
Adam Williamson c0255c5682 Revert a change accidentally included in previous commit
So it can be re-applied separately with correct message.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:14:00 -07:00
Adam Williamson 954b6f90bc Update variant anaconda layout needles for F36 RCs
We get these variant needles with the keyboard icon and layout
name at slightly different relative vertical positions every
time we do a Final RC. I think the layout is affected by the
pre-release warning text no longer being present. Usually each
cycle something changes with the icon or with font rendering,
so the needles have to be updated, as in this case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-03 13:10:09 -07:00
Adam Williamson 94520bb7a8 Drop similarity_level on type_safely
I meant to include this in the earlier commit that does the same
for type_very_safely, but forgot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-16 11:14:50 -07:00
Adam Williamson 7bf3bd8689 Drop similarity levels on type(_very)_safely, solidify_wallpaper
I noticed today that we're timing out all the time on these
wait_still_screens in gnome-terminal, because it uses a big
flashing cursor and the similarity between "cursor there" and
"cursor not there" is less than 45 or 42 (it seems to be 38.x).
So let's drop these levels to 38, hopefully that's not too low.
There are probably more places where this is an issue, I'll
change them as I notice them.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-14 16:32:29 -07:00
Adam Williamson ad1d656124 Drop F36 kwin workaround, should not be needed any more
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 18:31:37 -08:00
Adam Williamson 8fab101745 Use lower similarity_level for some terminal wait_still_screens
We can't use the default similarity_level for wait_still_screen
when there's a flashing cursor - flashing cursor will always
cause the similarity level to be too low and the wait will just
time out at 30 seconds. Cut it to 42.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 10:31:06 -08:00
Adam Williamson abd1d1a698 check_desktop: handle GNOME showing inactive button briefly
check_desktop tries to catch when the overview is open and close
it. But with GNOME 42, it seems the inactive "Activities" button
is shown briefly on login before GNOME opens the overview. If
check_desktop catches that, it will think the overview isn't
open and it doesn't need to do anything. So if we match on first
cycle through the loop, let's wait_still_screen then match again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-03-01 10:24:48 -08:00
Adam Williamson c5e6d80684 Fix escaping in the caret workaround
So these kind of things go through perl *and* bash string
interpretation and the escaping can get pretty wacky. Turns out
we need *eight* slashes here to get four through to bash (which
we need to deal with *sed*'s escaping rules), and it only works
in single quotes for some reason, not double quotes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-25 14:05:10 -08:00
Adam Williamson 371cb1c6eb Work around RPM caret bug when checking advisory packages
There's a bug in rpm where doing `rpm -q [NVRA]` doesn't work
if the NVRA contains a caret. To make it work you have to add
a literal slash character before the caret character, so we add
a sed command to do that, when we're checking whether packages
from the update actually got installed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-25 13:07:46 -08:00
Adam Williamson 1417f1023e Add kwin scratch build to fix RHBZ #2047503 as an F36 workaround
Scratch build because we don't have a single-build update with
the fix, it's likely gonna be included in the 5.24.2 megaupdate.
I don't want to use that whole thing as a workaround, so I did
a 5.24.1 scratch build with the fix instead.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-23 13:09:22 -08:00
Adam Williamson 815fc3a758 Drop workarounds that already went stable
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-23 13:08:13 -08:00
Adam Williamson c33b137e88 Tweak desktop_vt tty detector a bit
The intent is that if the ps check finds nothing we'll use the
loginctl output, but that doesn't work because script_output
doesn't return the output if the script fails. There's an arg
you can pass to make it do so, but let's just make it always
succeed instead, by adding a ||: to the second grep like we have
for the first.

Also, I noticed this problem because the ps check started not
working on F36 KDE because none of the processes we check for
are shown as running on a tty, so let's add one more that *is*
shown as running on a tty...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-22 16:54:03 -08:00
Adam Williamson 628c4a5d8f Try and disable Firefox "quick suggest onboarding" thing
Tests that use Firefox started failing recently because Firefox
grew yet another stupid pop-up thing that *might* show on start
up, this appears to be trying to get you to sign up for a
feature called "quick suggest". After half an hour trawling the
relevant code, this is my best guess as to how to turn it off.
Don't know for sure if it works because the thing doesn't pop
up every time, but it at least doesn't make things worse.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-07 12:06:23 -08:00
Adam Williamson c95bb4306d Remove duplicate needle in anaconda_help test
We check the same screen twice with two different needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-04 15:47:21 -08:00
Adam Williamson afbb62d514 Add F34 qt5-qtwayland update to workarounds to fix crashes
KDE tests are failing on all F34 updates ATM due to
https://bugzilla.redhat.com/show_bug.cgi?id=2049560 , add the
update to fix it. Also drop 33 from the workarounds hash as it's
EOL.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-03 16:31:34 -08:00
Adam Williamson ec83223ed1 Replace 389-ds-base workaround scratch build with official update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 14:07:05 -08:00
Lukáš Růžička fe8306d2cd Implement distribution methods to replace the testapi defaults.
This PR adds implementations of distribution methods to make them
usable on Fedora. It adds the following methods

* ensure_installed (to install packages)
* become_root (to switch to root account)
* script_sudo (run script with sudo)
* assert_script_sudo (run and assert a sudo script)

It also adds a helper script to the utils.pm

* make_serial_writable

that makes the serial console writable for normal users
and so enables to run commands that check their progress
by sending messages to the serial console. Normally, they
fail, because the messages will not be written their, so
the checking mechanism will never see them.
2022-01-27 21:44:35 +00:00
Adam Williamson 9c225c5b40 Add 389-ds-base scratch build to fix RHBZ#2047323 to workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 12:49:30 -08:00
Adam Williamson a1e20088b6 Drop now-stable update from F35 workarounds list
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-27 12:48:54 -08:00
Adam Williamson 5296ff8114 Add selinux-policy-35.11-1.fc35 as workaround for bad .10 update
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-19 09:48:28 -08:00
Adam Williamson 8e414cc469 Handle anaconda giving users admin by default in Rawhide
As of today's Rawhide compose, user accounts added in Rawhide
have admin privs by default. For now we need to handle both
possibilities here (click the box if it's not clicked already);
after F35 EOL we can just drop all handling of that box.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-01-18 11:36:06 -08:00
Adam Williamson 3a9dfb6a58 Drop remaining workaround update (it went stable two months ago)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-11-11 08:52:45 -08:00
Adam Williamson ff8603b96e Give KDE Desktop Settings window a few seconds to stabilize
Rawhide had a failure today where the dropdowns moved between
us matching and clicking, so we clicked the wrong one:
https://openqa.fedoraproject.org/tests/1005662

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-29 09:52:59 -07:00
Adam Williamson 9f15350a99 Allow g-i-s longer to start up (with a soft fail) (#1997310)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-16 15:18:47 -07:00
Adam Williamson 9882ddcaa5 Robustify and tweak switch out of overview on GNOME boot
This fails sometimes just because we're too early, or something.
Also with GNOME Shell 41rc, alt-f1 no longer works to open and
close the overview. super *does* seem to work in KDE these days,
so let's switch from alt-f1 to super everywhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-07 11:05:55 -07:00
Adam Williamson 81c0a861d6 Add FEDORA-2021-9677463ae9 as a workaround for F35 update issues
This will hopefully resolve desktop_update_graphical failures on
Workstation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-01 14:49:37 -07:00
Adam Williamson bc7deabd24 Drop workaround update that's stable now
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-27 17:19:13 -07:00
Adam Williamson f56b6c6c2a Add FEDORA-2021-41d8b36cd2 as workaround for RHBZ #1996901
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:53:21 -07:00
Adam Williamson 0b5746248f Drop some update workarounds that went stable already
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:52:27 -07:00
Adam Williamson 453053f4ed gnome-initial-setup: work around #1997310 (GOA screen missing)
There's a bug in current F35/Rawhide which causes the GOA screen
in g-i-s not to show up. Since failing on that will block a lot
of testing, let's handle it as a soft failure.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-24 15:14:22 -07:00
Adam Williamson 5661d3c1a7 Handle Software screen making a comeback in gnome-initial-setup
It's back from the dead! In F35+, anyway.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-23 12:45:35 -07:00
Adam Williamson 4c19ed1723 Add FEDORA-2021-0192369fd9 as a workaround for F35 update tests
This should fix FreeIPA server deployment failure.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-20 11:41:07 -07:00
Adam Williamson 803ae7ca57 Add a test of an additional repository using a metalink (#198)
As suggested by @kparal, this adds a test that specifies an
additional repository using a metalink. The repository contains
a single package, 'testpackage', that supplements glibc (so it
should always get installed). The test runs an install then
checks that testpackage got installed.

We also deduplicate a pair of needles which were matching on the
same anaconda UI feature (an "add" button) and use that same
needle in this test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-18 14:03:27 -07:00
Adam Williamson 440377b2a4 Log `df -h` and `free -h` output on anaconda failure
To see if we're stuck because we ran out of memory or disk space.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-13 09:33:38 -07:00
Lukáš Růžička b65f470eee Create basic functions tests for Gedit. 2021-08-12 15:37:37 +02:00
Adam Williamson 492fcf62e4 Great Needle Cleanup 2021
Remove a whole chunk of needles that haven't matched for more
than 3 months. Also move a few needles to appropriate locations,
simplify some code chunks that relied on removed needles (if
we're not matching the needles, we don't need those chunks any
more), and drop some other no-longer-needed conditionals for
older releases.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-10 11:57:48 -07:00
Adam Williamson a9f54e9a50 Try to avoid a race in GNOME check_desktop
We can match on apps_menu_button_active before the overview has
totally loaded in, and it seems the alt-f1 press can be dropped
in that case. Add a wait_still_screen to try and avoid that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-05 11:22:25 -07:00
Adam Williamson 05c793179a Add a fingerprint login test (GNOME only) (#223)
This adds a test for fingerprint-based login, as requested by
@benzea in #223. We use the fprintd dummy device to let us
simulate scanning a fingerprint, and check various scenarios
recommended by @benzea.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-03 15:21:33 -07:00
Adam Williamson bdb107b472 Add check_help_on_pane back to anaconda.pm exports
It was inadvertently when rebasing a recent PR.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-21 12:18:31 -07:00
Lukáš Růžička 395ed61a1a Automate the Anaconda_Save_Traceback_to_Bugzilla_Text test case.
This PR adds a new test that automates the above mentioned test case.
It starts the installation in text mode using the `install_text` test
case, which it interrupts using the Anaconda crash trigger.
When the crash happens, it goes through the process of reporting
the bug to Bugzilla, checks that Bugzilla sends a positive
confirmation of the action, but also performs some REST API
calls to do a proper check and then it closes the bug to clean up.
2021-06-17 16:28:29 -07:00
Adam Williamson 20c1f20880 F34 update workarounds: drop systemd, add jpegxl
This systemd update went stable ages ago. But now we need to add
a jpegxl update as a workaround to avoid KDE live build tests
failing on the problematic aom->jpegxl-libs->gimp dependency
chain I identified yesterday. It makes KDE live builds pull in
too many packages and fail because they run out of space.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-16 09:20:34 -07:00
Adam Williamson f91b21dec9 anaconda_help: try a wait_still_screen after install_destination
Still hitting a fail sometimes on the spoke after Installation
Destination, when anaconda is still sorting things out and the
test tries to do stuff too fast. e.g.
https://openqa.stg.fedoraproject.org/tests/1206252 . See if this
helps.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:09 -07:00
Adam Williamson 2583f18c05 anaconda_help: check for screen change when entering spoke
Otherwise if it lags a bit we might try and click the Help!
button on the hub, and if that happens before anaconda has caught
up, we won't open Help at all.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:09 -07:00
Adam Williamson 3364732110 anaconda_help: tweak nonlive needle handling, add waits, tabs
Some fixups for anaconda_help. Two runs of it failed today around
handoff from the root password screen to the install progress
screen; add a couple of wait_still_screens there to make it
safer. Drop the added nonlive needles, because they're too
permissive, causing problems for other tests (they're matching
before they should); instead we solve the problem of spokes being
highlighted by just pressing shift-tab a few times. And fix some
tabs to be spaces.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-31 16:17:06 -07:00
Lukáš Růžička c6d443a20f Automate the QA:Testcase_Anaconda_help.
This PR automates the mentioned testcase to test that Help can be
displayed in Anaconda during the installation. It navigates through
the available Help screens and if it can see it, it finishes.

This test runs after `install_default_upload` to override the
installation defaults defined for all primary tests.

Delete a duplicated needle.

Reformat list extensions to make it nicer.

Get rid of wrong export and an empty line.

Delete empty line.

Use _boot_to_anaconda for booting and move subroutine accordingly.

Add variable to templates.fif.json

Delete trailing whitespace.

Fix calling the pretest.

Move help checking to another place.
2021-05-27 21:39:26 +00:00
Adam Williamson c9609cf26d Drop bypass_1691487 function and usage (bug seems fixed)
Per https://bugzilla.redhat.com/show_bug.cgi?id=1691487#c14 it
seems like the bug here got fixed along the way and we probably
don't need this any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-05-06 09:02:52 -07:00
Lukáš Růžička 114610bf90 Rewrite Modularity tests to use Perl only.
The Modularity tests rely on an external script to test the modular
behaviour of DNF. There is a potentional risk that the connection
is be down and the script cannot be downloaded.

This enhancement uses a regular OpenQA perl test case script to only
invoke DNF commands and parse their output to test the same behaviour
that we have been testing already.

This enhancement picks a random module for each of the operations,
and thus tries to mimick reality a little bit more.
2021-05-03 19:13:09 +00:00
Adam Williamson 48cee79928 Always wait_still_screen after hitting Update Settings
It can take anaconda a bit of time to think about things, so we
should wait before plowing on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-17 14:19:20 -07:00