Commit Graph

617 Commits

Author SHA1 Message Date
Adam Williamson
41aed12b16 Handle Boxes tutorial screen in _vnc_client_connect
We can get tripped up by the tutorial screen when launching
Boxes; borrow some code from the app start/stop test to check for
and handle it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-27 12:04:00 -07:00
Adam Williamson
0b7a9cf3c8 desktop_login: give 'ret' keypress a bit of time to take effect
The default timeout for check_screen is 0, so we were only giving
the enter key press a fraction of a second to take effect before
expecting to see locked_screen_switch_user. This is too tight,
see https://openqa.fedoraproject.org/tests/586257 . Let's give it
five seconds before we give up.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-24 10:39:12 -07:00
Lukáš Růžička
fd3e4e3280 Change the order of steps and add another check screen.
Since GDM shows the "system-menu-button", it could not correctly
switch users on a locked screen. I added a check to see
if we are on a locked screen and behave accordingly.
2020-04-22 21:52:19 +02:00
Adam Williamson
ea9ac508ac Fix check_desktop variable timeouts
I forgot that tries was configurable. Sigh. Convert it to a
timeout argument.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-18 14:54:48 -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
252013fe3a Tweak desktop_notifications to work around #1821499 (again)
...this one should really work!

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-14 12:10:02 -07:00
Adam Williamson
0189b338d0 Drop all #1821499 workaround attempts
This stuff is kinda broken in various ways and halfline thinks
he can fix the underlying bug anyway. So let's go back to just
the GNOME live test being broken for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-07 15:14:57 -07:00
Adam Williamson
1c3106ebe3 OK, try setting GDM to debug mode instead?
I tested this workaround on staging before pushing it to git and
it worked, but then when I pushed it to prod it didn't work. On
stg I also had this to set GDM to debugging mode, so maybe this
is also needed for the workaround to work for some reason?

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:30:03 -07:00
Adam Williamson
b811d93c4c Try a sleep before hitting enter on GDM screen
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:19:06 -07:00
Adam Williamson
d8c7f85ecb Workaround RHBZ#1821499 in desktop live notifications test
A GNOME bug seems to result in us getting to GDM, not a liveuser
desktop, after running 'systemctl isolate graphical.target' from
a live boot to runlevel 3 since the end of March. This works
around that to let the test run, as it's not really a failure of
the test per se.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-06 17:05:11 -07:00
Michel Normand
cc5c85a3e4 Increase timeout for getting_started ppc64le f32
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-04-03 19:38:04 +02:00
Michel Normand
d384cfed30 Regenerate grub.cfg for ppc64le Silverblue to boot (step 2)
Previous commit same summary had some side effect
solved by this new one.

And avoid a warning in autoinst-log when ABRT var not defined.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2020-04-02 20:50:06 +00:00
Lukáš Růžička
603ee871c1 Prevent the Konqueror test from running on F32 and later.
Rework changes after the review.
2020-04-02 14:08:19 +02:00
Adam Williamson
36181eea76 Fix 'actions' ordering after last commit
I merged the previous commit before realizing the ordering was
wrong. All other 'actions' lines have to come *before* the one
that adds 'reboot', because one of the conditions for that is
whether @actions is populated - basically, if we're taking any
actions, we also have to reboot afterwards. If we add an action
*after* that line (but no actions were added before that line),
we'll do it but then not reboot and the test will break.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-04-01 10:34:50 -07:00
Guy Menanteau
8d7be9a227 Regenerate grub.cfg for ppc64le Silverblue to boot, brc#1817004
Patch for https://bugzilla.redhat.com/show_bug.cgi?id=1817004

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2020-04-01 09:57:23 +02:00
Lukáš Růžička
29f9da9331 Revert "Prevent the Konqueror test from running on F32 and later."
This reverts commit 00b756f0e2.

Unfortunately, I made a typo in the script and the fix did not
work. I do not want to rebase the master (in order not to break
things for everyone) so I am reverting again.
Sorry.
2020-03-31 13:04:50 +02:00
Lukáš Růžička
00b756f0e2 Prevent the Konqueror test from running on F32 and later. 2020-03-31 09:37:11 +02:00
Lukáš Růžička
a54f020118 Revert "Fix the Konqueror test - handle Locations dialogue."
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.
2020-03-31 09:23:13 +02:00
Adam Williamson
a3796fb901 bump the server_cockpit_autoupdate timeout to help F30/F31
We seem to be seeing the bug this works around:
https://bugzilla.redhat.com/show_bug.cgi?id=1765685
in F30 and F31 update tests even with this wait. At least, it
looks that way. Trying this to see if a longer wait helps.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-27 14:37:54 -07:00
Lukáš Růžička
d784bf54ca Fix the Konqueror test - handle Locations dialogue. 2020-03-26 10:57:00 +01:00
Adam Williamson
37f597229a Boxes: drop RHBZ #1692972 workaround, fix for <F32
RHBZ #1692972 was fixed long ago, so we don't need to worry
about that any more. But this test failed on the recent F31 live
respin compose because it was changed to assume the tutorial
would appear on startup, which only happens on F32+. To make the
test work on F31 respins, let's handle both paths. Once F32 is
stable we can drop this as we won't run the test on F31 any more
after that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:18 -07:00
Adam Williamson
66bd961765 Use quit_firefox in Cockpit update tests
Just doing ctrl-q breaks if we hit the 'close tabs' dialog,
which seems to happen occasionally.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:18 -07:00
Adam Williamson
cced8f5428 Tweak release_identification for awkward IoT 33 branch
IoT created a branch that's basically Rawhide but is versioned
33. This causes the release_identification tests to fail. I don't
think they'll change this on their end, so let's just have the
test cope with it and expect branches versioned as the Rawhide
release number to behave as Rawhide does here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-18 11:45:27 -07:00
Adam Williamson
c884842439 Update expected Silverblue os-release strings
It seems to be actually installing fedora-release-silverblue now
so we get correct identification here. Update the tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-18 10:46:13 -07:00
Lukáš Růžička
d19cf9553e Reneedle the Gnome Application StartStop tests. 2020-03-18 18:06:34 +01:00
Adam Williamson
2d86c6284e Bump installer image rootfs size on Fedora 30 update tests
https://bodhi.fedoraproject.org/updates/FEDORA-2020-1070052d10#comment-1284223
It seems the rootfs on the Fedora 30 installer images we build at
present has gotten very big, so big that an update which contains
some very slightly larger firmware packages causes the rootfs to
be completely full (though lorax doesn't fail) and the image
doesn't boot.

I don't yet know when or why the rootfs got that big, but it's
not really a bug in this update, so for now let's just tell
lorax to use a bigger rootfs so the tests pass for this and any
similar future updates, until I can maybe find time to pinpoint
the culprit more precisely.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 20:00:52 -07:00
Adam Williamson
631cd368bc live build: give it 10 more minutes
Getting some timeouts on f32 near the end of the build process.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-17 13:26:26 -07:00
Adam Williamson
657f29c399 Set a timeout for the cockpit_services_detail check_screen
Seems default for check_screen is 0, not 30 as I assumed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-12 19:17:27 -07:00
Adam Williamson
55a2229e4c Fix upgrade workaround stuff for upgrade_2
Initial implementation wasn't correct, I forgot CURRREL is not
'the pre-upgrade release version' but just 'the current stable
release'. This is a dumb way to figure out the correct release
number for this context but off-hand I can't think of a better
one.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-12 09:30:51 -07:00
Adam Williamson
e7c6501737 Extend update test workaround mechanism to upgrade tests
To cover cases like #1767351 where we need to apply a workaround
to the pre-upgrade environment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-06 19:21:44 -08:00
Adam Williamson
db3f6c1b02 Tweak _collect_data services collection grep
When there's a failed service we get a stupid bullet-point char
at the start of its line, and all the other lines are space-
padded to match indentation. Which is annoying! This (I hope)
ditches that crap without losing anything of value.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-05 08:28:31 -08:00
Adam Williamson
1d4557126a os_release: fix ISO parsing for 'Fedora-IoT' composes
Also comment this better. We need to index from the end of the
string here, not the start, because going from the start breaks
when the compose shortname has a dash in it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-26 12:01:06 -08:00
Adam Williamson
cc61664e9e Drop --title from live image build command
Per https://github.com/weldr/lorax/pull/881 it wasn't doing
anything anyway, and using it causes the command to fail in F32
and later.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-25 22:56:48 -08:00
Lukáš Růžička
5bfc22800c Assert that terminal is really running (#144) 2020-02-25 10:24:38 +01:00
Adam Williamson
73896672cd Update live image build for a change to upstream mock
https://github.com/rpm-software-management/mock/commit/cb25d3ba
changes existing mock configs for stable releases to have a
`dnf.conf` section instead of a `yum.conf` section, and this
change got pushed out to F30 and F31, which breaks us :( Our
mock config that we use for building live images assumes the
existence of a `yum.conf` section in the config it inherits
from.

This change is now stable for F30 and F31, so at least we don't
have to do any conditional shenanigans; we can just change to
'the new style' unconditionally and things should work OK.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-20 12:24:10 -08:00
Adam Williamson
90cc65b2fa Wait a bit longer from software selection back to main hub
Seems like this can sometimes take even longer than 50 seconds,
e.g. https://openqa.stg.fedoraproject.org/tests/727432 . Let's
give it 90.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-20 08:52:35 -08:00
Adam Williamson
2e6cf6453d Tweak IoT initial-setup handling (only on F31)
initial-setup doesn't appear on IoT F32+, so we shouldn't expect
it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-02-20 08:38:50 -08:00
Adam Williamson
0f8f6082eb Enable IoT testing with install and base tests
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>
2020-02-17 08:36:55 -08: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
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
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
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
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
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
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
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
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
Adam Williamson
0b1d481ae1 Wait a bit longer for different dialogs in KDE app kontact test
See https://openqa.fedoraproject.org/tests/498083 , we didn't
wait long enough for Enable Unified Mailboxes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-14 08:57:32 -08:00
Adam Williamson
2b158c60e5 Try yet another way to work around KDE live anaconda launch fail
Sigh. Let's just try clicking it again...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-06 09:22:02 -08:00
Adam Williamson
8f8563ff13 Try a different way to fix KDE live anaconda launch issues
Lately launching anaconda on the KDE live image seems pretty
unreliable and we're not sure why. My last attempt to fix it
doesn't seem to be working, here's another effort based on the
idea it might be caused by moving the mouse from the hidden
position to the icon and back again, let's try moving the mouse
close to the icon before we assert and click it...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-05 10:48:15 -08:00
Lukáš Růžička
77ae127cce Create an automated test to test printing on Desktop
Add functions to test on KDE, too.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-05 09:22:50 -08:00
Adam Williamson
5c03c435ca Stop having two 'firefox close tabs' needle tags, drop old ones
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>
2019-11-29 12:10:35 -08:00
Adam Williamson
0b210fe44c Sleep a bit before clicking the anaconda icon on live install
KDE tests are quite frequently failing lately because anaconda
doesn't launch. I'm hoping this will help.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-22 09:54:47 -08:00
Adam Williamson
dcbd7dd7c9 Add a comment explaining what autocloud.pm does
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-21 14:58:53 -08:00
Adam Williamson
54a6b21c28 Run autocloud tests on Cloud_Base qcow2 images
autocloud is dying soon. So, we want to run the tests in openQA
instead. This adds a test module called 'autocloud' and a test
suite called 'cloud_autocloud' which basically replicate what
autocloud does (download a tarball full of tests and run each
one), and the necessary template bits to run it on Cloud_Base
qcow2 images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-21 14:29:43 -08:00
Adam Williamson
5c784e22cc Skip post-install actions for VNC client installs
...otherwise the VNC client tests fail on aarch64 because we try
to apply the 'console=tty0' workaround for #1661288. Fortunately
we don't really need that for the VNC install test to work, so
let's just skip it. We can make this more sophisticated later if
it turns out to be necessary.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 18:56:06 -08:00
Adam Williamson
82db1770d5 Hack around a serial console prompt check failing during install
os-autoinst has this code when doing `script_run` on a serial
terminal that does a `wait_serial` for '# ' before running the
command. For some reason when we switch to the anaconda root
console and run a couple of commands after finishing install on
ppc64, the first of these prompt checks times out, which means
the test sits there doing nothing for 90 seconds unnecessarily.
Let's try and avoid that by hacking the prompt check regex to
be empty.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 09:15:58 -08:00
Adam Williamson
67e7415f2f Fix a bug with stashing original serial_term_prompt setting
Whoops.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 09:15:58 -08:00
Adam Williamson
48b6c9d3e9 Change name we use for virtio serial consoles
There is nothing inherently 'root'-y about these so it makes no
sense to prefix their names with 'root-'. And why change from
'console' to 'terminal' compared to the naming used in the
actual qemu command and the log files? It's just confusing.
Let's be consistent (except for using - instead of _ here...
but - is easier to type!)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 08:39:28 -08:00
Lukáš Růžička
b93a197c22 Enable Anaconda Text install via serial console.
This adds the Anaconda text installation test over
serial console and FIXES #115.
2019-11-19 22:54:55 -08:00
Adam Williamson
4c05f19a9f Add QA:Testcase_Anaconda_User_Interface_VNC_Vncconnect tests
This adds tests for vncconnect, a variation on VNC install using
reverse VNC (where the client waits for the server to connect to
it). Very similar to the regular-VNC test, but we have to use
tigervnc as Boxes doesn't do reverse VNC.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-06 17:42:29 -08:00
Adam Williamson
b82a1dec6f Add test for QA:Testcase_Anaconda_User_Interface_VNC
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>
2019-11-05 14:46:10 -08:00
Adam Williamson
efec7010cb Handle an 'akonadi did something' notification in KDE, etc.
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>
2019-10-30 09:05:06 -07:00
Lukáš Růžička
907e27cd8f Change nodejs module version in the install test to make it pass. 2019-10-30 14:58:26 +01:00
Adam Williamson
47fe6acf73 Add a sleep to server_cockpit_autoupdate to work around #1765685
We don't know exactly what's going on with this bug yet, but as
a 15 second sleep seems to avoid the issue, let's do that for
now so we catch any future issues.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-29 18:29:24 -07:00
Adam Williamson
d4634e082c Use bypass_1691487 at the start of fedora_release
It gets bit by that problem on ppc64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-22 14:32:09 -07:00
Adam Williamson
bf7d6d0149 Wait out animation in 'no user' 'not GNOME' flow
See https://openqa.fedoraproject.org/tests/473215 - it failed
because we tried to click FINISH CONFIGURATION while it was
still animating downwards.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-21 10:56:31 -07:00
Adam Williamson
b12c529e34 Try and reduce timing failures in desktop_browser new tab
The way this works at present, with a check_screen and then an
assert_and_click, there's a window where the check has passed
so we're committed to the assert, but it takes a half second or
so for the assert to actually complete (checking for a needle
is a somewhat heavy operation). During that half second the
'new update!' notification can...and quite often does...appear.
Changing the assert_and_click to a click_lastmatch should (I
hope) tighten this window; click_lastmatch should fire faster
than assert_and_click so there'll be less of a window for the
update notification to appear and break stuff.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-19 10:30:50 -07:00
Lukas Ruzicka
22b185abf6 Enable tracking of executed applications in Application Start/Stop tests (FIXES #116)
This PR adds the following:
* moves out the presetting procedures, so that two long terminal tests do not have
to run twice
* add methods for application to register when successfully started
* adds a test that checks if all required applications have registered
2019-10-16 17:36:37 -07:00
Adam Williamson
b55782358d Don't check version or pre-release note on banners
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>
2019-10-16 11:08:24 -07:00
Lukas Ruzicka
519e6a8d20 Fix Silveblue Beta Values 2019-10-08 14:36:49 +02:00
Lukas Ruzicka
5aa9ca1cf3 Fix VERSION and PRETTY_NAME os-release checks for Silverblue.
This PR fixes #124.
It uses the BUILD variable to get the build string from the
tested compose and uses it to compare correct values for Silverblue.
Originally, it used Workstation values that did not match the
Silveblue ones.

Delete bad yank.
2019-10-08 11:08:58 +02:00
Adam Williamson
80dea7efe2 Tweak PXE boot test to also check kickstart file path
One of the test cases we didn't yet automate is:
https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg
Now we have a PXE test, it's actually a good opportunity to test
that at the same time. I don't usually like combining tests like
this but in this case it sort of makes sense as otherwise we'd
have to have a whole parallel PXE install just to test this one
other detail. So, instead of doing an interactive PXE install as
we did at first, let's tweak the test to include a kickstart in
the initramfs and run the install from that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-07 14:11:48 -07:00
Lukas Ruzicka
d82f4ecd7f Develop a new test for system updates via Cockpit.
* 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.
2019-10-01 16:04:01 +02:00
Adam Williamson
8be0541ce7 Tweak live_build mock handling to work with templates
mock is changing the config files to be based on templates,
which breaks how we generate the live build mock config. This
should work with both the old and new config files.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-23 16:00:08 -07:00
Adam Williamson
c0f911067f Disable prerelease text check in disk_guided_empty
This is causing all kinds of trouble, because when the test is
run on the Server DVD - with the 'orange to blue' gradient - the
prerelease note is dark red text on a dark blue background.
os-autoinst actually reduces the color depth of images/needles
and greyscales them before performing the match...but for this
dark red text on dark blue background, the result seems to be
that the text and background come out *the same grey*, so *any*
text will match the needle (even if it's completely different
text), as will *no text at all*. I've tried finessing around
this a few times but it just keeps happening, so for now I'm
just disabling the pre-release text check at this point. We still
have the check during _boot_to_anaconda, when the text appears
on a *grey* background and so isn't a problem. I'm not removing
the needles yet, until we hear back from upstream:

https://progress.opensuse.org/issues/56822

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-11 15:01:54 -07:00
Lukas Ruzicka
46bc71afd6 Delete the KDE test for Release Notes due to retirement. 2019-09-05 11:41:18 +02:00
Adam Williamson
8b236592d9 Disable SELinux for live image build test
Building images with SELinux in permissive mode worked fine in
F29 and F30, but it seems to be broken in F31. Releng seems to
have it set up so the build environment has SELinux disabled,
so let's do the same. Will file a bug for this, as bcl says it
should be considered a bug.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-29 17:49:27 -07:00
Lukas Ruzicka
022865ab9f KDE app start/stop: launch apps with commands not menus
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.
2019-08-23 12:41:49 -07:00
Adam Williamson
bf5691e69d Fix and simplify fedora_release test
Also simplify os_release a bit thanks to the improved spell_
version_number.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-21 13:09:40 -07:00
Adam Williamson
2f51f3ef20 Add PXE boot test
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>
2019-08-20 18:17:57 -07:00
Adam Williamson
a177a63ec1 Factor out s/metalink/mirrorlist/ into a util function
We do this in quite a few places and need to do it in another,
so let's just have a function for it. It takes a file glob
so we can have it run on a different one for _live_build.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-20 14:16:23 -07:00
Adam Williamson
d4206ee732 Drop one old regex bit from install source check
Not needed now F28 is EOL.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-20 12:06:33 -07:00
Adam Williamson
d71daa1fe4 Do the metalink->mirrorlist dodge in live_build mock config
This avoids hitting slow metadata downloads in mock env.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-15 13:36:25 -07:00
Adam Williamson
cac08c170f Remove RHBZ #1704488 workaround (was fixed a while back)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-15 11:45:16 -07:00
Adam Williamson
cf5704eb3d Goddamn boilerplate...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-14 14:43:23 -07:00
Adam Williamson
7739bdbbd8 D'oh - check_desktop_clean is in utils...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-14 14:42:18 -07:00
Adam Williamson
469a1395d0 Revise desktop background checks
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>
2019-08-14 14:30:25 -07:00
Lukas Ruzicka
d06b30e8dc Add new testcases and methods for release identification. 2019-07-30 15:45:02 -07:00
Adam Williamson
c4c998c5a8 Actually set longer timeout before services entry click
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-25 14:25:11 -07:00
Adam Williamson
cf709af13c cockpit: retry the 'services entry' click if it fails
cockpit test often seems to fail because the click on a services
entry to open the services detail screen just gets lost. Let's
wait longer before trying it, and retry once if it fails.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-25 14:17:33 -07:00
Adam Williamson
be12f07900 GNOME apps: dismiss new LibreOffice 'tip of the day' if it shows
Also add a new needle for Impress startup.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-23 20:15:24 -07:00
Adam Williamson
19268619fd Adapt _do_install_and_reboot for Rawhide user/root spoke change
The user and root spokes were moved from during-install to pre-
install hub in Rawhide. This should cope with that, while still
working for older images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-23 12:14:03 -07:00
Adam Williamson
317aadeb2b potential_conflict: still need to call the interpreter
script isn't executable as downloaded, this is easier than chmod.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-22 15:00:25 -07:00
Adam Williamson
5a10c537f7 Update potential_conflict invocation for Python 3
The script got ported. Yay.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-22 14:54:36 -07:00
Lukáš Růžička
2db77367f9 Add new action to the install test. 2019-07-19 14:22:49 +02:00
Adam Williamson
25f408ea7e Factor out clicking of update and akonadi notifications in KDE
There are three places where we basically want to click away
pop-up update notifications and the buggy akonadi_migration_agent
notification if it's there, in KDE tests. Let's share this code
between them, and also let's record soft failures for the buggy
cases in the desktop_notifications test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-17 09:02:24 -07:00
Adam Williamson
eba6818f5b KDE app start/stop: also get rid of akonadi notification
...because it screws with the test. See
https://bugzilla.redhat.com/show_bug.cgi?id=1716005

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-16 15:53:02 -07:00
Adam Williamson
4cc51a51a0 Dismiss multiple update notifications in app start/stop test too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-16 14:40:10 -07:00
Adam Williamson
43417f925c Whoops...actually decrease the counter
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-16 14:05:00 -07:00
Adam Williamson
34321dae8f desktop_notifications: handle multiple KDE update notifications
Current KDE seems to like showing us multiple update available
notifications. So the test must dismiss all of them. See:
https://bugzilla.redhat.com/show_bug.cgi?id=1730482

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-16 13:58:15 -07:00
Lukas Ruzicka
1475813b75 Update the modularity tests.
* Add test to check module defaults.
* Add whitelist download.
* Fix install test to include selected profile to be on the safe side.
* Add test into templates.
2019-07-15 13:19:06 +02:00
Adam Williamson
dfce3e522d desktop_update: handle multiple KDE update available notifications
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-10 12:37:26 -07:00
Adam Williamson
9078bca871 cockpit: update needles for 198, rejig Services page handling
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>
2019-07-10 11:43:03 -07:00
Adam Williamson
2ecf97e7a7 Revert "desktop_browser: remove the new tab workaround"
This reverts commit a0c6d1c88e.
Sadly we're still getting problems opening new tabs, even though
I thought the os-autoinst change should solve it.
2019-07-08 10:25:46 -07:00
Adam Williamson
a0c6d1c88e desktop_browser: remove the new tab workaround
I'm pretty sure I worked around the modifier bug in os-autoinst,
so this shouldn't be necessary any more. See:
https://bugzilla.redhat.com/show_bug.cgi?id=1727388

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-05 16:42:58 -07:00
Adam Williamson
78dd42b876 Automate two 'mediakit' tests (repoclosure and file conflicts)
We can run these tests much like support_server - have a test
which boots from the support_server disk image but with the ISO
to be tested attached, then mounts it and runs the scripts.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-07-04 13:44:20 -07:00
Adam Williamson
de4a58438b Use existing needle for dismissing KDE update notification
@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>
2019-07-03 08:39:01 -07:00
Lukas Ruzicka
71c4e273ef Click off updates notification if it appears. 2019-07-03 10:52:47 +02:00
Lukas Ruzicka
d538959011 Update modules to test. 2019-07-03 10:42:33 +02:00
Adam Williamson
5bb9f26b5f Try and fix root password setting for ostree installs
This is kind of a pain. I hope this works...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-06-28 14:09:55 -07:00
Adam Williamson
604a476295 Don't setenforce before chpasswd for root
This shouldn't be needed any more (the referenced bug was fixed
in F28) and doesn't work in non-live installer.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-06-28 14:09:55 -07:00
Adam Williamson
c0bad87836 Revamp post-install Doin' Stuff
This whole block where we do various things at the console after
install completes was becoming a real mess. I had secret hopes
of killing it entirely at some point, but...that doesn't look
like it's gonna happen this century. So let's make it better
instead. The conditionals were getting very nested and icky and
it was hard to see what was actually going on. This rationalizes
things so first we figure out all the things we might want to do
at a console, then if we don't have anything to do at a console
we go ahead and hit the reboot button; otherwise we go to the
console and do all the things we need to do, including rebooting
unless this is the memory check test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-06-28 14:09:55 -07:00
Lukas Ruzicka
9e3b16bfcf Change Settings test due to change functionality. 2019-06-21 14:54:18 +02:00
Adam Williamson
7c78f9a710 Don't try bypass_1691487 for graphical base_selinux runs
This just doesn't work when running the test on a graphical
install because we're at a desktop when we try and do it, not
a text console. So let's only try to do it if there is no
DESKTOP. See e.g.:

https://openqa.fedoraproject.org/tests/408484#step/base_selinux/2

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-06-03 15:32:25 -07:00
Adam Williamson
7953fb91d1 Try to handle spurious 'auth required' on KDE update test too
Sigh, now *this* is showing up in KDE too. Fun.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-30 17:54:27 -07:00
Adam Williamson
2e56facb68 Try to handle changes to KDE update notifications in Rawhide
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>
2019-05-30 17:34:09 -07:00
Adam Williamson
43b990195c Add a wrapper around assert_and_click to handle signature change
So, turns out new os-autoinst does *not* still accept the old
argument style for assert_and_click...and old os-autoinst
doesn't accept the new one. This adds a wrapper that handles
both, so our tests can work with old and new os-autoinst. We can
drop this once both deployments are on newer os-autoinst.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-28 09:41:33 -07:00
Adam Williamson
87456f6b1d Use new arg style for assert_and_click
In the new os-autoinst I just sent to staging, the old style
doesn't work any more, breaks all tests. This style should also
work with the older os-autoinst on stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-27 14:28:17 -07:00
Adam Williamson
66917e791d Fix the check from the last commit
D'oh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-22 15:27:59 -07:00
Adam Williamson
e1ffd8aabd Fix text install test for 'use password' now being default
'use password' now seems to be default when creating a user in
text mode, so we need to handle that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-22 15:18:08 -07:00
Adam Williamson
0d38d3f292 FreeIPA: get verbose logs from BIND
This was necessary for debugging the FreeIPA 4.8 pre-release
update bug, so let's have it for all runs, just in case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-01 18:59:52 -07:00
Adam Williamson
6c22b55be5 Drop another part of branched buildroot repo workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-01 13:49:18 -07:00
Adam Williamson
f4c3c4c2cd Workaround #1704488 in the live image build test
Odd bug which breaks mock until you reboot or restart dbus-broker.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-29 16:24:19 -07:00
Adam Williamson
2d709a99ad Remove #1699099 workaround
We got a compose with the fix included, so this should no longer
be needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-18 07:59:29 -07:00
Adam Williamson
ccb67bd5a7 Extend gnome-software/issues/582 workaround to 2 auth requests
It seems that when this problem happens now we get *two* auth
requests, so we need to handle that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-17 10:32:04 -07:00
Adam Williamson
d0d99946ce Exclude fix for #1699099 from the workaround...
...so we can check it works.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-16 22:49:49 -07:00
Michel Normand
37e2f134f1 Bypass dup chars after snapshot brc#1691487
eg failing jobs:
https://openqa.stg.fedoraproject.org/tests/499908#step/_boot_to_anaconda/7
https://openqa.stg.fedoraproject.org/tests/519326#step/_post_network_static/4

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2019-04-15 16:20:13 +02:00
Adam Williamson
a9c6e69689 Make the 1699099 workaround not assert_script_run
File doesn't exist for ostree installs. No point failing if this
fails, we may as well just continue and see what happens.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-13 08:40:57 -07:00
Adam Williamson
33dd7ded6b Sigh fix a syntax error in a previous fix I am bad at this
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-13 08:02:52 -07:00
Adam Williamson
d1cb937ea3 Load correct keyboard layout before doing 1699099 workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-13 08:00:23 -07:00
Adam Williamson
2e68250bb1 Fix a logic bug in the 1699099 workaround which broke lots
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-13 07:56:57 -07:00
Adam Williamson
785eaffb3a Add a workaround for #1699099 so update tests don't fail on it
No purpose is being served by all update tests failing on this
bug, so let's try and work around it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-12 18:55:17 -07:00
Adam Williamson
33f63c3d95 rescue_shell_prompt is really just a root console needle...
...so make it look like all the other ones we have already.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-12 15:54:26 -07:00
Guy Menanteau
33fd05f3d0 New install_repository_nfsiso_variation
This is covering the  NFSISO_variation test as per:
https://fedoraproject.org/wiki/QA:Testcase_install_repository_NFSISO_variation

Change support_server to use support_5 disk image in templates
supposed to be previously created by updated createhdds tool
required for new test.

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2019-04-12 15:49:54 -07:00
Guy Menanteau
29070a54f1 New install_repository_hd_variation
use a new PREINSTALL to execute a rescue script before install.

This is covering the  Hard_drive_variation test as per:
https://fedoraproject.org/wiki/QA:Testcase_install_repository_Hard_drive_variation

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2019-04-12 15:49:54 -07:00
Michel Normand
4a00301725 new select_rescue_mode in lib/utils from rescue_mode_encrypted.pm
placed in lib/utils.pm to be used by another commit.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2019-04-12 15:49:54 -07:00
Adam Williamson
6bd24c3caa Set up FreeIPA reverse DNS on F28, where we still use rolekit
Otherwise the replica tests don't work.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-10 13:16:56 -07:00
Adam Williamson
dc81c64f4f Use type_very_safely for the desktop auth workaround
type_safely just ain't safe enough, it seems.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-10 12:46:45 -07:00
Lukas Ruzicka
99f93945b3 Change KDE desktop background at start of KDE app test
Since the KDE menus have transparency set, any time the wallpaper
changes the menus will look different, and the app tests may
fail. This sets the desktop wallpaper to black at the start of
the test suite to avoid this problem.
2019-04-09 08:57:43 -07:00
Adam Williamson
794c245786 Restore #1594402 / #1661288 workarounds (aarch64 console)
This reverts commit f40599ee15,
with a few tweaks. It turns out we still need these workarounds
- see https://bugzilla.redhat.com/show_bug.cgi?id=1661288 .
2019-03-29 15:22:47 -07:00
Adam Williamson
b1a0fd7dc3 Add tests for QA:Testcase Remote Logging test case
This commit adds server and client tests to cover the remote
logging Server test case.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-03-28 12:52:54 -07:00
Lukas Ruzicka
662f89f9d4 Fix Firefox failure. 2019-03-28 11:50:41 +01:00