os-autoinst-distri-rocky/tests/_do_install_and_reboot.pm
Adam Williamson 3a31f9639d use sudo when rebooting after live install
on Rawhide it seems user cannot run 'reboot' any more. 'sudo
reboot' seems to do the trick (tested KDE and GNOME).
2016-06-08 12:20:43 -07:00

97 lines
3.2 KiB
Perl

use base "anacondatest";
use strict;
use testapi;
sub run {
my $self = shift;
# Anaconda hub
assert_screen "anaconda_main_hub", 300; #
# Begin installation
# Sometimes, the 'slide in from the top' animation messes with
# this - by the time we click the button isn't where it was any
# more. So wait a sec just in case.
sleep 1;
assert_and_click "anaconda_main_hub_begin_installation";
# Set root password
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
assert_and_click "anaconda_install_root_password";
assert_screen "anaconda_install_root_password_screen";
$self->switch_layout("us") if (get_var("SWITCHED_LAYOUT"));
type_string $root_password;
send_key "tab";
type_string $root_password;
assert_and_click "anaconda_spoke_done";
if (check_screen "anaconda_install_password_dictionary_error", 10) {
assert_and_click "anaconda_spoke_done";
}
# Set user details
sleep 1;
my $user_login = get_var("USER_LOGIN") || "test";
my $user_password = get_var("USER_PASSWORD") || "weakpassword";
assert_and_click "anaconda_install_user_creation";
assert_screen "anaconda_install_user_creation_screen";
type_string $user_login;
assert_and_click "anaconda_user_creation_password_input";
if (get_var("SWITCHED_LAYOUT")) {
# we double the password, the second time using the native
# layout, so the password has both US and native characters
$self->switch_layout("us");
type_string $user_password;
$self->switch_layout("native");
type_string $user_password;
}
else {
type_string $user_password;
}
send_key "tab";
if (get_var("SWITCHED_LAYOUT")) {
$self->switch_layout("us");
type_string $user_password;
$self->switch_layout("native");
type_string $user_password;
}
else {
type_string $user_password;
}
assert_and_click "anaconda_install_user_creation_make_admin";
assert_and_click "anaconda_spoke_done";
# handle 'weak password' due to dictionary error: WORKAROUND
if (check_screen "anaconda_install_password_dictionary_error", 10) {
assert_and_click "anaconda_spoke_done";
}
# Check username (and hence keyboard layout) if non-English
if (get_var('LANGUAGE')) {
assert_screen "anaconda_install_user_created";
}
# Wait for install to end. Give Rawhide a bit longer, in case
# we're on a debug kernel, debug kernel installs are really slow.
my $timeout = 1800;
if (lc(get_var('VERSION')) eq "rawhide") {
$timeout = 2400;
}
assert_screen "anaconda_install_done", $timeout;
# wait for transition to complete so we don't click in the sidebar
wait_still_screen 3;
assert_and_click "anaconda_install_done";
if (get_var('LIVE')) {
x11_start_program("sudo reboot");
}
}
sub test_flags {
# without anything - rollback to 'lastgood' snapshot if failed
# 'fatal' - whole test suite is in danger if this fails
# 'milestone' - after this test succeeds, update 'lastgood'
# 'important' - if this fails, set the overall state to 'fail'
return { fatal => 1 };
}
1;
# vim: set sw=4 et: