Sigh, I don't know why we're having so much trouble with fonts
in browsers lately. Drop the match requirement on the needles
that have been matching or nearly matching the most, and remove
older ones that aren't matching.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We need a couple of new needles, plus the 'join domain' button
has disappeared from the front page due to the very inefficient
UI redesign, so we need to scroll down to find it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is getting annoying. We're getting, like, 94-95% matches
for the recent needles sometimes. Instead of continuing to make
more and more needles, let's try dropping the required match
threshold a bit. The kde-20191206 needle doesn't *seem* to be
needed so let's get rid of it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is for KDE. KDE and GNOME have different font rendering,
and they both look slightly different between a few days ago
and today, I think because of a change to the width of the
columns on the page itself.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Slight font rendering changes from the last GNOME version of
this needle, not sure if there's actually a font library change
or it's just hinting changes caused by the column being a bit
further right than before...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Seems the latest Firefox builds in F30 and F31 updates render
fonts a little differently again, not sure why this is.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Not sure what changed; it seems like mostly browser needles got
broken, but there's a few installer needles too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We still have a 'apps_run_firefox_stop' needle tag which is for
the same thing as 'firefox_close_tabs'. That's dumb. Get rid of
it and only have the firefox_close_tabs tag and needles. Also
clean up some old firefox_close_tabs needles that haven't matched
for months and all the 'apps_run_firefox_stop' needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
On Rawhide Cloud_Base boots, there's some SSH key and network
information printed above the 'login:' prompt, so we can't
expect empty space there. Also tweak console_login() to clear
the screen after logging in, so the login prompt is cleared and
doesn't confuse things on subsequent runs (like it did first
time we tried this). And add a new user logged in needle, as it
seems after we clear the screen the tilde appears in a slightly
different position and the existing needle doesn't match.
https://openqa.fedoraproject.org/tests/489003#step/_console_wait_login/7
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit f66f510832.
Turns out this breaks lots of stuff, so it needs to go back.
I'll have to figure another way to handle the cloud login.
On Rawhide Cloud_Base boots, there's some SSH key and network
information printed above the 'login:' prompt, so we can't
expect empty space there. Let's just hope not looking for the
empty space doesn't break anything else.
https://openqa.fedoraproject.org/tests/489003#step/_console_wait_login/7
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This adds a test for QA:Testcase_Anaconda_User_Interface_VNC -
the VNC install test case. It's implemented as a server/client
pair, with the server booting from the Server DVD image with
`inst.vnc` and the client booting from the desktop base disk
image, setting up networking, then running Boxes to connect to
the server and run the install.
There are various little tweaks to test loading and logic to
handle this, mostly pretty clear. We also move the workaround
for 'spurious auth prompt appears on desktop after you switch
away to a VT and back' out of the desktop update test and into
the `desktop_vt` helper function, since now this test can hit
it as well. We enhance _graphical_wait_login to handle the boot
loader if needed (it has never needed to until now).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This handles a case where KDE shows a notification saying
'PIM Maintenance (Finished)', like this:
https://openqa.fedoraproject.org/tests/477345#step/desktop_notifications/34
we need to click it away for the desktop_notification test to
pass. It also clarifies the difference between this notification
and the eternal 'akonadi_migration_agent is doing something'
popup in the needle names and comments. It also replaces the
'check_screen then assert_and_click if found' pattern in several
notifications-related places with the better 'check_screen then
click_lastmatch if found' pattern now available upstream.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The login screen background changed in 205.1 (it's actually the
same image, but it's now zoomed rather than just a chunk of it
being shown on a smaller screen).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Once again, the text is at a slightly different height to the
needles we already have. I do not know why this sometimes
happens. It's a mystery.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reduces the coverage of the identification test a bit but
also *substantially* simplifies it. We run into a ton of problems
when we try to check the version and prerelease text on screens
where it appears on banners:
* The banners differ between variants
* The pre-release text is translated
* The banners have gradients so for RTL languages, even if some
text is untranslated (e.g. 'Fedora 31') it appears on a
different background color than on LTR languages
* The prerelease text is dark red; if it appears on a dark blue
area of the banner this can trigger an os-autoinst needle
comparison bug: https://progress.opensuse.org/issues/56822
All of this together means we wind up continually fighting these
checks and we have a whole forest of needles just for them, and
it doesn't seem worthwhile. So let's drop all the places where
we were checking version and prerelease on banners, and only
check them in two places where they appear on a grey background,
which avoids most of the problems (we just need one version
needle per release, and one prerelease needle per language).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Now one of the strings we check for is translated, but the other
is not...handle this, again with a workaround needle so the
missing translation triggers a soft fail.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
* server-cockpit-updates tests that Cockpit can be used to update the system.
* server-cockpit-autoupdate tests that users can use dnf-automatic for system
updates.
* cockpit functions were removed from utils.pm and put into an extra library
for cockpit - cockpit.pm which all cockpit tests are now using.
Review cockpit.pm
Review autoupdate test.
Review the update test.
Fix typo in cockpit.pm
Add sleep.
Add missing command.
Delete an unused needle.
The new background seems to be throwing us off here. I think
the menu is *very slightly* transparent so the needles usually
work for most Fedora backgrounds as they tend to have a similar
base color, but the 31 one is unusually light.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
For RTL languages the keyboard icon and language indicator are
the other way around, so we have different needles even for the
US layout indicator which is otherwise the same in all langs.
This is a variant needle for the new keyboard icon that showed
up in Rawhide recently.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This checkbox sometimes renders slightly differently, especially
on non-x86_64. We're not really sure why, but we just add more
needles to handle it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Existing one doesn't match if the background is too different,
shrink it to just the center of the icon.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We need another needle for French installs, and we need to use
ISO_URL for checking the ISO file name if ISO isn't set.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These showed up because I did a manual universal flavor run on
an ISO today, but we'll need them as soon as we do a candidate
compose too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These only get used when we run universal tests on a non-Server
image, which is pretty rare (these days, as Server DVD is a
critical image and composes fail if it fails, it only really
happens when we do it manually for some reason, like I did
today). So they get stale and aren't updated for font rendering
changes and stuff. As I said I had to do a run like that today,
so I had to update all these needles...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is doing slightly less to exercise the launcher menus and see
whether icons appear or disappear, but it's much faster and more
reliable. We do still use menu launch for one app, just to check
the mechanism works in general.
The top bar differs in non-English languages - for RTL the
version ident is on the left (so background is different), and
the width of the area with no text differs depending on the
length of the translations.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This adds a whole wodge of stuff to support_server to make it
act as a PXE server, then adds a new test which boots from PXE
and so should hit the PXE server. We use the NFS install repo as
that can be relied on to work for a support_server install.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Seems like there's been a change to freetype or something, text
rendering changed in all of these. Note there's one workaround
needle for an untranslated message in Japanese.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Split this out of install_default, because it really is not a
part of that test and we do not want that test to fail because
the desktop background is wrong. Make it its own test module
and test suite instead. Don't do it on Rawhide, because we
really can't assert anything worthwhile about Rawhide at the
moment at least (this means the test runs but is a no-op and
will always pass on Rawhide, unfortunately). Move the needles
to a more appropriate location (this has nothing to do with
anaconda) and use 'background' not 'wallpaper' naming (that's
the name we use elsewhere in the project, e.g. package names).
Also, run the test on updates, and add an F29 needle for this
purpose.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The backgrounds we have are F30 backgrounds, not F31: there are
no F31 backgrounds yet, F31 images are using F30 backgrounds
(which is a bug we should file). Also we really only need one
F30 background needle to match both KDE and GNOME if we pick a
sensible area of the screen to use, and let's use one that has
a bit more contrast for safer matching.
Note: F30 background is *meant* to be animated, but in fact
neither GNOME nor KDE seems to use the animated version by
default. Which makes our lives easier! Sucks for whoever put in
the work to animate it, though.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Cockpit 198 comes with a UI overhaul, so almost all needles
need an update.
The 'auditd' service is no longer on the first page. To make
this less fragile (at the cost of not testing that clicking on
a service actually opens the detail page *for that service*,
tweak the needles to just look for *any* running service, click
on it, and check we got to a 'details' page. We also redo the
existing needles for this design.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
@lruzicka added this to the KDE app tests in 71c4e273, but there
was no need for a new needle as I'd already done the same thing
in the desktop updates tests; let's just use the same needle.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is really a 'generic' needle since it'd be needed for any
RTL language test, it's not specific to arabic.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Mainly because the GDM background became a lighter shade of
grey, for some reason, but also some dialog and icon changes.
Also put all forms of layout_us_ltr-gdm in the same directory.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Removing this broke the GNOME apps test entirely because there
was no GNOME 'workspace' needle any more.
I don't like this needle much, we should probably use
check_desktop_clean or something instead. But for now let's just
put it back.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The way KDE does update notifications has changed - it's now a
permanent pop-up notification. This is a bit awkward for our
logic; it's hard to define a needle that proves this pop-up is
the only notification. Instead, let's dismiss it, then open the
notification tray and assert that there aren't any others. But
we also retain the old behaviour (more or less) for testing old
releases.
The popup notification also blocks the 'refresh' needle in the
systray and so breaks the desktop update test, so we deal with
that too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>