Commit Graph

87 Commits

Author SHA1 Message Date
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