This PR adds a small test suite to test the Characters applications.
It displays several different groups of characters and then tries
to copy one of the characters and place it into a text editor.
* Scarborough provided quite a messy map that resulted
in frequent needle failure. Changing the location
for something better to make it more reliable.
* The zoom test could have failed with a low resolution
image. Adding some timeout to the needle give more
time to load the proper image.
I think these needles are pretty fragile to changes in the
underlying OSM dataset, not just in Maps itself...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The Rawhide 'accept fate' text seems to have lost its Japanese
translation for some reason (I think the string might have had
a terminating period removed). And in one test, the "Extract"
menu item in Archiver was pre-highlighted so the needle didn't
match. Not sure why, but this doesn't seem like a problem, so
let's just handle it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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.
GTK4 enabled font hinting recently, and that breaks this huge pile
of needles.
There are probably a few more that need doing, but it's 2am and
I've had enough.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Lukas left these lying around stg, they are needed.
clocks_alarm_cross_remove is a dupe of gnome_button_cross_remove
with a bad name, so removed it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We already changed how we do this since the context menu entry
was removed, just cleaning up the now-unneeded needles.
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>
Silverblue has Calculator as an older-versioned flatpak, so it
still looks like it did in GNOME 42 (blue equals button, lighter
colored number buttons).
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.
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".
Again, a dialog changed a bit in the flatpak version of the app.
For this needle, the shade of grey is slightly different. Change
happened between Fedora-36-20220314.n.0 and 20220315.n.0.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The open/save dialogs for Flatpak apps in current F36 (and
probably Rawhide, but can't tell due to another bug) look a bit
odd: https://github.com/fedora-silverblue/issue-tracker/issues/245
This adds variant needles to handle various differences there.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
For some reason various bits of gte started looking slightly
different on the F36 upgrade test. I don't really know why and
don't care enough to look it up. I'm just hoping all these
variations between gte running in slightly different contexts
calm down soon...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Silverblue has an older version of gnome-text-editor, using a
Flatpak base environment built off an older GNOME. Because of
this most of the needles for the current RPM-packaged version
don't match. For some reason the old needles we delete don't
match either - some difference in font rendering configuration
or something. So I had to create a bunch of new needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It matches on the "close the app" button on older Flatpak GTE.
So widen the needle to include the "Preferences" text, and add
a click point.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These are taken with the latest gnome-shell build, with CSS
fixes for the overview applied. They don't work for current
F36/Rawhide but will work once that gnome-shell build lands.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
GNOME 42 and adwaita-icon-theme 42 changed a lot of things in
GNOME and anaconda, we need to update all these needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
It was removed from the default install:
https://pagure.io/fedora-comps/c/5371509
in favor of a new screenshot mechanism that's built in to GNOME
Shell.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The latest version of Gnome-Text-Editor bring a little
bit different UI and some new or modified features.
This commit fixes the suite to run on newest version.
Workstation has replaced gedit with gnome-text-editor in Rawhide,
so this is no longer useful. We will replace it with a test suite
for gnome-text-editor.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Workstation replaced gedit with gnome-text-editor. This updates
the needles and also changes the name used for 'tagging' the
application for the core_applications test.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Calculator's equals button changed a bit somehow, EOG changed a
button and the kerning on Activities button changed.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We get a 96% match on this because the "A" in "Activities" moved
a bit. Instead of a new needle let's just be OK with the lower
match.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
So it doesn't fail if there's a dotted line around the entry
(indicating keyboard active, I think).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Some changes were made in the icon theme used by the installer
and GNOME, update various needles for this.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Similar to the 'open' needle, adjust match area to work even
when there's a notification obscuring the top bar.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We do this slightly differently on KDE and GNOME for whatever
reason, so this needle needs updating too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
LibreOffice adjusted layout a bit and dropped a template, one
icon changed in the utilities menu compilation.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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>
The open dialog on Silverblue (which is apparently not at all
the same thing as the open dialog on Workstation, though they
look the same) does not default to the Documents folder, so we
have to open it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These all failed to match first time the test was run in
production. I guess Lukas was working from an older release.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This PR fixes issue #188. It adds a test suite to test basic
functionality of Evince and brings the following features:
* test scripts for various Evince functions.
* needles to support the Evince test scripts
* new template variables `TESTPATH` and `POSTINSTALL_LOAD_ALL` (see
below)
* new logic in `main.py` (see below)
The new variables and the new logic make it easier to create test
suites for post-installation tests. If TESTPATH is used, OpenQA
will take all tests mentioned in POSTINSTALL from that specified
TESTPATH. If both TESTPATH and POSTINSTALL_LOAD_ALL are used, then
OpenQA will run all tests it can find at the TESTPATH location.
If POSTINSTALL and POSTINSTALL_LOAD_ALL are set simultaneously,
then only POSTINSTALL will be taken into account and OpenQA will
only load tests mentioned there.
Recent git os-autoinst no longer downsamples screenshots as far
as it did before comparison. This makes a lot of needles where
colors have changed slightly no longer match, so they all needed
updating.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Not sure why these changed, but oh well. Utilities menu was
highlighted in a test run for some reason, so let's just handle
that. Other needles changed very slightly.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Some apps moved around, others the needles stopped matching for
some reason, some kind of slight scale change or something.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Just matching the Overview entry isn't really enough, the app
hasn't really run yet. This makes the test more robust and also
helps out on aarch64 desktop tests where the app window takes a
long time to appear.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Not sure if the needles changed or just the way they're rendered
in the overview, but either way, we need to update a bunch.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The little triangle that's used on drop-down menus and stuff got
bigger. That breaks all these needles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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>
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>
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>