I call this...The @lruzicka Catcher!
It's a script that checks for needles that aren't actually used
anywhere. It also checks for cases where we have a needle JSON
file but no image, or an image file but no JSON file (and wipes
one case of the latter). It also adds a run of the script to tox
so we get it in CI.
You could make this script a lot more elaborate if you like, by
being fancier about parsing the test code and templates, but I
don't think it's really warranted, I think it just needs to be
'good enough'. It's not the end of the world if it misses the
odd thing or the whitelisting goes stale.
Quite a lot of the removed needles are remnants of different
approaches to app start/stop testing which weren't caught in the
initial PR review. The short-name partitioning ones are odd; they
were introduced in the commit that moved needles into subdirs,
but at least some of them don't actually appear to be moves. They
may have been non-tracked files Josef had lying around that got
into the commit by mistake, or they may just be old needles we
really used at some point but aren't using any more.
reclaim_space_second_partition was introduced as part of the
shrink test (along with reclaim_space_first_partition) but was
never actually used by that test - I guess, again, the test got
re-written during review but we forgot to remove the needle. We
rejigged user creation to use tab presses not a needle match a
while back, which made user_creation_password_input unnecessary.
The various cockpit_updates_* needles are I think remnants of
rewrites of the cockpit update tests that again were missed in
PR review, the tests as merged never used them.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit d784bf54ca.
It turned out that Locations are not connected to Konqueror
at all. The reason why the test is failing is that the
application has been removed to limit the number of
web browsers.
Remove a bunch of needles that have not been used for some time,
plus a few workarounds that are similarly stale.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I think what happens here is the kerning and/or subpixel hinting
changes depending on the column position, and the column position
keeps changing as upstream releases new versions on different
dates and stuff. Hopefully eventually we'll have enough needles
to cover all possibilities...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This test has been failing forever, now the bug is fixed, we need
to update the needles for font changes...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This reverts commit adf3f91818.
The bug has been fixed in anaconda, so we can drop this, which
is good as it has timing issues producing false positives on
Rawhide...
Rawhide seems to have developed a bug where a single disk is no
longer automatically selected as the install target when you
enter the INSTALLATION DESTINATION spoke. We need to work around
this (but register it as a soft failure).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Seems some changes to symbolic icons and widgets have happened
in GTK+ or something, this updates anaconda needles for them.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
IoT is becoming a release-blocking edition for F32, so we should
be testing it for sure. We may add specific tests, but for now
let's run the install and base tests on it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I updated this last month without looking closely enough; one of
the matches was bogus. We now don't seem to get the 'added to
Firefox' popup any more, so we can't match on it, but I guess we
can match on the 'remove' button as an indicator that the add
worked.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Again, no reason not to run these on updates. Includes adding
oldcantarell versions of several needles for current cockpit,
as they're needed for the tests to pass. Also tweak a couple of
needles to avoid false matches (add more empty space).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Note we need two variants of most of these, one for Rawhide with
Cantarell 0.201, one for F30/F31 with Cantarell 0.111.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This one from ppc64le test. The difference between all the
recent needles here is the amount of white space between the
'Domain' and 'domain.local'. I don't want to change it to two
match areas as there's a chance we may get a false positive
match when the join actually failed (it may match on 'Domain'
in the right place, and 'domain.local' somewhere else just as
part of the system's hostname). I suppose if this keeps happening
we could try two match areas but include some white space to the
left of 'domain.local' to avoid matching on it as part of the
hostname...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The text we used to get has been replaced with a spinner, which
is difficult and unreliable to match on. This match was only
here to make the test fail a bit faster if it was broken, so
let's just live without it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This match keeps giving us problems, and now I look at the test
again, there is actually no need for it at all. Clicking it
doesn't do anything, and we already confirm that we're on the
right page at the next step, where we look for a log entry and
click on that - that will fail if we aren't actually on the
Logs page.
I don't remember what Cockpit used to look like when we first
put this line and needle in, presumably there's a reason we had
them, but they're clearly unnecessary now.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I am so freaking pissed off with these bizarre 'not quite'
matches, what the hell is Firefox doing
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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>