Commit graph

43 commits

Author SHA1 Message Date
Adam Williamson
e8802935f9 Tweak text_console_login match area
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>
2019-11-27 10:39:29 -08:00
Adam Williamson
411f0d34e7 Revert "Tweak text_console_login match area"
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.
2019-11-27 08:36:35 -08:00
Adam Williamson
f66f510832 Tweak text_console_login match area
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>
2019-11-26 08:26:27 -08:00
Adam Williamson
e313e58cdd Add new variant boot_enter_passphrase graphical needle
New plymouth has tweaked this screen's appearance.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-24 13:20:51 -07:00
Adam Williamson
29a5e0bda7 Add variant 'permission denied' needle
For some reason, occasionally the 'm' character looks slightly
different. I have no idea why.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-11 10:47:13 -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
c043fb6189 Add a Bash 5.0 variant of the noprofile shell needle...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-12 16:05:12 -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
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
Adam Williamson
86fe913b84 Soft fail workaround the 'upgrade hangs at end' bug (#1674045)
We want to get accurate results from the rest of the upgrade
test and we know about this bug, so let's make it a soft fail
so we can see how the test is functioning otherwise.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-03-04 18:07:04 -08:00
Adam Williamson
fc1c8185f0 Add updated graphical encryption passphrase needle
The screen appearance changed in Rawhide, new needle needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-02-15 12:10:36 -08:00
Adam Williamson
536f699013 Post fail: handle landing in dracut shell, upload rdsosreport
If a test fails to the dracut shell, we currently don't do
anything useful. This should recognize when that happens, and
upload rdsosreport.txt.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-16 11:24:06 -08:00
Adam Williamson
ea867ef431 Great Stale Needle Cleanup 2018: everything else
It's my second least favorite day of the year again: Stale
Needle Cleanup Day!

This should get rid of all non-anaconda needles that definitely
are not being used any more. Cleanup of all anaconda needles was
in the previous commit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-12-17 17:07:15 -08:00
Adam Williamson
6a1505a175 Add UEFI variant of grub error page needle, rename BIOS one
The --MORE-- text looks different with the UEFI firmware font,
so we need another needle. Also I named the original needle
wrong, bad me.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-19 09:56:33 -04:00
Adam Williamson
7df2bfb4f3 Workaround RHBZ#1618928 (hit space till errors go away)
Per Neal Gompa boot will proceed if we just page through the
error(?) messages displayed when #1618928 happens, so let's do
that to let the tests get further and see what else is broken.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-18 17:37:42 -04:00
Michel Normand
d661eaaad4 New needles encrypted tests, blue background bypass brc#1551662
The background is now blue for ppc64le, so add related needles as bypass.
no such problem with ppc64 (BE)

problem initially detected on Rawhide compose 20180204
but still present on f28 compose 20180302
             and Rawhide compose 20180513

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2018-05-16 12:55:29 +02:00
Adam Williamson
307f3a0d58 Add needles to handle console login with 'white on grey' colors
https://bugzilla.redhat.com/show_bug.cgi?id=1403365 has been
around approximately forever and I still haven't managed to
debug it; let's just make needles for it, as it's not really a
critical bug, the system still *works*.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-14 18:47:49 -07:00
Adam Williamson
085cc7d281 Add variant console passphrase needle for i386
For quite a while on i386 the 'enter passphrase' console screen
has used bright white text, for some reason. Let's just have a
variant needle for this instead of worrying too hard about why.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-14 18:45:24 -07:00
Adam Williamson
c074fe5e34 Add some more variant needles (passphrase entry, Firefox)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-07 16:24:36 -07:00
Adam Williamson
de775ad42d Tweak bootloader_uefi so it matches both pre- and post-install
...I hope. This is necessary as we now have a case where it
needs to match post-install (aarch64 support_server, since
aarch64 is always UEFI).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-15 12:52:17 -07:00
Adam Williamson
672d60a840 Clean up a whole bunch of unused needles
Time for an annual spring clean. Based on the admin UI's list
of needles that haven't been matched for a long time, but with
some manual tweaking (some are actually still needed).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-01-02 16:13:47 -08:00
Michel Normand
4750f39b73 Add anaconda-rescue_mounted-20171016 needle
Because "Rescue Mount" now replaced by "Rescue Shell" string
in expected rescue screen head.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2017-10-16 12:52:30 -07:00
Adam Williamson
22fbcf9d9f Update console_initial_setup needle
Seems like it doesn't display "Initial setup for Fedora 27" any
more, so the old needle doesn't match. We should look into
whether that's a bug, but for now, let's update the needle.
2017-09-16 17:47:25 -07:00
Adam Williamson
e6913926b0 Tweak user_logged_in needles a bit
Matching on the user name really isn't doing much good. It just
means we need more variant needles. Let's ditch that part of the
match and just match on the distinctive character sequence ~]$,
which doesn't really occur for any other reason. With this we
can drop the separate 'qwerty' needle (since the qwerty case
will match the regular needle now) and should also handle the
FreeIPA tests that are failing in Rawhide because a logged in
FreeIPA user doesn't just have a sh prompt now.
2017-09-11 14:59:04 -07:00
Guy Menanteau
06839422e5 First PowerPC specific changes (not templates)
* New OFW variable to identify Open Firmware (used by PowerPC)
* Few needles changes for PowerPC support
* as requested do not change the timers value below for PowerPC
  tests/install_source_graphical.pm (300 to 600)
  tests/_boot_to_anaconda.pm (300 to 1200)
  This will be handled by TIMEOUT_SCALE in templates

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2017-09-06 08:43:04 +02:00
Adam Williamson
2e2357496a Add a root variant of the 'bash noprofile' needle
Looks like root is suffering from this now, too...
2017-09-02 12:53:56 -07:00
Adam Williamson
9b91c839a7 Treat failure to source bash profile as a soft fail
There's a bug in current Rawhide causing sourcing of /etc/bashrc
to fail when logging in as a regular user. This results in the
bash prompt looking different, which is currently a hard fail,
and causes most tests to die. It's better to treat this as a
soft fail so the rest of the test can run. So add a needle to
spot this case, and a little finish function the console login
function calls whenever it's successfully logged in, to check
whether it got the no-profile prompt and register a soft fail.
2017-09-02 12:49:56 -07:00
Adam Williamson
df32aa869a Add new 'noprofile user logged in' needle for sh 4.4 2017-03-17 08:27:42 -07:00
Adam Williamson
186678e98b Make log upload work when installed system hits emergency mode
Summary:
This is to handle cases like #1414904 , where the system boots
to emergency mode. We really need logs to try and debug this.

Test Plan:
Force a test to hit emergency mode somehow (right now
you can just run base_services_start on Rawhide over and over
until you hit #1414904, but there's probably an easier way to
do it, I think there's a systemd boot arg to tell it which target
to boot for e.g.) and check logs get uploaded. Also check this
doesn't break log upload for a 'normal' failure.

Reviewers: garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Reviewed By: garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1103
2017-02-01 12:30:21 +01:00
Adam Williamson
641b30ac09 Add another boot passphrase entry needle variant for F25
The F25 'desktopencrypt' images built by createhdds boot to a
console passphrase entry screen, not graphical. F24 images
built the same way boot to a graphical passphrase entry screen.
I'm not sure why, but it's not really worth spending a lot of
energy on, I don't think - let's just add a needle to cover
this case.
2017-01-11 14:56:50 -08:00
Adam Williamson
8510fbc008 Add updated variants of a few more needles 2016-12-07 16:11:27 -08:00
Adam Williamson
3889000907 update text install main hub needle for text change in Rawhide 2016-12-05 14:41:20 -08:00
Adam Williamson
b76da0452f update anaconda_rescue_mounted needle
changed a bit in Rawhide
2016-11-29 21:45:46 -08:00
Adam Williamson
7b31b8263e Force GNOME to notify updates, re-enable test on Workstation
Summary:
GNOME's update notification criteria are pretty braindead: it
fires the update check timer once on login then once every hour
thereafter, but only actually checks for and notifies of updates
once a day if it's after 6am(?!?!?!). So we have to do a bunch
of fiddling around to ensure we reliably get a notification.
Move the clock to 6am if it's earlier than that, and reset the
'last update check' timer to 48 hours ago, then log in to GNOME
after that.

Note: I thought this still wasn't fully reliable, but I've looked
into all the recent failures of either test on staging and
there's only one which was really 'no update notification came
up', and the logs clearly indicate PK did run an update check,
so I don't think that was a test bug (I think something went
wrong with the update check). The other failures are all 'GNOME
did something wacky', plus one case where the needle didn't quite
match because I think the match area is slightly too tall; I'll
fix that in a second.

Test Plan:
Run the tests on both KDE and GNOME and check they
work properly now (assuming nothing unrelated breaks, like KDE
crashing...)

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1039
2016-10-27 16:23:59 -07:00
Adam Williamson
92cea9f8a8 tweak initial_setup_done match for change in Rawhide
The time spoke is now named 'Time settings' (not 'Timezone
settings') so the needle didn't match. Tweak the match so it
matches both versions.
2016-09-28 13:41:33 -07:00
Adam Williamson
e9ce14a891 consolidate login waits, use postinstall not entrypoint for base
Summary:
I started out wanting to fix an issue I noticed today where
graphical upgrade tests were failing because they didn't wait
for the graphical login screen properly; the test was sitting
at the 'full Fedora logo' state of plymouth for a long time,
so the current boot_to_login_screen's wait_still_screen was
triggered by it and the function wound up failing on the
assert_screen, because it was still some time before the real
login screen appeared.

So I tweaked the boot_to_login_screen implementation to work
slightly differently (look for a login screen match, *then* -
if we're dealing with a graphical login - wait_still_screen
to defeat the 'old GPU buffer showing login screen' problem
and assert the login screen again). But while working on it,
I figured we really should consolidate all the various places
that handle the bootloader -> login, we were doing it quite
differently in all sorts of different places. And as part of
that, I converted the base tests to use POSTINSTALL (and thus
go through the shared _wait_login tests) instead of handling
boot themselves. As part of *that*, I tweaked main.pm to not
require all POSTINSTALL tests have the _postinstall suffix on
their names, as it really doesn't make sense, and renamed the
tests.

Test Plan: Run all tests, see if they work.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1015
2016-09-27 11:48:15 -07:00
Adam Williamson
1cdd8e18b7 make sure we get logs from failed kickstart installs
Summary:
by waiting for the bootloader in _boot_to_anaconda rather than
_console_wait_login, we can ensure that we use the anaconda
post-fail hook and thus get logs uploaded when a kickstart
install fails.

Test Plan:
Run a kickstart install test that fails and check
anaconda logs get uploaded. Then run one that works and make
sure it...still works.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1005
2016-09-20 10:51:51 -07:00
Jan Sedlák
c0b9bdb543 add anaconda rescue test on encrypted disk
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D995
2016-09-16 14:44:03 +02:00
Jan Sedlák
db95bccd52 add anaconda text UI test
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D980
2016-09-07 10:34:54 +02:00
Adam Williamson
aacd01ea8b add encrypted workstation upgrade tests (current and previous)
Summary:
This requires us to handle decryption each time we reboot in
the upgrade process, so factor that little block out into the
base class so we don't have to keep pasting it. It's also a
bit tricky to integrate into the 'catch a boot loop' code we
have to deal with #1349721, but I think this should work. There
is a matching openqa_fedora_tools diff to generate the disk
image.

Test Plan:
Run the tests, check that they work, run the other
upgrade and encrypted install tests and check they still work
properly too.

Reviewers: garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D922
2016-07-08 08:56:57 -07:00
Adam Williamson
46c6ed3cdb add needle for qwerty user logged into console
we may use this for multiple languages in future though it's
for Russian only ATM, so placing in the generic console/ dir.
2016-06-02 08:23:02 -07:00
Jan Sedlák
dfc58f1b73 add ARM initial-setup test
ARM actually doesn't have "install" test, but in install matrix,
there is test whether ARM disk boots into initial_setup. HDD is saved
after this test for Base tests.

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D853
2016-05-18 14:04:45 +02:00
Josef Skladanka
0d488890ba Organize needles to directories (step 2/2)
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D744
2016-05-13 13:43:31 +02:00