Adapt for no user/root panes on Workstation live install

Workstation live installs for F28+ drop the user creation and
root password panes from anaconda, so we need to not try and
use them any more. But we still want the old behaviour for F27.
I'm hoping this approach will work, if not, we'll find out soon
enough. This removes the install_no_user test for F28+ as it
will no longer differ from the install_default test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2018-03-08 18:25:31 -08:00
parent 6bcd7537c0
commit 7c28cfc909
3 changed files with 60 additions and 27 deletions

View file

@ -65,7 +65,7 @@ it also means that `B` conflicts `A` even if not shown in the table).
| `PARTITIONING` | string (`custom_software_raid`, `guided_delete_all`, ...) | `guided_empty` | nothing | load specified test for partitioning part (when `PARTITIONING=guided_delete_all`, `tests/disk_guided_delete_all.pm` is loaded) and optionally post-install partitioning check (if `tests/disk_guided_delete_all_postinstall.pm` exists, it will be loaded after login to the installed system). Also, if value starts with `custom_`, the `select_disks()` method will check the custom partitioning box |
| `ENCRYPT_PASSWORD` | string | not set | nothing | if set, encrypt disk with given password |
| `DESKTOP` | boolean | `false`/not set | nothing | set to indicate that Fedora is running with GUI (so for example OpenQA should expect graphical login screen) |
| `ROOT_PASSWORD` | string | `weakpassword` | nothing | root password is set to this value |
| `ROOT_PASSWORD` | string | `weakpassword` | nothing | root password is set to this value; special value 'false' means "do not set a root password during installation at all" |
| `GRUB` | string | not set | nothing | when set, append this string to kernel line in GRUB |
| `GRUBADD` | string | not set | nothing | when set, append this string to kernel line in GRUB, after the `GRUB` string if that one is set too. This is never set by tests; instead it's provided as a way to e.g. run the normal tests with an `updates.img` to test some anaconda change (the scheduler CLI can help you use this feature) |
| `USER_LOGIN` | string | not set | should be used with `USER_PASSWORD` (unless `false`) | when set, user login is set to this value. If not set, default value `test` is used for console installs, no login is done for graphical installs. If set to `false`, no user login will be done |

View file

@ -244,7 +244,7 @@
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
version => "27",
},
test_suite => { name => "install_no_user" },
},
@ -4282,10 +4282,25 @@
{ key => "LIVE", value => "1" },
{ key => "PACKAGE_SET", value => "default" },
{ key => "DESKTOP", value => "gnome" },
{ key => "TEST_TARGET", value => "ISO" }
{ key => "TEST_TARGET", value => "ISO" },
{ key => "ROOT_PASSWORD", => "false" },
{ key => "USER_LOGIN", => "false" }
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "PACKAGE_SET", value => "default" },
{ key => "DESKTOP", value => "gnome" },
{ key => "TEST_TARGET", value => "ISO" }
],
version => "27",
},
{
arch => "x86_64",
distri => "fedora",
@ -4359,10 +4374,25 @@
{ key => "LIVE", value => "1" },
{ key => "PACKAGE_SET", value => "default" },
{ key => "DESKTOP", value => "gnome" },
{ key => "TEST_TARGET", value => "ISO" }
{ key => "TEST_TARGET", value => "ISO" },
{ key => "ROOT_PASSWORD", => "false" },
{ key => "USER_LOGIN", => "false" }
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Workstation-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "PACKAGE_SET", value => "default" },
{ key => "DESKTOP", value => "gnome" },
{ key => "TEST_TARGET", value => "ISO" }
],
version => "27",
},
{
arch => "i386",
distri => "fedora",

View file

@ -26,34 +26,37 @@ sub run {
wait_still_screen 2;
assert_and_click "anaconda_main_hub_begin_installation";
# Set root password
# Set root password, unless ROOT_PASSWORD is 'false' (meaning not
# to do this)
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
assert_and_click "anaconda_install_root_password";
assert_screen "anaconda_install_root_password_screen";
# wait out animation
wait_still_screen 2;
desktop_switch_layout("ascii", "anaconda") if (get_var("SWITCHED_LAYOUT"));
if (get_var("IMAGETYPE") eq 'dvd-ostree') {
# we can't type SUPER safely for ostree installer tests, as
# the install completes quite fast and if we type too slow
# the USER CREATION spoke may be blocked
type_safely $root_password;
wait_screen_change { send_key "tab"; };
type_safely $root_password;
unless ($root_password eq 'false') {
assert_and_click "anaconda_install_root_password";
assert_screen "anaconda_install_root_password_screen";
# wait out animation
wait_still_screen 2;
desktop_switch_layout("ascii", "anaconda") if (get_var("SWITCHED_LAYOUT"));
if (get_var("IMAGETYPE") eq 'dvd-ostree') {
# we can't type SUPER safely for ostree installer tests, as
# the install completes quite fast and if we type too slow
# the USER CREATION spoke may be blocked
type_safely $root_password;
wait_screen_change { send_key "tab"; };
type_safely $root_password;
}
else {
# these screens seems insanely subject to typing errors, so
# type super safely. This doesn't really slow the test down
# as we still get done before the install process is complete.
type_very_safely $root_password;
wait_screen_change { send_key "tab"; };
type_very_safely $root_password;
}
assert_and_click "anaconda_spoke_done";
}
else {
# these screens seems insanely subject to typing errors, so
# type super safely. This doesn't really slow the test down
# as we still get done before the install process is complete.
type_very_safely $root_password;
wait_screen_change { send_key "tab"; };
type_very_safely $root_password;
}
assert_and_click "anaconda_spoke_done";
# Wait out animation
sleep 3;
# Set user details
# Set user details, unless the test is configured not to create one
anaconda_create_user() unless (get_var("USER_LOGIN") eq 'false' || get_var("INSTALL_NO_USER"));
# Check username (and hence keyboard layout) if non-English