diff --git a/VARIABLES.md b/VARIABLES.md index 364a8618..138066a4 100644 --- a/VARIABLES.md +++ b/VARIABLES.md @@ -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 | diff --git a/templates b/templates index 82fbcf3f..dfce7b2e 100755 --- a/templates +++ b/templates @@ -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", diff --git a/tests/_do_install_and_reboot.pm b/tests/_do_install_and_reboot.pm index 038501fc..d2011b55 100644 --- a/tests/_do_install_and_reboot.pm +++ b/tests/_do_install_and_reboot.pm @@ -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