1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-12-18 08:33:08 +00:00
Commit Graph

29 Commits

Author SHA1 Message Date
Adam Williamson
d3833d376c check-needles: tweak the handling of send_key_until_needlematch
The previous way of doing this isn't really safe. It assumes we
will find at least one string literal on any line containing
send_key_until_needlematch, and strips the last one, on the basis
it must be the key to press. But if the key to press is an
unquoted variable, this will strip the tag instead. And if both
the key to press and the tag are unquoted variables, this will
strip the most recent string literal we put into the global list
from some *other* line!

So instead let's try to be a bit smarter about how we parse
send_key_until_needlematch lines - just stripping out everything
after the first comma after "send_key_until_needlematch" - and
drop the dangerous "pop the last item from the list" logic. This
way we should always only find the needle to match, if it's a
string literal, as for other directives. We should never reach
the key to press so we don't need to worry about taking it out.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-28 09:26:15 -07:00
Adam Williamson
990f81b229 check-needles: ignore commented lines
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-28 09:13:30 -07:00
Lukas Ruzicka
b0bc18b187 Add a 'navigation' test for GNOME.
This PR partly solves the issue #301 when it adds the navigation
testing for Gnome. It uses the keyboard combinations to cycle through
running applications and checks that applications could be switched
accordingly. It also tests that you can switch between workspaces
and that you can move an applications to another workspace.
2024-04-10 21:46:43 +00:00
Adam Williamson
d638d8b86e check-needles: add assert_and_dclick to matchfuncs
...since we're using it for something now (the KDE color select
widget).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-11-29 12:11:00 -08:00
Adam Williamson
8cb8836d3f Update check-needles for changes to konversation test
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-09-26 16:14:03 -07:00
Lukas Ruzicka
296b43381a Allow language selection on WebUI installations.
Currently, the installation via WebUI is mostly pushing the Next button
which seems to be ok for the production which is based in the US.

This PR makes openQA to select languages when the  G-I-S runs
before Anaconda. The particular language is selected based on
the LANGUAGE variable.
2023-09-26 00:16:22 +00:00
Adam Williamson
30563c6aed Simplify the blivet resize LVM testcase
I don't think we need an alternative needle for ppc - the
current 'boot_inactive' needle should work fine on ppc. Let's
just always use that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-18 13:00:07 +02:00
Lukas Ruzicka
e211a87fc7 Create a test suite for Disks. 2023-05-12 17:05:44 -07:00
Adam Williamson
119229cce7 Add a needle cleanup script, enhance the needle check script
This adds a new script - cleanup-needles.py - to use for cleaning
up old needles. It has to be used in conjunction with a database
query; the comment at the top explains how to do that query and
export the needed information. It produces a git commit with
needles that haven't matched since a certain date (specified in
the sql query) removed, subject to a 'keeplist' of needles we
keep even if they seem to be old.

I also enhanced check-needles.py to check for cases where tests
seem to be trying to match a tag we have no needles for. This
was necessary to find cases where the cleanup script was too
aggressive (i.e. the things that wound up in the 'keeplist'),
but it also turned out to find quite a lot of cases where the
code really *was* looking for a needle that had gone in a
previous cleanup or that never existed; the commits before this
one clean up a lot of those cases.

The code to decide which string literals are needle tags is
pretty dumb and hacky and needs some manual cueing sometimes -
that's what the `# testtag` changes in this commit are for.
Making it smarter would probably require this script to get a
lot more complicated and either incorporate or become a
tokenizer, which I don't really want to do.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-04 09:57:15 -07:00
Lukas Ruzicka
7291e3526e Create a test for Gnome Panel. 2023-04-06 15:50:43 -07:00
Lukáš Růžička
179764d49c Fix tests for Maps.
* 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.
2022-12-07 11:52:11 +01:00
Lukas Ruzicka
d4717ff090 Create test suite for Maps. 2022-11-21 18:17:11 +00:00
Lukáš Růžička
5ea921b17b Create tests for Gnome Contacts. 2022-10-18 14:22:52 -07:00
Adam Williamson
f9e75482a8 Update check-needles.py for blivet biosboot fs needle
I added a new blivet fs needle a few weeks back, but forgot to
update check-needles.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-09-04 08:54:02 -07:00
Lukáš Růžička
c40a35ea62 Add a new test for Calculator. 2022-08-05 11:34:22 -07:00
Lukáš Růžička
7c1e686d14 Create tests for Help. 2022-06-29 23:06:37 +00:00
Adam Williamson
71b7572d15 Update check-needles for anaconda user creation help needle rename
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-02-25 12:41:26 -08: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
fcf96f73b7 Tweak Blivet LVM device type needles
There's some cheating/sloppiness going on here, with the same tag
and sometimes same needle being used to match "LVM2 Volume Group"
and "LVM2 Logical Volume". Today this caused us to pick the thin
pool entry instead in a test, so let's just clean this up and do
it right, with separate needles for matching each thing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-07 18:16:46 -07:00
Adam Williamson
0b55fda6f5 Update copyright statements to current RH recommendations
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-01 13:31:56 -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
b2e9ea6a48 allowlist select_bootefi in check-needles.py
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-23 18:25:07 -07:00
Lukáš Růžička
ba90c70c8a Add several tests to test QA:Testcase_partitioning_custom_btrfs_preserve_home.
This PR adds the `install_btrfs_upload` to install the btrfs based
image, the `btrfs_preserve_home_extras` to prepare and test the data
on the home partition, as well as the `custom_btrfs_preserve_home` that
uses the preinstalled btrfs image and uses its current partitioning to
preserve the home partition and the data on it.
2021-01-20 16:50:39 +00:00
Michel Normand
e9c15a502a ppc64le changes in disk_custom_blivet_resize_lvm.pm
Required because ppc64le has a PReP partition
before boot partition.
PReP partition must not be changed by this script.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2021-01-12 11:14:17 +01:00
Lukáš Růžička
5718c7f1d4 Add an installation test using LVM partitioning as asset for resize tests.
When Fedora went to BTRFS as a default, we lost the LVM based image to
run LVM resize tests with.

This PR introduces the `install_lvm.pm` installation test that creates
an LVM based qcow2 image to be used by follow-up tests.
2020-11-26 09:55:19 +01:00
Lukáš Růžička
4d4b2d7739 Finish the post review changes. 2020-05-28 13:32:42 -07:00
Lukáš Růžička
2a3e67991b Whitelist not recognized needles in check-needles.py 2020-05-27 15:54:09 -07:00
Lukáš Růžička
f3d6a9574c Add desktop login test, revise and rename check_desktop
This adds a new test that implementsQA:Testcase_desktop_login
on both GNOME and KDE.

While working on this, we realized that the "desktop_clean"
needles were really "app menu" needles, and for KDE, this was
a duplication with the new "system menu" needles, because on KDE
the app menu and the system menu are the same. So I (Adam)
started to de-duplicate that, but also realized that "app menu
button" is a much more accurate name for these needles, so I was
renaming the old desktop_clean needles to app_menu_button. That
led me to the realization that "check_desktop_clean" is itself a
dumb name, because we don't (at least, any more, way back in the
mists of time we may have done) do anything to check that the
desktop is "clean" - we're really just asserting that we're at a
desktop *at all*. While thinking *that* through, I *also* realized
that the whole "open the overview and look for the app grid icon"
workaround it did is no longer necessary, because GNOME doesn't
use a translucent top bar any more. That went away in GNOME 3.32,
which is in Fedora 30, our oldest supported release.

So I threw that away, renamed the function "check_desktop",
cleaned up all the needle naming and tagging, and also added an
app menu needle for GNOME in Japanese because we were missing
one (the Japanese tests have been using the "app grid icon"
workaround the whole time).
2020-04-17 17:27:04 -07:00
Adam Williamson
21eea18562 Add a needle check script, remove some unused needles
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>
2020-04-08 16:55:46 -07:00