2016-09-07 08:34:54 +00:00
|
|
|
use base "anacondatest";
|
|
|
|
use strict;
|
|
|
|
use testapi;
|
2017-01-18 07:15:44 +00:00
|
|
|
use utils;
|
2016-09-07 08:34:54 +00:00
|
|
|
|
|
|
|
sub run {
|
|
|
|
my $self = shift;
|
|
|
|
assert_screen "anaconda_main_hub_text";
|
|
|
|
# IMHO it's better to use sleeps than to have needle for every text screen
|
|
|
|
wait_still_screen 5;
|
|
|
|
|
|
|
|
# prepare for different number of spokes (e. g. as in Atomic DVD)
|
|
|
|
my %spoke_number = (
|
|
|
|
"language" => 1,
|
|
|
|
"timezone" => 2,
|
|
|
|
"source" => 3,
|
|
|
|
"swselection" => 4,
|
|
|
|
"destination" => 5,
|
|
|
|
"network" => 6,
|
|
|
|
"rootpwd" => 7,
|
|
|
|
"user" => 8
|
|
|
|
);
|
|
|
|
|
|
|
|
# Set timezone
|
|
|
|
run_with_error_check(sub {type_string $spoke_number{"timezone"} . "\n"}, "anaconda_text_error");
|
|
|
|
wait_still_screen 5;
|
2016-09-13 19:58:22 +00:00
|
|
|
type_string "1\n"; # Set timezone
|
|
|
|
wait_still_screen 5;
|
2016-09-07 08:34:54 +00:00
|
|
|
type_string "1\n"; # Europe
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "37\n"; # Prague
|
|
|
|
wait_still_screen 7;
|
|
|
|
|
|
|
|
# Select disk
|
|
|
|
run_with_error_check(sub {type_string $spoke_number{"destination"} . "\n"}, "anaconda_text_error");
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "c\n"; # first disk selected, continue
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "c\n"; # use all space selected, continue
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "c\n"; # LVM selected, continue
|
|
|
|
wait_still_screen 7;
|
|
|
|
|
|
|
|
# Set root password
|
|
|
|
run_with_error_check(sub {type_string $spoke_number{"rootpwd"} . "\n"}, "anaconda_text_error");
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string get_var("ROOT_PASSWORD", "weakpassword");
|
|
|
|
send_key "ret";
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string get_var("ROOT_PASSWORD", "weakpassword");
|
|
|
|
send_key "ret";
|
|
|
|
wait_still_screen 7;
|
|
|
|
|
|
|
|
# Create user
|
|
|
|
run_with_error_check(sub {type_string $spoke_number{"user"} . "\n"}, "anaconda_text_error");
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "1\n"; # create new
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "3\n"; # set username
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string get_var("USER_LOGIN", "test");
|
|
|
|
send_key "ret";
|
|
|
|
wait_still_screen 5;
|
2019-05-22 22:18:08 +00:00
|
|
|
# from Rawhide-20190503.n.0 (F31) onwards, 'use password' is default
|
2019-05-22 22:27:59 +00:00
|
|
|
if (get_release_number() < 31) {
|
2019-05-22 22:18:08 +00:00
|
|
|
# typing "4\n" on abrt screen causes system to reboot, so be careful
|
|
|
|
run_with_error_check(sub {type_string "4\n"}, "anaconda_text_error"); # use password
|
|
|
|
}
|
2016-09-07 08:34:54 +00:00
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "5\n"; # set password
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string get_var("USER_PASSWORD", "weakpassword");
|
|
|
|
send_key "ret";
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string get_var("USER_PASSWORD", "weakpassword");
|
|
|
|
send_key "ret";
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "6\n"; # make him an administrator
|
|
|
|
wait_still_screen 5;
|
|
|
|
type_string "c\n";
|
|
|
|
wait_still_screen 7;
|
|
|
|
|
|
|
|
my $counter = 0;
|
|
|
|
while (check_screen "anaconda_main_hub_text_unfinished", 2) {
|
|
|
|
if ($counter > 10) {
|
|
|
|
die "There are unfinished spokes in Anaconda";
|
|
|
|
}
|
|
|
|
sleep 10;
|
|
|
|
$counter++;
|
|
|
|
type_string "r\n"; # refresh
|
|
|
|
}
|
|
|
|
|
|
|
|
# begin installation
|
|
|
|
type_string "b\n";
|
|
|
|
|
|
|
|
# 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_text_done", $timeout;
|
|
|
|
type_string "\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sub test_flags {
|
|
|
|
return { fatal => 1 };
|
|
|
|
}
|
|
|
|
|
|
|
|
1;
|
|
|
|
|
|
|
|
# vim: set sw=4 et:
|