Commit graph

1977 commits

Author SHA1 Message Date
Adam Williamson
2c197d520c Add a whole intermediate template format ('FIF') and tools
I and @lruzicka (and I think @jskladan and @jsedlak and
@michelmno and everyone else who's ever touched it...) are being
gradually driven nuts by manually editing the test templates.
The bigger the files get the more awkward it is to keep them
straight and be sure we're doing it right. Upstream doesn't do
things the same way we do (they mostly edit in the web UI and
dump to file for the record), but we do still think making
changes in the repo and posting to the web UI is the right way
around to do it, we just wish the format was saner.

Upstream has actually recently introduced a YAML-based approach
to storing job templates which tries to condense things a bit,
and you can dump to that format with dump-templates --json, but
@lruzicka and I agree that that format is barely better for
hand editing in a text editor than the older one our templates
currently use.

So, this commit introduces...Fedora Intermediate Format (FIF) -
an alternative format for representing job templates - and some
tools for working with it. It also contains our existing
templates in this new format, and removes the old template files.
The format is documented in the docstrings of the tools, but
briefly, it keeps Machines, Products and TestSuites but improves
their format a bit (by turning dicts-of-lists into dicts-of-
dicts), and adds Profiles, which are combinations of Machines and
Products. TestSuites can indicate which Profiles they should be
run on.

The intermediate format converter (`fifconverter`) converts
existing template data (in JSON format; use tojson.pm to convert
our perl templates to JSON) to the intermediate format and
writes it out. As this was really intended only for one-time use
(the idea is that after one-time conversion, we will edit the
templates in the intermediate format from now on), its operation
is hardcoded and relies on specific filenames.

The intermediate format loader (`fifloader`) generates
JobTemplates from the TestSuites and Profiles, reverses the
quality-of-life improvements of the intermediate format, and
produces template data compatible with the upstream loader, then
can write it to disk and/or call the upstream loader directly.

The check script (`fifcheck`) runs existing template data through
both the converter and the loader, then checks that the result is
equivalent to the input. Again this was mostly written for one-
time use so is fairly rough and hard-coded, but I'm including it
in the commit so others can check the work and so on.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-24 15:21:23 +01:00
Adam Williamson
12b0fb04dc Update a ppc64le-only blivet needle for Cantarell 0.201
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-24 15:20:54 +01:00
Adam Williamson
776d31bd5b Update various Cockpit needles for 211
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>
2020-01-24 15:18:27 +01:00
Adam Williamson
f11a57f01a Drop match level on cockpit main needle
New cockpit hits 95%, let's just drop the required %age rather
than make a new needle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-24 12:53:14 +01:00
Adam Williamson
b2139bf2dd Fully fix the reboot unmount test
OK, we need to define $self. And we're also gonna need to login
a bit harder later too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-24 12:30:58 +01:00
Adam Williamson
9d985d8ebd Fix base_reboot_unmount on graphical installs
On graphical flavors we are not at a console when this test runs.
We need to do root_console to get there, and also bypass_1691487
for ppc64le. Copied from base_selinux.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-24 11:51:18 +01:00
Adam Williamson
8b28625ea2 Add a little script that converts the templates to JSON
For reasons! We are thinking about ways to improve the template
workflow, and this is useful for doing that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-22 14:54:24 +01:00
Adam Williamson
0a4a787c03 Give Firefox longer to start
It seems to take a long time sometimes for some reason. Can't
pin it down but it's causing test flakes, so let's just let it
be. It *may* happen when chrony adjusts the system clock just as
Firefox is starting, for some reason.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-22 10:40:46 +01:00
Lukáš Růžička
23bae35d82 Create a test to test unmount errors during reboot (aka Reboot Testcase) 2020-01-21 16:55:43 +01:00
Lukáš Růžička
780a88f443 Fix indentation in templates. 2020-01-21 16:09:32 +01:00
Adam Williamson
c922226d7c Add a variant Cockpit join_complete needle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-20 13:36:58 +01:00
Adam Williamson
49a540cc3d Update addon_success needle for new Firefox
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-20 13:36:28 +01:00
Adam Williamson
f8292bfeeb More Cantarell: Russian and French
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-18 23:56:11 +00:00
Adam Williamson
a653ded877 Next batch of Cantarell needles: Arabic install
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-17 15:32:30 +00:00
Adam Williamson
28642f4002 Move a stray app needle to the right place
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-17 15:19:17 +00:00
Adam Williamson
8612858b1f Second batch of Cantarell needles: GNOME apps tests
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-17 15:18:50 +00:00
Adam Williamson
21febe3592 First batch of updates for new version of cantarell
Still need to do the non-English languages. I'll do those
tomorrow.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-17 01:18:52 +00:00
Adam Williamson
d236c48152 Doh, fix stray quote mark from last commit
Where did I leave my brown paper bag...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-16 18:57:17 +00:00
Adam Williamson
1098450fd6 Pull in F30 Cockpit 210 update as a workaround
Otherwise the new cockpit main screen needle match fails, because
'machine' is not on the top part of the screen.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-16 18:51:40 +00:00
Adam Williamson
13da4f2d26 Add another new Cockpit join complete needle
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>
2020-01-15 15:22:34 +00:00
Adam Williamson
e9fa0b4bde Change type_safely in VNC tests to type_very_safely
We seem to have problems with the typing here on ppc64le, so
let's make it safer.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-15 15:13:44 +00:00
Adam Williamson
1e025c0b27 Tweak cockpit main needle to work on ppc64 too
We don't get a CPU model on ppc64, we get a machine ID everywhere
(I hope).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-15 12:16:33 +00:00
Adam Williamson
e020b87d3a Drop the pseries-4.0 workaround for ppc64le
Should not be needed any more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:45:09 -08:00
Adam Williamson
ba40ba3e4a Drop #1663050 workaround (fixed a while ago)
This block is kinda weird, but I don't want to fiddle with it
any more right now. I don't know why we do this check_screen
exactly like this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:41:41 -08:00
Adam Williamson
0714143673 Drop a stray old comment and move a debug block up
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:34:58 -08:00
Adam Williamson
2aed12c6c1 Drop another old version check
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:28:49 -08:00
Adam Williamson
4903f7bfc3 Drop another old version check
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:27:51 -08:00
Adam Williamson
fec49f05ec Drop old rolekit code from database and freeipa tests
RIP rolekit

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:25:45 -08:00
Adam Williamson
fc93309b41 Drop _assert_and_click shim
We're on newer code on both deployments now, no longer needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:22:20 -08:00
Adam Williamson
dba4e8c57d Drop old version conditionals
We're well past 27 now...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:20:44 -08:00
Adam Williamson
fcb06a874c Drop no-longer-needed update workarounds
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:18:54 -08:00
Adam Williamson
367433c298 Drop a debugging upload from server_remote_logging_server
This is failing a lot lately. I've no idea why, but it's not
really part of the actual test and we don't need it for debugging
all the time, so let's drop it for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 09:43:03 -08:00
Adam Williamson
35c863a312 Lower match level on another kernel.org patch needle
We're now getting 91-92% matches on this older needle.
¯\_(ツ)_/¯

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 08:25:55 -08:00
Adam Williamson
aa0edd263b Update Cockpit 'realm join complete' needle for new cockpit
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-08 17:28:49 -08:00
Adam Williamson
3998e9c86c Drop the 'cockpit join progress' needle match
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>
2020-01-08 15:32:29 -08:00
Adam Williamson
0926be0520 Drop similarity level on a flashing cursor wait_still_screen
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-08 15:31:32 -08:00
Adam Williamson
3067e0d223 Try and type safer in desktop_printing
We're getting issues with KDE's crazy-slow alt-f2 behaviour
here. So try and be even more conservative.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-07 08:09:12 -08:00
Adam Williamson
e3430e82ef Update Rhythmbox app needle
The icon changed, so the needle needs changing.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-06 12:32:44 -08:00
Adam Williamson
766d5f163e Update GDM input needles (an icon appeared in the text entry)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-06 10:57:53 -08:00
Adam Williamson
acf27fcd4a Update the blivet 'bluebox-alt' needle used on alt arches
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-06 10:56:44 -08:00
Adam Williamson
478a55f057 Drop one more mention of wait_idle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-03 14:20:18 -08:00
Adam Williamson
7234729949 Drop use of logs_severity needle from Cockpit test entirely
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>
2020-01-03 09:27:48 -08:00
Adam Williamson
34dc2751a5 Replace remaining wait_idles with sleeps
wait_idle is finally removed upstream in recent git os-autoinst.
This replaces all remaining wait_idles with sleeps, except for
one which is removed (I'm hoping improvements to typing in the
last few years should mean it isn't necessary any more, if it
turns out to be, I'll put it back as a sleep).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-02 17:44:45 -08:00
Adam Williamson
f94d43f55d Try and wait more safely before entering user creation
This failed a couple times in a row on KDE live, let's see if
wait_still_screen is better than sleep.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-27 10:46:17 -08:00
Adam Williamson
20b16e9345 Drop a couple of obsolete workarounds from _installer_build
F28-era stuff.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-20 09:19:13 -08:00
Adam Williamson
5be282c744 Drop cockpit_logs_severity match requirement again
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>
2019-12-20 09:04:52 -08:00
Adam Williamson
a88d7b701e Add another Cockpit realm join complete button
Whitespace changed, sigh...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-18 23:21:15 -08:00
Adam Williamson
f9f2d08263 Add new cockpit autoupdate on needle
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-18 12:36:57 -08:00
Adam Williamson
237cdee4b2 Tweak Cockpit log severity needles
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>
2019-12-18 10:51:47 -08:00
Adam Williamson
beba6426b1 Update realmd_join_cockpit for Cockpit 209
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>
2019-12-14 12:29:00 -08:00