2015-08-05 06:23:59 +00:00
|
|
|
use base "anacondatest";
|
2015-01-22 12:38:16 +00:00
|
|
|
use strict;
|
|
|
|
use testapi;
|
|
|
|
|
|
|
|
sub run {
|
2016-05-20 14:52:55 +00:00
|
|
|
my $self = shift;
|
2015-01-22 12:38:16 +00:00
|
|
|
# Anaconda hub
|
2015-01-26 14:58:07 +00:00
|
|
|
assert_screen "anaconda_main_hub", 300; #
|
2015-01-22 12:38:16 +00:00
|
|
|
|
|
|
|
# Begin installation
|
2015-07-22 18:26:10 +00:00
|
|
|
# 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;
|
2015-01-22 12:38:16 +00:00
|
|
|
assert_and_click "anaconda_main_hub_begin_installation";
|
2015-01-26 14:58:07 +00:00
|
|
|
|
2015-01-22 12:38:16 +00:00
|
|
|
# Set root password
|
2015-02-13 15:36:35 +00:00
|
|
|
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
|
2015-01-22 12:38:16 +00:00
|
|
|
assert_and_click "anaconda_install_root_password";
|
2015-04-03 08:27:31 +00:00
|
|
|
assert_screen "anaconda_install_root_password_screen";
|
2016-05-20 14:52:55 +00:00
|
|
|
$self->switch_layout("us") if (get_var("SWITCHED_LAYOUT"));
|
2015-02-13 15:36:35 +00:00
|
|
|
type_string $root_password;
|
2015-01-22 12:38:16 +00:00
|
|
|
send_key "tab";
|
2015-02-13 15:36:35 +00:00
|
|
|
type_string $root_password;
|
2015-01-22 12:38:16 +00:00
|
|
|
assert_and_click "anaconda_spoke_done";
|
2016-04-15 06:37:22 +00:00
|
|
|
if (check_screen "anaconda_install_password_dictionary_error", 10) {
|
|
|
|
assert_and_click "anaconda_spoke_done";
|
|
|
|
}
|
2015-01-22 12:38:16 +00:00
|
|
|
|
|
|
|
# Set user details
|
2015-03-18 21:28:03 +00:00
|
|
|
sleep 1;
|
2015-02-13 15:36:35 +00:00
|
|
|
my $user_login = get_var("USER_LOGIN") || "test";
|
|
|
|
my $user_password = get_var("USER_PASSWORD") || "weakpassword";
|
2015-01-22 12:38:16 +00:00
|
|
|
assert_and_click "anaconda_install_user_creation";
|
2015-04-03 08:27:31 +00:00
|
|
|
assert_screen "anaconda_install_user_creation_screen";
|
2015-02-13 15:36:35 +00:00
|
|
|
type_string $user_login;
|
2015-04-03 08:27:31 +00:00
|
|
|
assert_and_click "anaconda_user_creation_password_input";
|
2016-05-20 14:52:55 +00:00
|
|
|
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;
|
|
|
|
}
|
2015-01-22 12:38:16 +00:00
|
|
|
send_key "tab";
|
2016-05-20 14:52:55 +00:00
|
|
|
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;
|
|
|
|
}
|
2015-01-22 12:38:16 +00:00
|
|
|
assert_and_click "anaconda_install_user_creation_make_admin";
|
|
|
|
assert_and_click "anaconda_spoke_done";
|
2016-04-15 06:37:22 +00:00
|
|
|
# handle 'weak password' due to dictionary error: WORKAROUND
|
|
|
|
if (check_screen "anaconda_install_password_dictionary_error", 10) {
|
|
|
|
assert_and_click "anaconda_spoke_done";
|
|
|
|
}
|
2015-01-22 12:38:16 +00:00
|
|
|
|
2015-09-29 22:52:50 +00:00
|
|
|
# Check username (and hence keyboard layout) if non-English
|
|
|
|
if (get_var('LANGUAGE')) {
|
|
|
|
assert_screen "anaconda_install_user_created";
|
|
|
|
}
|
|
|
|
|
2015-11-11 16:48:46 +00:00
|
|
|
# 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;
|
|
|
|
}
|
2016-05-06 23:16:28 +00:00
|
|
|
assert_screen "anaconda_install_done", $timeout;
|
2016-05-06 20:15:13 +00:00
|
|
|
# wait for transition to complete so we don't click in the sidebar
|
|
|
|
wait_still_screen 3;
|
|
|
|
assert_and_click "anaconda_install_done";
|
2015-03-18 21:28:03 +00:00
|
|
|
if (get_var('LIVE')) {
|
|
|
|
x11_start_program("reboot");
|
|
|
|
}
|
2015-01-22 12:38:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
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'
|
2015-01-28 12:42:34 +00:00
|
|
|
return { fatal => 1 };
|
2015-01-22 12:38:16 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
1;
|
|
|
|
|
|
|
|
# vim: set sw=4 et:
|