enforce standard coding on all Perl files

This commit is contained in:
Trevor Cooper 2023-02-12 14:59:37 -08:00 committed by Trevor Cooper
parent 7184b13708
commit 488bbe07a0
237 changed files with 932 additions and 932 deletions

View File

@ -28,8 +28,8 @@ sub select_disks {
); );
my %iscsi = %{$args{iscsi}}; my %iscsi = %{$args{iscsi}};
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
# Damn animation delay can cause bad clicks here too - wait for it # Damn animation delay can cause bad clicks here too - wait for it
sleep 1; sleep 1;
assert_and_click "anaconda_main_hub_install_destination"; assert_and_click "anaconda_main_hub_install_destination";
@ -150,7 +150,7 @@ sub custom_blivet_add_partition {
assert_and_click "anaconda_blivet_size_unit"; assert_and_click "anaconda_blivet_size_unit";
assert_and_click "anaconda_blivet_size_unit_mib"; assert_and_click "anaconda_blivet_size_unit_mib";
send_key "shift-tab"; # input is one tab back from unit selection listbox send_key "shift-tab"; # input is one tab back from unit selection listbox
# size input can contain whole set of different values, so we can't match it with needle # size input can contain whole set of different values, so we can't match it with needle
type_safely $args{size} . "\n"; type_safely $args{size} . "\n";
@ -178,7 +178,7 @@ sub custom_blivet_add_partition {
sub custom_add_partition { sub custom_add_partition {
# Used to add partition on Rocky custom-gui partitioning screen # Used to add partition on Rocky custom-gui partitioning screen
# in Anaconda. Should be called when custom-gui is displayed and free space is selected. # in Anaconda. Should be called when custom-gui is displayed and free space is selected.
# You can pass device type for partition (needle tagged anaconda_custom_devicetype_$devicetype should exist), size of that partition in MiBs, desired filesystem of that partition # You can pass device type for partition (needle tagged anaconda_custom_devicetype_$devicetype should exist), size of that partition in MiBs, desired filesystem of that partition
# (anaconda_custom_part_fs_$filesystem should exist) and mountpoint of that partition (e. g. string "/boot"). # (anaconda_custom_part_fs_$filesystem should exist) and mountpoint of that partition (e. g. string "/boot").
my %args = ( my %args = (
devicetype => "", devicetype => "",
@ -368,7 +368,7 @@ sub get_full_repo {
if ($repourl !~ m/^(nfs|hd:)/) { if ($repourl !~ m/^(nfs|hd:)/) {
# Everything variant doesn't exist for modular composes atm, # Everything variant doesn't exist for modular composes atm,
# only Server # only Server
$repourl .= "/".get_var("ARCH")."/os"; $repourl .= "/" . get_var("ARCH") . "/os";
} }
return $repourl; return $repourl;
} }
@ -483,7 +483,7 @@ sub report_bug_text {
my $timestamp = time(); my $timestamp = time();
# #
# First, collect the credentials. # First, collect the credentials.
my $login = get_var("BUGZILLA_LOGIN"); my $login = get_var("BUGZILLA_LOGIN");
my $password = get_var("_SECRET_BUGZILLA_PASSWORD"); my $password = get_var("_SECRET_BUGZILLA_PASSWORD");
my $apikey = get_var("_SECRET_BUGZILLA_APIKEY"); my $apikey = get_var("_SECRET_BUGZILLA_APIKEY");
# Choose item 1 - Report the bug. # Choose item 1 - Report the bug.

View File

@ -21,7 +21,7 @@ sub post_fail_hook {
if (check_screen "anaconda_error_report", 10) { if (check_screen "anaconda_error_report", 10) {
assert_and_click "anaconda_error_report"; assert_and_click "anaconda_error_report";
$has_traceback = 1; $has_traceback = 1;
} elsif (check_screen "anaconda_text_error", 10) { # also for text install } elsif (check_screen "anaconda_text_error", 10) { # also for text install
type_string "1\n"; type_string "1\n";
$has_traceback = 1; $has_traceback = 1;
} }
@ -73,21 +73,21 @@ sub post_fail_hook {
} }
if ($dracut) { if ($dracut) {
upload_logs "/run/initramfs/rdsosreport.txt", failok=>1; upload_logs "/run/initramfs/rdsosreport.txt", failok => 1;
# that's all that's really useful, so... # that's all that's really useful, so...
return; return;
} }
upload_logs "/tmp/X.log", failok=>1; upload_logs "/tmp/X.log", failok => 1;
upload_logs "/tmp/anaconda.log", failok=>1; upload_logs "/tmp/anaconda.log", failok => 1;
upload_logs "/tmp/packaging.log", failok=>1; upload_logs "/tmp/packaging.log", failok => 1;
upload_logs "/tmp/storage.log", failok=>1; upload_logs "/tmp/storage.log", failok => 1;
upload_logs "/tmp/syslog", failok=>1; upload_logs "/tmp/syslog", failok => 1;
upload_logs "/tmp/program.log", failok=>1; upload_logs "/tmp/program.log", failok => 1;
upload_logs "/tmp/dnf.log", failok=>1; upload_logs "/tmp/dnf.log", failok => 1;
upload_logs "/tmp/dnf.librepo.log", failok=>1; upload_logs "/tmp/dnf.librepo.log", failok => 1;
upload_logs "/tmp/dnf.rpm.log", failok=>1; upload_logs "/tmp/dnf.rpm.log", failok => 1;
upload_logs "/tmp/dbus.log", failok=>1; upload_logs "/tmp/dbus.log", failok => 1;
if ($has_traceback) { if ($has_traceback) {
# Upload Anaconda traceback logs # Upload Anaconda traceback logs
@ -131,7 +131,7 @@ sub root_console {
# tty3 has a shell on all f31+ installer and live images # tty3 has a shell on all f31+ installer and live images
send_key "ctrl-alt-f3"; send_key "ctrl-alt-f3";
} }
console_login(user=>"root", timeout=>$args{timeout}); console_login(user => "root", timeout => $args{timeout});
} }
1; 1;

View File

@ -24,7 +24,7 @@ sub start_cockpit {
assert_screen "cockpit_login", 60; assert_screen "cockpit_login", 60;
# this happened on early Modular Server composes... # this happened on early Modular Server composes...
record_soft_failure "Unbranded Cockpit" if (match_has_tag "cockpit_login_unbranded"); record_soft_failure "Unbranded Cockpit" if (match_has_tag "cockpit_login_unbranded");
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
if ($login) { if ($login) {
type_safely "root"; type_safely "root";
wait_screen_change { send_key "tab"; }; wait_screen_change { send_key "tab"; };
@ -57,6 +57,6 @@ sub check_updates {
my $logfile = shift; my $logfile = shift;
sleep 2; sleep 2;
my $checkresult = script_run "dnf check-update > $logfile"; my $checkresult = script_run "dnf check-update > $logfile";
upload_logs "$logfile", failok=>1; upload_logs "$logfile", failok => 1;
return($checkresult); return ($checkresult);
} }

View File

@ -41,7 +41,7 @@ sub x11_start_program {
send_key "alt-f2"; send_key "alt-f2";
assert_screen "desktop_runner"; assert_screen "desktop_runner";
type_string $program, 20; type_string $program, 20;
sleep 5; # because of KDE dialog - SUSE guys are doing the same! sleep 5; # because of KDE dialog - SUSE guys are doing the same!
send_key "ret", 1; send_key "ret", 1;
} }

View File

@ -44,7 +44,7 @@ sub start_webui {
disable_firefox_studies; disable_firefox_studies;
type_string "startx /usr/bin/firefox -width 1024 -height 768 https://ipa001.test.openqa.fedoraproject.org\n"; type_string "startx /usr/bin/firefox -width 1024 -height 768 https://ipa001.test.openqa.fedoraproject.org\n";
assert_screen ["freeipa_webui_login", $user_screen], 60; assert_screen ["freeipa_webui_login", $user_screen], 60;
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
# softfail on kerberos ticket bugs meaning we get auto-logged in # softfail on kerberos ticket bugs meaning we get auto-logged in
# as the requested user when we don't expect to be # as the requested user when we don't expect to be
if (match_has_tag $user_screen) { if (match_has_tag $user_screen) {

View File

@ -16,7 +16,7 @@ sub root_console {
# Switch to a default or specified TTY and log in as root. # Switch to a default or specified TTY and log in as root.
my $self = shift; my $self = shift;
my %args = ( my %args = (
tty => 1, # what TTY to login to tty => 1, # what TTY to login to
@_); @_);
if (get_var("SERIAL_CONSOLE")) { if (get_var("SERIAL_CONSOLE")) {
# select the first virtio terminal, for now we assume we can # select the first virtio terminal, for now we assume we can
@ -27,7 +27,7 @@ sub root_console {
# For normal terminal emulation, use key combo to reach a tty # For normal terminal emulation, use key combo to reach a tty
send_key "ctrl-alt-f$args{tty}"; send_key "ctrl-alt-f$args{tty}";
} }
console_login; # Do the login. console_login; # Do the login.
} }
sub post_fail_hook { sub post_fail_hook {
@ -43,7 +43,7 @@ sub post_fail_hook {
assert_script_run "dhclient"; assert_script_run "dhclient";
} }
else { else {
$self->root_console(tty=>6); $self->root_console(tty => 6);
# fix up keyboard layout, if we failed before the test did this # fix up keyboard layout, if we failed before the test did this
# itself; if it's already been done, should be safe, will just # itself; if it's already been done, should be safe, will just
# fail and carry on # fail and carry on
@ -88,7 +88,7 @@ sub post_fail_hook {
} }
if ($dracut) { if ($dracut) {
upload_logs "/run/initramfs/rdsosreport.txt", failok=>1; upload_logs "/run/initramfs/rdsosreport.txt", failok => 1;
# that's all that's really useful, so... # that's all that's really useful, so...
return; return;
} }
@ -125,14 +125,14 @@ sub post_fail_hook {
} }
# Sometimes useful for diagnosing FreeIPA issues # Sometimes useful for diagnosing FreeIPA issues
upload_logs "/etc/nsswitch.conf", failok=>1; upload_logs "/etc/nsswitch.conf", failok => 1;
if (get_var("FLAVOR") eq "updates-everything-boot-iso") { if (get_var("FLAVOR") eq "updates-everything-boot-iso") {
# for installer creation test # for installer creation test
script_run "df -h"; script_run "df -h";
upload_logs "/root/imgbuild/pylorax.log", failok=>1; upload_logs "/root/imgbuild/pylorax.log", failok => 1;
upload_logs "/root/imgbuild/lorax.log", failok=>1; upload_logs "/root/imgbuild/lorax.log", failok => 1;
upload_logs "/root/imgbuild/program.log", failok=>1; upload_logs "/root/imgbuild/program.log", failok => 1;
} }
if (get_var("TEST") eq "live_build") { if (get_var("TEST") eq "live_build") {
@ -149,10 +149,10 @@ sub post_fail_hook {
} }
} }
# For update tests, let's do the update package info log stuff, # For update tests, let's do the update package info log stuff,
# it may be useful for diagnosing the cause of the failure # it may be useful for diagnosing the cause of the failure
advisory_get_installed_packages; advisory_get_installed_packages;
advisory_check_nonmatching_packages(fatal=>0); advisory_check_nonmatching_packages(fatal => 0);
1; 1;

View File

@ -37,7 +37,7 @@ sub parse_module_list {
sub is_listed { sub is_listed {
my ($module, $stream, $listref) = @_; my ($module, $stream, $listref) = @_;
my $found = 0; my $found = 0;
foreach (@{ $listref }) { foreach (@{$listref}) {
if ($_->{module} eq $module and $_->{stream} eq $stream) { if ($_->{module} eq $module and $_->{stream} eq $stream) {
$found = 1; $found = 1;
} }

View File

@ -22,9 +22,9 @@ sub run_with_error_check {
# by using 'unless' and 'expect_not_found=>1' here we avoid # by using 'unless' and 'expect_not_found=>1' here we avoid
# the web UI showing each failure to see the error message as # the web UI showing each failure to see the error message as
# a 'failed match' # a 'failed match'
die "Error screen appeared" unless (wait_serial($error_screen, timeout=>5, expect_not_found=>1)); die "Error screen appeared" unless (wait_serial($error_screen, timeout => 5, expect_not_found => 1));
$func->(); $func->();
die "Error screen appeared" unless (wait_serial($error_screen, timeout=>5, expect_not_found=>1)); die "Error screen appeared" unless (wait_serial($error_screen, timeout => 5, expect_not_found => 1));
} }
else { else {
die "Error screen appeared" if (check_screen $error_screen, 5); die "Error screen appeared" if (check_screen $error_screen, 5);
@ -40,7 +40,7 @@ sub type_safely {
type_string($string, wait_screen_change => 3, max_interval => 20); type_string($string, wait_screen_change => 3, max_interval => 20);
# similarity level 45 as there will commonly be a flashing # similarity level 45 as there will commonly be a flashing
# cursor and the default level (47) is slightly too tight # cursor and the default level (47) is slightly too tight
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
} }
# high-level 'type this string extremely safely and rather slow' # high-level 'type this string extremely safely and rather slow'
@ -50,7 +50,7 @@ sub type_very_safely {
type_string($string, wait_screen_change => 1, max_interval => 1); type_string($string, wait_screen_change => 1, max_interval => 1);
# similarity level 45 as there will commonly be a flashing # similarity level 45 as there will commonly be a flashing
# cursor and the default level (47) is slightly too tight # cursor and the default level (47) is slightly too tight
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
} }
sub get_release_number { sub get_release_number {
@ -60,13 +60,13 @@ sub get_release_number {
my $version = get_var("VERSION"); my $version = get_var("VERSION");
my $rawrel = get_var("RAWREL", "Rawhide"); my $rawrel = get_var("RAWREL", "Rawhide");
return $rawrel if ($version eq "Rawhide"); return $rawrel if ($version eq "Rawhide");
return $version return $version;
} }
sub get_version_major { sub get_version_major {
my $version = get_var('VERSION'); my $version = get_var('VERSION');
my $version_major = substr($version, 0, index($version, q/./)); my $version_major = substr($version, 0, index($version, q/./));
return $version_major return $version_major;
} }
sub get_code_name { sub get_code_name {
@ -74,11 +74,11 @@ sub get_code_name {
my $version = get_var('VERSION'); my $version = get_var('VERSION');
my $version_major = get_version_major; my $version_major = get_version_major;
given($version_major){ given ($version_major) {
when ('9') { $code_name = 'Blue Onyx'; } when ('9') { $code_name = 'Blue Onyx'; }
when ('10') { $code_name = 'Smoky Quartz'; } when ('10') { $code_name = 'Smoky Quartz'; }
when ('11') { $code_name = 'Lavender Calcite'; } when ('11') { $code_name = 'Lavender Calcite'; }
default{ default {
$code_name = 'Green Obsidian'; $code_name = 'Green Obsidian';
} }
} }
@ -98,9 +98,9 @@ sub desktop_vt {
# stop as soon as any command fails, so we use ||: to make the # stop as soon as any command fails, so we use ||: to make the
# first grep return 0 even if it matches nothing # first grep return 0 even if it matches nothing
eval { $xout = script_output ' loginctl | grep test ||:; ps -e | egrep "(gnome-session|Xwayland|Xorg)" | grep -o tty[0-9]' }; eval { $xout = script_output ' loginctl | grep test ||:; ps -e | egrep "(gnome-session|Xwayland|Xorg)" | grep -o tty[0-9]' };
my $tty = 1; # default my $tty = 1; # default
while ($xout =~ /tty(\d)/g) { while ($xout =~ /tty(\d)/g) {
$tty = $1; # most recent match is probably best $tty = $1; # most recent match is probably best
} }
send_key "ctrl-alt-f${tty}"; send_key "ctrl-alt-f${tty}";
# work around https://gitlab.gnome.org/GNOME/gnome-software/issues/582 # work around https://gitlab.gnome.org/GNOME/gnome-software/issues/582
@ -129,7 +129,7 @@ sub boot_to_login_screen {
$args{timeout} //= 300; $args{timeout} //= 300;
if (testapi::is_serial_terminal) { if (testapi::is_serial_terminal) {
# For serial console, just wait for the login prompt # For serial console, just wait for the login prompt
unless (wait_serial "login:", timeout=>$args{timeout}) { unless (wait_serial "login:", timeout => $args{timeout}) {
die "No login prompt shown on serial console."; die "No login prompt shown on serial console.";
} }
} }
@ -140,14 +140,14 @@ sub boot_to_login_screen {
# The following is true for non-serial console. # The following is true for non-serial console.
my $count = 5; my $count = 5;
while (check_screen("login_screen", 3) && $count > 0) { while (check_screen("login_screen", 3) && $count > 0) {
sleep 5; sleep 5;
$count -= 1; $count -= 1;
}
assert_screen "login_screen", $args{timeout};
if (match_has_tag "graphical_login") {
wait_still_screen 10, 30;
assert_screen "login_screen";
} }
assert_screen "login_screen", $args{timeout};
if (match_has_tag "graphical_login") {
wait_still_screen 10, 30;
assert_screen "login_screen";
}
} }
} }
@ -174,7 +174,7 @@ sub desktop_switch_layout {
# if already selected, we're good # if already selected, we're good
return if (check_screen "${environment}_layout_${layout}", 3); return if (check_screen "${environment}_layout_${layout}", 3);
# otherwise we need to switch # otherwise we need to switch
my $switcher = "alt-shift"; # anaconda my $switcher = "alt-shift"; # anaconda
$switcher = "super-spc" if $environment eq 'gnome'; $switcher = "super-spc" if $environment eq 'gnome';
# KDE? not used yet # KDE? not used yet
send_key $switcher; send_key $switcher;
@ -188,7 +188,7 @@ sub desktop_switch_layout {
sub _console_login_finish { sub _console_login_finish {
# The check differs according to the console used. # The check differs according to the console used.
if (testapi::is_serial_terminal) { if (testapi::is_serial_terminal) {
unless (wait_serial("-bash-.*[#\$]", timeout=>5, expect_not_found=>1)) { unless (wait_serial("-bash-.*[#\$]", timeout => 5, expect_not_found => 1)) {
record_soft_failure "It looks like profile sourcing failed"; record_soft_failure "It looks like profile sourcing failed";
} }
} }
@ -219,7 +219,7 @@ sub console_login {
# enable a new proper login based on the user variable. # enable a new proper login based on the user variable.
if (get_var("SERIAL_CONSOLE")) { if (get_var("SERIAL_CONSOLE")) {
# Check for the usual prompt. # Check for the usual prompt.
if (wait_serial("~\][#\$]", timeout=>5, quiet=>1)) { if (wait_serial("~\][#\$]", timeout => 5, quiet => 1)) {
type_string "logout\n"; type_string "logout\n";
# Wait a bit to let the logout properly finish. # Wait a bit to let the logout properly finish.
sleep 10; sleep 10;
@ -233,7 +233,7 @@ sub console_login {
# Let's perform a simple login test. This is the same as # Let's perform a simple login test. This is the same as
# whoami, but has the advantage of existing in installer env # whoami, but has the advantage of existing in installer env
assert_script_run "id -un"; assert_script_run "id -un";
unless (wait_serial $args{user}, timeout=>5) { unless (wait_serial $args{user}, timeout => 5) {
die "Logging onto the serial console has failed."; die "Logging onto the serial console has failed.";
} }
} }
@ -392,8 +392,8 @@ sub do_bootloader {
# in SLOF usb-xhci driver failed sometimes in powerpc # in SLOF usb-xhci driver failed sometimes in powerpc
type_safely " $args{params}"; type_safely " $args{params}";
} }
save_screenshot; # for debug purpose save_screenshot; # for debug purpose
# ctrl-X boots from grub editor mode # ctrl-X boots from grub editor mode
send_key "ctrl-x"; send_key "ctrl-x";
# return boots all other cases # return boots all other cases
send_key "ret"; send_key "ret";
@ -515,7 +515,7 @@ sub _repo_setup_compose {
assert_script_run 'dnf config-manager --set-disabled updates-testing updates'; assert_script_run 'dnf config-manager --set-disabled updates-testing updates';
# script_run returns the exit code, so 'unless' here means 'if the file exists' # script_run returns the exit code, so 'unless' here means 'if the file exists'
unless (script_run 'test -f /etc/yum.repos.d/fedora-updates-modular.repo') { unless (script_run 'test -f /etc/yum.repos.d/fedora-updates-modular.repo') {
assert_script_run 'dnf config-manager --set-disabled updates-testing-modular updates-modular'; assert_script_run 'dnf config-manager --set-disabled updates-testing-modular updates-modular';
} }
# we use script_run here as the rawhide and modular repo files # we use script_run here as the rawhide and modular repo files
# won't always exist and we don't want to bother testing or # won't always exist and we don't want to bother testing or
@ -525,9 +525,9 @@ sub _repo_setup_compose {
script_run "sed -i -e 's,^metalink,#metalink,g' -e 's,^mirrorlist,#mirrorlist,g' -e 's,^#baseurl.*basearch,baseurl=${location}/Modular/\$basearch,g' -e 's,^#baseurl.*source,baseurl=${location}/Modular/source,g' /etc/yum.repos.d/{fedora-modular,fedora-rawhide-modular}.repo", 0; script_run "sed -i -e 's,^metalink,#metalink,g' -e 's,^mirrorlist,#mirrorlist,g' -e 's,^#baseurl.*basearch,baseurl=${location}/Modular/\$basearch,g' -e 's,^#baseurl.*source,baseurl=${location}/Modular/source,g' /etc/yum.repos.d/{fedora-modular,fedora-rawhide-modular}.repo", 0;
# this can be used for debugging if something is going wrong # this can be used for debugging if something is going wrong
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') { # unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz"; # upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# } # }
} }
sub _repo_setup_updates { sub _repo_setup_updates {
@ -538,9 +538,9 @@ sub _repo_setup_updates {
my $currrel = get_var("CURRREL", "0"); my $currrel = get_var("CURRREL", "0");
repos_mirrorlist(); repos_mirrorlist();
# this can be used for debugging repo config if something is wrong # this can be used for debugging repo config if something is wrong
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') { # unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz"; # upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# } # }
if ($version > $currrel) { if ($version > $currrel) {
# Disable updates-testing so other bad updates don't break us # Disable updates-testing so other bad updates don't break us
# this will do nothing on upgrade tests as we're on a stable # this will do nothing on upgrade tests as we're on a stable
@ -651,11 +651,11 @@ sub console_initial_setup {
# Set timezone # Set timezone
type_string "2\n"; type_string "2\n";
wait_still_screen 5; wait_still_screen 5;
type_string "1\n"; # Set timezone type_string "1\n"; # Set timezone
wait_still_screen 5; wait_still_screen 5;
type_string "1\n"; # Europe type_string "1\n"; # Europe
wait_still_screen 5; wait_still_screen 5;
type_string "37\n"; # Prague type_string "37\n"; # Prague
wait_still_screen 7; wait_still_screen 7;
# Set root password # Set root password
@ -671,14 +671,14 @@ sub console_initial_setup {
# Create user # Create user
type_string "5\n"; type_string "5\n";
wait_still_screen 5; wait_still_screen 5;
type_string "1\n"; # create new type_string "1\n"; # create new
wait_still_screen 5; wait_still_screen 5;
type_string "3\n"; # set username type_string "3\n"; # set username
wait_still_screen 5; wait_still_screen 5;
type_string get_var("USER_LOGIN", "test"); type_string get_var("USER_LOGIN", "test");
send_key "ret"; send_key "ret";
wait_still_screen 5; wait_still_screen 5;
type_string "5\n"; # set password type_string "5\n"; # set password
wait_still_screen 5; wait_still_screen 5;
type_string get_var("USER_PASSWORD", "weakpassword"); type_string get_var("USER_PASSWORD", "weakpassword");
send_key "ret"; send_key "ret";
@ -686,13 +686,13 @@ sub console_initial_setup {
type_string get_var("USER_PASSWORD", "weakpassword"); type_string get_var("USER_PASSWORD", "weakpassword");
send_key "ret"; send_key "ret";
wait_still_screen 5; wait_still_screen 5;
type_string "6\n"; # make him an administrator type_string "6\n"; # make him an administrator
wait_still_screen 5; wait_still_screen 5;
type_string "c\n"; type_string "c\n";
wait_still_screen 7; wait_still_screen 7;
assert_screen "console_initial_SETUP_DONE", 30; assert_screen "console_initial_SETUP_DONE", 30;
type_string "c\n"; # continue type_string "c\n"; # continue
} }
sub handle_welcome_screen { sub handle_welcome_screen {
@ -735,18 +735,18 @@ sub gnome_initial_setup {
# https://fedoraproject.org//wiki/Changes/ReduceInitialSetupRedundancy # https://fedoraproject.org//wiki/Changes/ReduceInitialSetupRedundancy
# https://bugzilla.redhat.com/show_bug.cgi?id=1474787 , # https://bugzilla.redhat.com/show_bug.cgi?id=1474787 ,
# except 'language' is never *really* skipped (see above) # except 'language' is never *really* skipped (see above)
@nexts = grep {$_ ne 'keyboard'} @nexts; @nexts = grep { $_ ne 'keyboard' } @nexts;
@nexts = grep {$_ ne 'timezone'} @nexts; @nexts = grep { $_ ne 'timezone' } @nexts;
} }
else { else {
# 'timezone' and 'software' are suppressed for the 'existing user' # 'timezone' and 'software' are suppressed for the 'existing user'
# form of g-i-s # form of g-i-s
@nexts = grep {$_ ne 'software'} @nexts; @nexts = grep { $_ ne 'software' } @nexts;
@nexts = grep {$_ ne 'timezone'} @nexts; @nexts = grep { $_ ne 'timezone' } @nexts;
} }
# 'additional software sources' screen does not display on F28+: # 'additional software sources' screen does not display on F28+:
# https://bugzilla.gnome.org/show_bug.cgi?id=794825 # https://bugzilla.gnome.org/show_bug.cgi?id=794825
@nexts = grep {$_ ne 'software'} @nexts; @nexts = grep { $_ ne 'software' } @nexts;
# note: in g-i-s 3.37.91 and later, the first screen in systemwide # note: in g-i-s 3.37.91 and later, the first screen in systemwide
# mode has a "Start Setup" button, not a "Next" button # mode has a "Start Setup" button, not a "Next" button
@ -761,13 +761,13 @@ sub gnome_initial_setup {
# wait a bit in case of animation # wait a bit in case of animation
wait_still_screen 3; wait_still_screen 3;
# one more check for frickin auth_required # one more check for frickin auth_required
if (check_screen "auth_required") { if (check_screen "auth_required") {
record_soft_failure "Unexpected authentication required: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106"; record_soft_failure "Unexpected authentication required: https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/106";
send_key "esc"; send_key "esc";
} }
# GDM 3.24.1 dumps a cursor in the middle of the screen here... # GDM 3.24.1 dumps a cursor in the middle of the screen here...
mouse_hide if ($args{prelogin}); mouse_hide if ($args{prelogin});
for my $n (1..scalar(@nexts)) { for my $n (1 .. scalar(@nexts)) {
# click 'Next' $nexts times, moving the mouse to avoid # click 'Next' $nexts times, moving the mouse to avoid
# highlight problems, sleeping to give it time to get # highlight problems, sleeping to give it time to get
# to the next screen between clicks # to the next screen between clicks
@ -794,7 +794,7 @@ sub gnome_initial_setup {
unless (get_var("VNC_CLIENT")) { unless (get_var("VNC_CLIENT")) {
# click 'Skip' one time (this is the 'goa' screen). We don't # click 'Skip' one time (this is the 'goa' screen). We don't
# get it on VNC_CLIENT case as network isn't working (yet) # get it on VNC_CLIENT case as network isn't working (yet)
mouse_set(100,100); mouse_set(100, 100);
wait_screen_change { assert_and_click "skip_button"; }; wait_screen_change { assert_and_click "skip_button"; };
} }
send_key "ret"; send_key "ret";
@ -843,7 +843,7 @@ sub anaconda_create_user {
@_ @_
); );
my $user_login = get_var("USER_LOGIN") || "test"; my $user_login = get_var("USER_LOGIN") || "test";
assert_and_click("anaconda_install_user_creation", timeout=>$args{timeout}); assert_and_click("anaconda_install_user_creation", timeout => $args{timeout});
assert_screen "anaconda_install_user_creation_screen"; assert_screen "anaconda_install_user_creation_screen";
# wait out animation # wait out animation
wait_still_screen 2; wait_still_screen 2;
@ -901,21 +901,21 @@ sub check_desktop {
} }
sub download_modularity_tests { sub download_modularity_tests {
# Download the modularity test script, place in the system and then # Download the modularity test script, place in the system and then
# modify the access rights to make it executable. # modify the access rights to make it executable.
my ($whitelist) = @_; my ($whitelist) = @_;
# we need python3-yaml for the script to run # we need python3-yaml for the script to run
assert_script_run 'dnf -y install python3-yaml', 180; assert_script_run 'dnf -y install python3-yaml', 180;
assert_script_run 'curl -o /root/test.py https://pagure.io/fedora-qa/modularity_testing_scripts/raw/master/f/modular_functions.py'; assert_script_run 'curl -o /root/test.py https://pagure.io/fedora-qa/modularity_testing_scripts/raw/master/f/modular_functions.py';
if ($whitelist eq 'whitelist') { if ($whitelist eq 'whitelist') {
assert_script_run 'curl -o /root/whitelist https://pagure.io/fedora-qa/modularity_testing_scripts/raw/master/f/whitelist'; assert_script_run 'curl -o /root/whitelist https://pagure.io/fedora-qa/modularity_testing_scripts/raw/master/f/whitelist';
} }
assert_script_run 'chmod 755 /root/test.py'; assert_script_run 'chmod 755 /root/test.py';
} }
sub quit_firefox { sub quit_firefox {
# Quit Firefox, handling the 'close multiple tabs' warning screen if # Quit Firefox, handling the 'close multiple tabs' warning screen if
# it shows up # it shows up
send_key "ctrl-q"; send_key "ctrl-q";
# expect to get to either the tabs warning or a console # expect to get to either the tabs warning or a console
if (check_screen ["user_console", "root_console", "firefox_close_tabs"], 30) { if (check_screen ["user_console", "root_console", "firefox_close_tabs"], 30) {
@ -927,14 +927,14 @@ sub quit_firefox {
} }
sub start_with_launcher { sub start_with_launcher {
# Get the name of the needle with a launcher, find the launcher in the menu # Get the name of the needle with a launcher, find the launcher in the menu
# and click on it to start the application. This function works for the # and click on it to start the application. This function works for the
# Gnome desktop. # Gnome desktop.
# $launcher holds the launcher needle, but some of the apps are hidden in a submenu # $launcher holds the launcher needle, but some of the apps are hidden in a submenu
# so this must be handled first to find the launcher needle. # so this must be handled first to find the launcher needle.
my ($launcher,$submenu,$group) = @_; my ($launcher, $submenu, $group) = @_;
$submenu //= ''; $submenu //= '';
$group //= ''; $group //= '';
my $desktop = get_var('DESKTOP'); my $desktop = get_var('DESKTOP');
@ -979,7 +979,7 @@ sub start_with_launcher {
assert_and_click $launcher; assert_and_click $launcher;
wait_still_screen 5; wait_still_screen 5;
} }
elsif ($desktop eq 'kde'){ elsif ($desktop eq 'kde') {
# Click on the KDE launcher icon # Click on the KDE launcher icon
assert_and_click 'kde_menu_launcher'; assert_and_click 'kde_menu_launcher';
wait_still_screen 2; wait_still_screen 2;
@ -1006,7 +1006,7 @@ sub start_with_launcher {
sub quit_with_shortcut { sub quit_with_shortcut {
# Quit the application using the Alt-F4 keyboard shortcut # Quit the application using the Alt-F4 keyboard shortcut
send_key 'alt-f4'; send_key 'alt-f4';
wait_still_screen 5; wait_still_screen 5;
assert_screen 'workspace'; assert_screen 'workspace';
@ -1035,12 +1035,12 @@ sub advisory_get_installed_packages {
# occasionally, for some reason, it's unhappy about sorting; # occasionally, for some reason, it's unhappy about sorting;
# we shouldn't fail the test in this case, just upload the # we shouldn't fail the test in this case, just upload the
# files so we can see why... # files so we can see why...
upload_logs "/tmp/allpkgs.txt", failok=>1; upload_logs "/tmp/allpkgs.txt", failok => 1;
upload_logs "/var/log/updatepkgs.txt", failok=>1; upload_logs "/var/log/updatepkgs.txt", failok => 1;
} }
# we'll try and upload the output even if comm 'failed', as it # we'll try and upload the output even if comm 'failed', as it
# does in fact still write it in some cases # does in fact still write it in some cases
upload_logs "/var/log/testedpkgs.txt", failok=>1; upload_logs "/var/log/testedpkgs.txt", failok => 1;
} }
sub advisory_check_nonmatching_packages { sub advisory_check_nonmatching_packages {
@ -1068,8 +1068,8 @@ sub advisory_check_nonmatching_packages {
script_run 'for pkg in $(cat /var/log/updatepkgnames.txt); do rpm -q $pkg && rpm -q $pkg --last | head -1 | cut -d" " -f1 | xargs rpm -q --qf "%{SOURCERPM} %{EPOCH} %{NAME}-%{VERSION}-%{RELEASE}\n" >> /tmp/installedupdatepkgs.txt; done'; script_run 'for pkg in $(cat /var/log/updatepkgnames.txt); do rpm -q $pkg && rpm -q $pkg --last | head -1 | cut -d" " -f1 | xargs rpm -q --qf "%{SOURCERPM} %{EPOCH} %{NAME}-%{VERSION}-%{RELEASE}\n" >> /tmp/installedupdatepkgs.txt; done';
script_run 'sort -u -o /tmp/installedupdatepkgs.txt /tmp/installedupdatepkgs.txt'; script_run 'sort -u -o /tmp/installedupdatepkgs.txt /tmp/installedupdatepkgs.txt';
# for debugging, may as well always upload these, can't hurt anything # for debugging, may as well always upload these, can't hurt anything
upload_logs "/tmp/installedupdatepkgs.txt", failok=>1; upload_logs "/tmp/installedupdatepkgs.txt", failok => 1;
upload_logs "/var/log/updatepkgs.txt", failok=>1; upload_logs "/var/log/updatepkgs.txt", failok => 1;
# if any line appears in installedupdatepkgs.txt but not updatepkgs.txt, # if any line appears in installedupdatepkgs.txt but not updatepkgs.txt,
# we have a problem. # we have a problem.
if (script_run 'comm -23 /tmp/installedupdatepkgs.txt /var/log/updatepkgs.txt > /var/log/installednotupdatedpkgs.txt') { if (script_run 'comm -23 /tmp/installedupdatepkgs.txt /var/log/updatepkgs.txt > /var/log/installednotupdatedpkgs.txt') {
@ -1081,7 +1081,7 @@ sub advisory_check_nonmatching_packages {
# this exits 1 if the file is zero-length, 0 if it's longer # this exits 1 if the file is zero-length, 0 if it's longer
# if it's 0, that's *BAD*: we want to upload the file and fail # if it's 0, that's *BAD*: we want to upload the file and fail
unless (script_run 'test -s /var/log/installednotupdatedpkgs.txt') { unless (script_run 'test -s /var/log/installednotupdatedpkgs.txt') {
upload_logs "/var/log/installednotupdatedpkgs.txt", failok=>1; upload_logs "/var/log/installednotupdatedpkgs.txt", failok => 1;
my $message = "Package(s) from update not installed when it should have been! See installednotupdatedpkgs.txt"; my $message = "Package(s) from update not installed when it should have been! See installednotupdatedpkgs.txt";
if ($args{fatal}) { if ($args{fatal}) {
set_var("_ACNMP_DONE", "1"); set_var("_ACNMP_DONE", "1");
@ -1134,7 +1134,7 @@ sub select_rescue_mode {
} }
} }
assert_screen "rescue_select", 180; # it takes time to start anaconda assert_screen "rescue_select", 180; # it takes time to start anaconda
} }
sub copy_devcdrom_as_isofile { sub copy_devcdrom_as_isofile {
@ -1289,10 +1289,10 @@ sub check_prerelease {
assert_screen "prerelease_note"; assert_screen "prerelease_note";
} }
elsif ($prerelease == 0) { elsif ($prerelease == 0) {
# If the prerelease note is shown, where it should not be, die! # If the prerelease note is shown, where it should not be, die!
if (check_screen "prerelease_note") { if (check_screen "prerelease_note") {
die "The PRERELEASE tag is shown, but it should NOT be."; die "The PRERELEASE tag is shown, but it should NOT be.";
} }
} }
} }
@ -1372,12 +1372,12 @@ sub click_unwanted_notifications {
my @closed; my @closed;
while ($count > 0 && check_screen "desktop_update_notification_popup", 5) { while ($count > 0 && check_screen "desktop_update_notification_popup", 5) {
$count -= 1; $count -= 1;
push (@closed, 'update'); push(@closed, 'update');
click_lastmatch; click_lastmatch;
} }
if (check_screen "akonadi_migration_agent_running", 5) { if (check_screen "akonadi_migration_agent_running", 5) {
click_lastmatch; click_lastmatch;
push (@closed, 'akonadi'); push(@closed, 'akonadi');
} }
return @closed; return @closed;
} }
@ -1400,7 +1400,7 @@ sub register_application {
sub solidify_wallpaper { sub solidify_wallpaper {
my $desktop = get_var("DESKTOP"); my $desktop = get_var("DESKTOP");
if ($desktop eq "kde") { if ($desktop eq "kde") {
# Run the Desktop settings # Run the Desktop settings
# FIXME workaround a weird bug where alt-d-s does something # FIXME workaround a weird bug where alt-d-s does something
# different until you right click on the desktop: # different until you right click on the desktop:
# https://bugzilla.redhat.com/show_bug.cgi?id=1933118 # https://bugzilla.redhat.com/show_bug.cgi?id=1933118

20
main.pm
View File

@ -33,7 +33,7 @@ testapi::set_distribution(fedoradistribution->new());
# Stolen from openSUSE. # Stolen from openSUSE.
sub unregister_needle_tags($) { sub unregister_needle_tags($) {
my $tag = shift; my $tag = shift;
my @a = @{ needle::tags($tag) }; my @a = @{needle::tags($tag)};
for my $n (@a) { $n->unregister(); } for my $n (@a) { $n->unregister(); }
} }
@ -49,14 +49,14 @@ sub unregister_needle_tags($) {
# 'LANGUAGE-' at all. # 'LANGUAGE-' at all.
sub unregister_prefix_tags { sub unregister_prefix_tags {
my ($prefix, $valueref) = @_; my ($prefix, $valueref) = @_;
NEEDLE: for my $needle ( needle::all() ) { NEEDLE: for my $needle (needle::all()) {
my $unregister = 0; my $unregister = 0;
for my $tag ( @{$needle->{'tags'}} ) { for my $tag (@{$needle->{'tags'}}) {
if ($tag =~ /^\Q$prefix/) { if ($tag =~ /^\Q$prefix/) {
# We have at least one tag matching the prefix, so we # We have at least one tag matching the prefix, so we
# *MAY* want to un-register the needle # *MAY* want to un-register the needle
$unregister = 1; $unregister = 1;
for my $value ( @{$valueref} ) { for my $value (@{$valueref}) {
# At any point if we hit a prefix-value match, we # At any point if we hit a prefix-value match, we
# know we need to keep this needle and can skip # know we need to keep this needle and can skip
# to the next # to the next
@ -85,13 +85,13 @@ sub cleanup_needles() {
# Unregister desktop needles of other desktops when DESKTOP is specified # Unregister desktop needles of other desktops when DESKTOP is specified
if (get_var('DESKTOP')) { if (get_var('DESKTOP')) {
unregister_prefix_tags('DESKTOP', [ get_var('DESKTOP') ]) unregister_prefix_tags('DESKTOP', [get_var('DESKTOP')]);
} }
# Unregister non-language-appropriate needles. See unregister_except_ # Unregister non-language-appropriate needles. See unregister_except_
# tags for details; basically all needles with at least one LANGUAGE- # tags for details; basically all needles with at least one LANGUAGE-
# tag will be unregistered unless they match the current langauge. # tag will be unregistered unless they match the current langauge.
my $langref = [ get_var('LANGUAGE') || 'english' ]; my $langref = [get_var('LANGUAGE') || 'english'];
unregister_prefix_tags('LANGUAGE', $langref); unregister_prefix_tags('LANGUAGE', $langref);
} }
$needle::cleanuphandler = \&cleanup_needles; $needle::cleanuphandler = \&cleanup_needles;
@ -195,15 +195,15 @@ sub load_install_tests() {
my $partitioning = get_var('PARTITIONING'); my $partitioning = get_var('PARTITIONING');
# if PARTITIONING is unset, or one of [...], use disk_guided_empty, # if PARTITIONING is unset, or one of [...], use disk_guided_empty,
# which is the simplest / 'default' case. # which is the simplest / 'default' case.
if (! $partitioning || $partitioning ~~ ['guided_empty', 'guided_free_space']) { if (!$partitioning || $partitioning ~~ ['guided_empty', 'guided_free_space']) {
$storage = "tests/disk_guided_empty.pm"; $storage = "tests/disk_guided_empty.pm";
} }
else { else {
$storage = "tests/disk_".$partitioning.".pm"; $storage = "tests/disk_" . $partitioning . ".pm";
} }
autotest::loadtest $storage; autotest::loadtest $storage;
if (get_var("ENCRYPT_PASSWORD")){ if (get_var("ENCRYPT_PASSWORD")) {
autotest::loadtest "tests/disk_guided_encrypted.pm"; autotest::loadtest "tests/disk_guided_encrypted.pm";
} }
@ -330,7 +330,7 @@ sub load_postinstall_tests() {
} }
autotest::loadtest $storagepost if ($storagepost); autotest::loadtest $storagepost if ($storagepost);
if (get_var("UEFI") &! get_var("NO_UEFI_POST") &! get_var("START_AFTER_TEST")) { if (get_var("UEFI") & !get_var("NO_UEFI_POST") & !get_var("START_AFTER_TEST")) {
autotest::loadtest "tests/uefi_postinstall.pm"; autotest::loadtest "tests/uefi_postinstall.pm";
} }

View File

@ -5,7 +5,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>3); $self->root_console(tty => 3);
# figure out which packages from the update actually got installed # figure out which packages from the update actually got installed
# (if any) as part of this test # (if any) as part of this test
advisory_get_installed_packages; advisory_get_installed_packages;
@ -15,7 +15,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ sub run {
my $self = shift; my $self = shift;
# do the 'repo setup' steps, which set up a repo containing the # do the 'repo setup' steps, which set up a repo containing the
# update packages and run 'dnf update' # update packages and run 'dnf update'
$self->root_console(tty=>3); $self->root_console(tty => 3);
repo_setup; repo_setup;
if (get_var("ADVISORY_BOOT_TEST")) { if (get_var("ADVISORY_BOOT_TEST")) {
# to test boot stuff - in case the update touched grub2, or dracut, # to test boot stuff - in case the update touched grub2, or dracut,
@ -25,7 +25,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ use tapnet;
sub run { sub run {
my $self = shift; my $self = shift;
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
assert_and_click "anaconda_main_hub_kdump"; assert_and_click "anaconda_main_hub_kdump";
assert_and_click "anaconda_kdump_disable"; assert_and_click "anaconda_kdump_disable";
@ -16,7 +16,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ use tapnet;
sub run { sub run {
my $self = shift; my $self = shift;
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
assert_and_click "anaconda_main_hub_kdump"; assert_and_click "anaconda_main_hub_kdump";
assert_and_click "anaconda_kdump_enable"; assert_and_click "anaconda_kdump_enable";
@ -16,7 +16,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ use tapnet;
sub run { sub run {
my $self = shift; my $self = shift;
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
if (check_screen ["anaconda_network_connected"], 60) { if (check_screen ["anaconda_network_connected"], 60) {
# network is connected already, we're done # network is connected already, we're done
@ -22,7 +22,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -30,7 +30,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -77,7 +77,7 @@ sub run {
# call do_bootloader with postinstall=0, the params, and the mutex, # call do_bootloader with postinstall=0, the params, and the mutex,
# unless we're a VNC install client (no bootloader there) # unless we're a VNC install client (no bootloader there)
unless (get_var("VNC_CLIENT")) { unless (get_var("VNC_CLIENT")) {
do_bootloader(postinstall=>0, params=>$params, mutex=>$mutex, timeout=>$timeout); do_bootloader(postinstall => 0, params => $params, mutex => $mutex, timeout => $timeout);
} }
# Read variables for identification tests (see further). # Read variables for identification tests (see further).
@ -99,7 +99,7 @@ sub run {
# we direct the installer to virtio-console1, and use # we direct the installer to virtio-console1, and use
# virtio-console as a root console # virtio-console as a root console
select_console('virtio-console1'); select_console('virtio-console1');
unless (wait_serial "Use text mode", timeout=>120) { die "Anaconda has not started."; } unless (wait_serial "Use text mode", timeout => 120) { die "Anaconda has not started."; }
type_string "2\n"; type_string "2\n";
unless (wait_serial "Installation") { die "Text version of Anaconda has not started."; } unless (wait_serial "Installation") { die "Text version of Anaconda has not started."; }
} }
@ -130,17 +130,17 @@ sub run {
my $relnum = get_release_number; my $relnum = get_release_number;
my $dclick = 0; my $dclick = 0;
$dclick = 1 if (get_var("DESKTOP") eq "kde" && $relnum > 33); $dclick = 1 if (get_var("DESKTOP") eq "kde" && $relnum > 33);
assert_and_click("live_start_anaconda_icon", dclick=>$dclick); assert_and_click("live_start_anaconda_icon", dclick => $dclick);
unless (check_screen "anaconda_select_install_lang", 180) { unless (check_screen "anaconda_select_install_lang", 180) {
# click it again - on KDE since 2019-10 or so it seems # click it again - on KDE since 2019-10 or so it seems
# like the first attempt sometimes just doesn't work # like the first attempt sometimes just doesn't work
assert_and_click("live_start_anaconda_icon", dclick=>$dclick, timeout=>300); assert_and_click("live_start_anaconda_icon", dclick => $dclick, timeout => 300);
} }
} }
my $language = get_var('LANGUAGE') || 'english'; my $language = get_var('LANGUAGE') || 'english';
# wait for anaconda to appear; we click to work around # wait for anaconda to appear; we click to work around
# RHBZ #1566066 if it happens # RHBZ #1566066 if it happens
assert_and_click("anaconda_select_install_lang", timeout=>300); assert_and_click("anaconda_select_install_lang", timeout => 300);
# Select install language # Select install language
wait_screen_change { assert_and_click "anaconda_select_install_lang_input"; }; wait_screen_change { assert_and_click "anaconda_select_install_lang_input"; };
@ -177,7 +177,7 @@ sub run {
# Here, we will watch for the graphical elements in Anaconda main hub. # Here, we will watch for the graphical elements in Anaconda main hub.
my $branched = get_var('VERSION'); my $branched = get_var('VERSION');
if ($identification eq 'true' or $branched ne "Rawhide") { if ($identification eq 'true' or $branched ne "Rawhide") {
check_left_bar(); # See utils.pm check_left_bar(); # See utils.pm
check_prerelease(); check_prerelease();
check_version(); check_version();
} }
@ -185,13 +185,13 @@ sub run {
# didn't match anything: if the Rawhide warning didn't # didn't match anything: if the Rawhide warning didn't
# show by now it never will, so we'll just wait for the # show by now it never will, so we'll just wait for the
# hub to show up. # hub to show up.
assert_screen "anaconda_main_hub", 900; # assert_screen "anaconda_main_hub", 900; #
} }
} }
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -81,16 +81,16 @@ sub run {
} }
# just for convenience - sometimes it's useful to see this log # just for convenience - sometimes it's useful to see this log
# for a success case # for a success case
upload_logs "/tmp/packaging.log", failok=>1; upload_logs "/tmp/packaging.log", failok => 1;
send_key "ctrl-alt-f6"; send_key "ctrl-alt-f6";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 30; # assert_screen "anaconda_main_hub", 30; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -4,7 +4,7 @@ use testapi;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>4); $self->root_console(tty => 4);
assert_script_run 'top -i -n20 -b > /var/tmp/top.log', 120; assert_script_run 'top -i -n20 -b > /var/tmp/top.log', 120;
upload_logs '/var/tmp/top.log'; upload_logs '/var/tmp/top.log';
unless (get_var("CANNED")) { unless (get_var("CANNED")) {
@ -43,7 +43,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { 'ignore_failure' => 1 }; return {'ignore_failure' => 1};
} }
1; 1;

View File

@ -5,7 +5,7 @@ use testapi;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>3); $self->root_console(tty => 3);
# if this is a non-English, non-switched layout, load US layout # if this is a non-English, non-switched layout, load US layout
# at this point # at this point
# FIXME: this is all kind of a mess, as on such configs we need # FIXME: this is all kind of a mess, as on such configs we need

View File

@ -11,14 +11,14 @@ sub run {
# with a password that requires Arabic support. # with a password that requires Arabic support.
# Such attempt to log in would always fail. # Such attempt to log in would always fail.
if (get_var("LANGUAGE") ne "arabic" && get_var("USER_LOGIN") ne "false") { if (get_var("LANGUAGE") ne "arabic" && get_var("USER_LOGIN") ne "false") {
console_login(user=>get_var("USER_LOGIN", "test"), password=>get_var("USER_PASSWORD", "weakpassword")); console_login(user => get_var("USER_LOGIN", "test"), password => get_var("USER_PASSWORD", "weakpassword"));
} }
if (get_var("ROOT_PASSWORD")) { if (get_var("ROOT_PASSWORD")) {
console_login(user=>"root", password=>get_var("ROOT_PASSWORD")); console_login(user => "root", password => get_var("ROOT_PASSWORD"));
} }
} }
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;
# vim: set sw=4 et: # vim: set sw=4 et:

View File

@ -10,7 +10,7 @@ sub run {
# use the desktops' graphical shutdown methods, we just go to a # use the desktops' graphical shutdown methods, we just go to a
# console and run 'poweroff'. We can write separate tests for # console and run 'poweroff'. We can write separate tests for
# properly testing shutdown/reboot/log out from desktops. # properly testing shutdown/reboot/log out from desktops.
$self->root_console(tty=>4); $self->root_console(tty => 4);
# disable the hidden grub menu on Workstation, so post-install # disable the hidden grub menu on Workstation, so post-install
# tests that need to edit boot params will see it. Don't use # tests that need to edit boot params will see it. Don't use
# assert_script_run as this will fail when it's not set # assert_script_run as this will fail when it's not set
@ -23,7 +23,7 @@ sub run {
# even if shutdown fails. we should have a separate test for shutdown/ # even if shutdown fails. we should have a separate test for shutdown/
# logout/reboot stuff, might need some refactoring. # logout/reboot stuff, might need some refactoring.
sub test_flags { sub test_flags {
return { 'norollback' => 1, 'ignore_failure' => 1 }; return {'norollback' => 1, 'ignore_failure' => 1};
} }
1; 1;

View File

@ -11,7 +11,7 @@ sub run {
# handle bootloader, if requested # handle bootloader, if requested
if (get_var("GRUB_POSTINSTALL")) { if (get_var("GRUB_POSTINSTALL")) {
do_bootloader(postinstall=>1, params=>get_var("GRUB_POSTINSTALL"), timeout=>$wait_time); do_bootloader(postinstall => 1, params => get_var("GRUB_POSTINSTALL"), timeout => $wait_time);
$wait_time = 240; $wait_time = 240;
} }
@ -24,23 +24,23 @@ sub run {
boot_to_login_screen(timeout => $wait_time); boot_to_login_screen(timeout => $wait_time);
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# do user login unless USER_LOGIN is set to string 'false' # do user login unless USER_LOGIN is set to string 'false'
unless (get_var("USER_LOGIN") eq "false") { unless (get_var("USER_LOGIN") eq "false") {
# this avoids us waiting 90 seconds for a # to show up # this avoids us waiting 90 seconds for a # to show up
my $origprompt = $testapi::distri->{serial_term_prompt}; my $origprompt = $testapi::distri->{serial_term_prompt};
$testapi::distri->{serial_term_prompt} = '$ '; $testapi::distri->{serial_term_prompt} = '$ ';
console_login(user=>get_var("USER_LOGIN", "test"), password=>get_var("USER_PASSWORD", "weakpassword")); console_login(user => get_var("USER_LOGIN", "test"), password => get_var("USER_PASSWORD", "weakpassword"));
$testapi::distri->{serial_term_prompt} = $origprompt; $testapi::distri->{serial_term_prompt} = $origprompt;
} }
if (get_var("ROOT_PASSWORD")) { if (get_var("ROOT_PASSWORD")) {
console_login(user=>"root", password=>get_var("ROOT_PASSWORD")); console_login(user => "root", password => get_var("ROOT_PASSWORD"));
} }
} }
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;

View File

@ -12,7 +12,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -137,14 +137,14 @@ sub run {
# there are various things we might have to do at a console here # there are various things we might have to do at a console here
# before we actually reboot. let's figure them all out first... # before we actually reboot. let's figure them all out first...
my @actions; my @actions;
push (@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64"); push(@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64");
push (@actions, 'abrt') if (get_var("ABRT", '') eq "system"); push(@actions, 'abrt') if (get_var("ABRT", '') eq "system");
push (@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT")); push(@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT"));
push (@actions, 'stagingrepos') if (get_var("DNF_CONTENTDIR")); push(@actions, 'stagingrepos') if (get_var("DNF_CONTENTDIR"));
# memcheck test doesn't need to reboot at all. Rebooting from GUI # memcheck test doesn't need to reboot at all. Rebooting from GUI
# for lives is unreliable. And if we're already doing something # for lives is unreliable. And if we're already doing something
# else at a console, we may as well reboot from there too # else at a console, we may as well reboot from there too
push (@actions, 'reboot') if (!get_var("MEMCHECK") && (get_var("LIVE") || @actions)); push(@actions, 'reboot') if (!get_var("MEMCHECK") && (get_var("LIVE") || @actions));
# our approach for taking all these actions doesn't work on VNC # our approach for taking all these actions doesn't work on VNC
# installs, fortunately we don't need any of them in that case # installs, fortunately we don't need any of them in that case
# yet, so for now let's just flush the list here if we're VNC # yet, so for now let's just flush the list here if we're VNC
@ -159,14 +159,14 @@ sub run {
} }
# OK, if we're here, we got actions, so head to a console. Switch # OK, if we're here, we got actions, so head to a console. Switch
# to console after liveinst sometimes takes a while, so 30 secs # to console after liveinst sometimes takes a while, so 30 secs
$self->root_console(timeout=>30); $self->root_console(timeout => 30);
# this is something a couple of actions may need to know # this is something a couple of actions may need to know
my $mount = "/mnt/sysimage"; my $mount = "/mnt/sysimage";
if (get_var("CANNED")) { if (get_var("CANNED")) {
# finding the actual host system root is fun for ostree... # finding the actual host system root is fun for ostree...
$mount = "/mnt/sysimage/ostree/deploy/fedora*/deploy/*.?"; $mount = "/mnt/sysimage/ostree/deploy/fedora*/deploy/*.?";
} }
if (grep {$_ eq 'consoletty0'} @actions) { if (grep { $_ eq 'consoletty0' } @actions) {
# somehow, by this point, localized keyboard layout has been # somehow, by this point, localized keyboard layout has been
# loaded for this tty, so for French and Arabic at least we # loaded for this tty, so for French and Arabic at least we
# need to load the 'us' layout again for the next command to # need to load the 'us' layout again for the next command to
@ -180,15 +180,15 @@ sub run {
# regenerate the bootloader config # regenerate the bootloader config
assert_script_run "chroot $mount grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg"; assert_script_run "chroot $mount grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg";
} }
if (grep {$_ eq 'abrt'} @actions) { if (grep { $_ eq 'abrt' } @actions) {
# Chroot in the newly installed system and switch on ABRT systemwide # Chroot in the newly installed system and switch on ABRT systemwide
assert_script_run "chroot $mount abrt-auto-reporting 1"; assert_script_run "chroot $mount abrt-auto-reporting 1";
} }
if (grep {$_ eq 'rootpw'} @actions) { if (grep { $_ eq 'rootpw' } @actions) {
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword"; my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
assert_script_run "echo 'root:$root_password' | chpasswd -R $mount"; assert_script_run "echo 'root:$root_password' | chpasswd -R $mount";
} }
if (grep {$_ eq 'stagingrepos'} @actions) { if (grep { $_ eq 'stagingrepos' } @actions) {
if (get_version_major() < 9) { if (get_version_major() < 9) {
assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . $mount . '/etc/yum.repos.d/Rocky-BaseOS.repo'; assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . $mount . '/etc/yum.repos.d/Rocky-BaseOS.repo';
assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . $mount . '/etc/yum.repos.d/Rocky-AppStream.repo'; assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . $mount . '/etc/yum.repos.d/Rocky-AppStream.repo';
@ -202,11 +202,11 @@ sub run {
} }
assert_script_run 'printf "stg/rocky\n" > ' . $mount . '/etc/dnf/vars/contentdir'; assert_script_run 'printf "stg/rocky\n" > ' . $mount . '/etc/dnf/vars/contentdir';
} }
type_string "reboot\n" if (grep {$_ eq 'reboot'} @actions); type_string "reboot\n" if (grep { $_ eq 'reboot' } @actions);
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -50,7 +50,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -17,17 +17,17 @@ sub run {
# handle bootloader, if requested # handle bootloader, if requested
if (get_var("GRUB_POSTINSTALL")) { if (get_var("GRUB_POSTINSTALL")) {
do_bootloader(postinstall=>1, params=>get_var("GRUB_POSTINSTALL"), timeout=>$wait_time); do_bootloader(postinstall => 1, params => get_var("GRUB_POSTINSTALL"), timeout => $wait_time);
$wait_time = 300; $wait_time = 300;
} }
# Handle pre-login initial setup if we're doing INSTALL_NO_USER # Handle pre-login initial setup if we're doing INSTALL_NO_USER
if (get_var("INSTALL_NO_USER") && !get_var("_SETUP_DONE")) { if (get_var("INSTALL_NO_USER") && !get_var("_SETUP_DONE")) {
if (get_var("DESKTOP") eq 'gnome') { if (get_var("DESKTOP") eq 'gnome') {
gnome_initial_setup(prelogin=>1, timeout=>$wait_time); gnome_initial_setup(prelogin => 1, timeout => $wait_time);
} }
else { else {
anaconda_create_user(timeout=>$wait_time); anaconda_create_user(timeout => $wait_time);
# wait out animation # wait out animation
wait_still_screen 3; wait_still_screen 3;
assert_and_click "initialsetup_finish_configuration"; assert_and_click "initialsetup_finish_configuration";
@ -41,7 +41,7 @@ sub run {
unless (get_var("DESKTOP") eq 'gnome' && get_var("INSTALL_NO_USER")) { unless (get_var("DESKTOP") eq 'gnome' && get_var("INSTALL_NO_USER")) {
unless (get_var("HDD_1") && !(get_var("PARTITIONING") eq "custom_resize_lvm")) { unless (get_var("HDD_1") && !(get_var("PARTITIONING") eq "custom_resize_lvm")) {
# in 9.0, license screens are not shown by default # in 9.0, license screens are not shown by default
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/9.0_release_notes/index#enhancement_installer-and-image-creation # https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/9.0_release_notes/index#enhancement_installer-and-image-creation
unless (get_version_major() > 8) { unless (get_version_major() > 8) {
# for Rocky Linux here happens to be a license acceptance screen # for Rocky Linux here happens to be a license acceptance screen
# the initial appearance can sometimes take really long # the initial appearance can sometimes take really long
@ -125,7 +125,7 @@ sub run {
# root user now, for subsequent tests to work # root user now, for subsequent tests to work
if (get_var("IMAGE_DEPLOY")) { if (get_var("IMAGE_DEPLOY")) {
send_key "ctrl-alt-f3"; send_key "ctrl-alt-f3";
console_login(user=>get_var("USER_LOGIN", "test"), password=>get_var("USER_PASSWORD", "weakpassword")); console_login(user => get_var("USER_LOGIN", "test"), password => get_var("USER_PASSWORD", "weakpassword"));
type_string "sudo su\n"; type_string "sudo su\n";
type_string "$password\n"; type_string "$password\n";
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword"; my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
@ -137,11 +137,11 @@ sub run {
# Move the mouse somewhere it won't highlight the match areas # Move the mouse somewhere it won't highlight the match areas
mouse_set(300, 800); mouse_set(300, 800);
# KDE can take ages to start up # KDE can take ages to start up
check_desktop(timeout=>120); check_desktop(timeout => 120);
} }
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;

View File

@ -24,13 +24,13 @@ sub run {
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo --repo=/etc/yum.repos.d/workarounds.repo ./results"; $cmd .= " --repo=/etc/yum.repos.d/advisory.repo --repo=/etc/yum.repos.d/workarounds.repo ./results";
assert_script_run $cmd, 1500; assert_script_run $cmd, 1500;
# good to have the log around for checks # good to have the log around for checks
upload_logs "pylorax.log", failok=>1; upload_logs "pylorax.log", failok => 1;
assert_script_run "mv results/images/boot.iso ./${advortask}-netinst-${arch}.iso"; assert_script_run "mv results/images/boot.iso ./${advortask}-netinst-${arch}.iso";
upload_asset "./${advortask}-netinst-x86_64.iso"; upload_asset "./${advortask}-netinst-x86_64.iso";
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -56,7 +56,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -39,7 +39,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -66,7 +66,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -1,17 +1,17 @@
use base "anacondatest"; use base "anacondatest";
use strict; use strict;
use testapi; use testapi;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(); $self->root_console();
upload_logs '/tmp/memory.dat'; upload_logs '/tmp/memory.dat';
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;
# vim: set sw=4 et: # vim: set sw=4 et:

View File

@ -8,7 +8,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>3); $self->root_console(tty => 3);
# wait for server to be set up # wait for server to be set up
mutex_lock "podman_server_ready"; mutex_lock "podman_server_ready";
mutex_unlock "podman_server_ready"; mutex_unlock "podman_server_ready";
@ -23,7 +23,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -13,7 +13,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# set up appropriate repositories # set up appropriate repositories
repo_setup(); repo_setup();
@ -27,7 +27,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;

View File

@ -5,7 +5,7 @@ use testapi;
sub run { sub run {
my $self = shift; my $self = shift;
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
# Select package set. # Select package set.
# If 'default' is specified, skip selection, but verify correct default # If 'default' is specified, skip selection, but verify correct default
@ -33,22 +33,22 @@ sub run {
# In Rocky, graphical-server starts out selected in the DVD ISO so if that's # In Rocky, graphical-server starts out selected in the DVD ISO so if that's
# what we're looking for we're done # what we're looking for we're done
if (!check_screen("anaconda_".$packageset."_selected", 1)) { if (!check_screen("anaconda_" . $packageset . "_selected", 1)) {
send_key_until_needlematch("anaconda_".$packageset."_highlighted", "down", 20); send_key_until_needlematch("anaconda_" . $packageset . "_highlighted", "down", 20);
send_key "spc"; send_key "spc";
} }
# check that desired environment is selected # check that desired environment is selected
assert_screen "anaconda_".$packageset."_selected"; assert_screen "anaconda_" . $packageset . "_selected";
assert_and_click "anaconda_spoke_done"; assert_and_click "anaconda_spoke_done";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 50; # assert_screen "anaconda_main_hub", 50; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -5,17 +5,17 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>4); $self->root_console(tty => 4);
# Point at default repositories by modifying contentdir # Point at default repositories by modifying contentdir
# NOTE: This will leave repos pointing at primary dl server instead # NOTE: This will leave repos pointing at primary dl server instead
# of mirrorlist. # of mirrorlist.
script_run 'printf "pub/rocky\n" > /etc/dnf/vars/contentdir'; script_run 'printf "pub/rocky\n" > /etc/dnf/vars/contentdir';
script_run 'dnf clean all'; script_run 'dnf clean all';
script_run 'dnf repoinfo' script_run 'dnf repoinfo';
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -5,14 +5,14 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
$self->root_console(tty=>4); $self->root_console(tty => 4);
# Point at staging repositories by modifying contentdir # Point at staging repositories by modifying contentdir
if (get_version_major() < 9) { if (get_version_major() < 9) {
script_run "sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/Rocky-*"; script_run "sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/Rocky-*";
script_run "sed -i 's,^#\(baseurl=http[s]*://\),\1,g' /etc/yum.repos.d/Rocky-*"; script_run "sed -i 's,^#\(baseurl=http[s]*://\),\1,g' /etc/yum.repos.d/Rocky-*";
} else { } else {
script_run "sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/rocky*"; script_run "sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/rocky*";
script_run "sed -i 's,^#\(baseurl=http[s]*://\),\1,g' /etc/yum.repos.d/rocky*"; script_run "sed -i 's,^#\(baseurl=http[s]*://\),\1,g' /etc/yum.repos.d/rocky*";
} }
script_run 'printf "stg/rocky\n" > /etc/dnf/vars/contentdir'; script_run 'printf "stg/rocky\n" > /etc/dnf/vars/contentdir';
script_run 'dnf clean all'; script_run 'dnf clean all';
@ -20,7 +20,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -85,7 +85,7 @@ file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg";
# download kernel and initramfs # download kernel and initramfs
my $location = get_var("LOCATION"); my $location = get_var("LOCATION");
my $kernpath = "images/pxeboot"; my $kernpath = "images/pxeboot";
# for some crazy reason these are in a different place for ppc64 # for some crazy reason these are in a different place for ppc64
$kernpath = "ppc/ppc64" if ($arch eq 'ppc64le'); $kernpath = "ppc/ppc64" if ($arch eq 'ppc64le');
assert_script_run "curl -o /var/lib/tftpboot/rocky/vmlinuz $location/BaseOS/${arch}/os/${kernpath}/vmlinuz"; assert_script_run "curl -o /var/lib/tftpboot/rocky/vmlinuz $location/BaseOS/${arch}/os/${kernpath}/vmlinuz";
assert_script_run "curl -o /var/lib/tftpboot/rocky/initrd.img $location/BaseOS/${arch}/os/${kernpath}/initrd.img"; assert_script_run "curl -o /var/lib/tftpboot/rocky/initrd.img $location/BaseOS/${arch}/os/${kernpath}/initrd.img";
@ -104,7 +104,7 @@ file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg";
} }
sub run { sub run {
my $self=shift; my $self = shift;
# disable systemd-resolved, it conflicts with dnsmasq # disable systemd-resolved, it conflicts with dnsmasq
unless (script_run "systemctl is-active systemd-resolved.service") { unless (script_run "systemctl is-active systemd-resolved.service") {
script_run "systemctl stop systemd-resolved.service"; script_run "systemctl stop systemd-resolved.service";
@ -127,7 +127,7 @@ sub run {
## ISCSI ## ISCSI
# start up iscsi target # start up iscsi target
#assert_script_run "printf '<target iqn.2016-06.local.domain:support.target1>\n backing-store /dev/vdb\n incominguser test weakpassword\n</target>' > /etc/tgt/conf.d/openqa.conf"; #assert_script_run "printf '<target iqn.2016-06.local.domain:support.target1>\n backing-store /dev/vdb\n incominguser test weakpassword\n</target>' > /etc/tgt/conf.d/openqa.conf";
assert_script_run "targetcli /backstores/block create dev=/dev/vdb name=vdb"; assert_script_run "targetcli /backstores/block create dev=/dev/vdb name=vdb";
assert_script_run "targetcli /iscsi create wwn=iqn.2016-06.local.domain:support.target1"; assert_script_run "targetcli /iscsi create wwn=iqn.2016-06.local.domain:support.target1";
assert_script_run "targetcli /iscsi/iqn.2016-06.local.domain:support.target1/tpg1/acls create iqn.2016-06.local.domain:support.target1"; assert_script_run "targetcli /iscsi/iqn.2016-06.local.domain:support.target1/tpg1/acls create iqn.2016-06.local.domain:support.target1";
@ -186,7 +186,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -20,7 +20,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
boot_to_login_screen(timeout => 300); boot_to_login_screen(timeout => 300);
$self->root_console(tty=>3); $self->root_console(tty => 3);
setup_tap_static('172.16.2.115', 'vnc002.test.openqa.fedoraproject.org'); setup_tap_static('172.16.2.115', 'vnc002.test.openqa.fedoraproject.org');
# test test: check if we can see the server # test test: check if we can see the server
assert_script_run "ping -c 2 172.16.2.114"; assert_script_run "ping -c 2 172.16.2.114";
@ -18,7 +18,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -13,7 +13,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
boot_to_login_screen(timeout => 300); boot_to_login_screen(timeout => 300);
$self->root_console(tty=>3); $self->root_console(tty => 3);
setup_tap_static('172.16.2.117', 'vnc004.test.openqa.fedoraproject.org'); setup_tap_static('172.16.2.117', 'vnc004.test.openqa.fedoraproject.org');
# install tigervnc (Boxes doesn't do reverse VNC) # install tigervnc (Boxes doesn't do reverse VNC)
assert_script_run "dnf -y install tigervnc", 180; assert_script_run "dnf -y install tigervnc", 180;
@ -17,7 +17,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -56,11 +56,11 @@ sub run {
# on GNOME installs (Workstation Live and Silverblue) we don't # on GNOME installs (Workstation Live and Silverblue) we don't
# need to set a root password or create a user; on other flavors # need to set a root password or create a user; on other flavors
# we must # we must
unless (get_var("DESKTOP") eq "gnome" ) { unless (get_var("DESKTOP") eq "gnome") {
# In Rocky ISO you will finish testplan on Create User and need to shift-tab to select # In Rocky ISO you will finish testplan on Create User and need to shift-tab to select
# Root password # Root password
if ((get_var("DISTRI") eq "rocky" )) { if ((get_var("DISTRI") eq "rocky")) {
send_key_until_needlematch("anaconda_main_hub_root_password", "shift-tab"); send_key_until_needlematch("anaconda_main_hub_root_password", "shift-tab");
} }
assert_and_click "anaconda_main_hub_root_password"; assert_and_click "anaconda_main_hub_root_password";
type_safely "weakrootpassword"; type_safely "weakrootpassword";

View File

@ -25,13 +25,13 @@ sub download_testdata {
# Change ownership and attributes # Change ownership and attributes
assert_script_run("chown -R test:test openqa_testdata"); assert_script_run("chown -R test:test openqa_testdata");
# Move the test file into a correct location. # Move the test file into a correct location.
assert_script_run("cp openqa_testdata/evince/evince.pdf Documents") assert_script_run("cp openqa_testdata/evince/evince.pdf Documents");
} }
sub run { sub run {
my $self = shift; my $self = shift;
# Switch to console # Switch to console
$self->root_console(tty=>3); $self->root_console(tty => 3);
# Perform git test # Perform git test
check_and_install_git(); check_and_install_git();
# Download the test data # Download the test data

View File

@ -6,23 +6,23 @@ use utils;
# This part of the suite tests if About works. # This part of the suite tests if About works.
sub run { sub run {
my $self = shift; my $self = shift;
# Open the menu by clicking on the Burger icon # Open the menu by clicking on the Burger icon
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# In the menu, select the About item. # In the menu, select the About item.
assert_and_click("evince_menu_about", button => "left", timeout => 30); assert_and_click("evince_menu_about", button => "left", timeout => 30);
# Check that the About section has been displayed. # Check that the About section has been displayed.
assert_screen("evince_about_shown"); assert_screen("evince_about_shown");
# Click on Credits button to see the second part of the dialogue. # Click on Credits button to see the second part of the dialogue.
assert_and_click("evince_about_credits", button => "left", timeout => 30); assert_and_click("evince_about_credits", button => "left", timeout => 30);
# Check that Credits are accessible and visible, too. # Check that Credits are accessible and visible, too.
assert_screen("evince_credits_shown"); assert_screen("evince_credits_shown");
} }

View File

@ -6,37 +6,37 @@ use utils;
# This part of the suite tests an annotation can be added to the displayed content. # This part of the suite tests an annotation can be added to the displayed content.
sub run { sub run {
my $self = shift; my $self = shift;
# Click on the Pencil button. # Click on the Pencil button.
assert_and_click("evince_add_annotation", button => "left", timeout => 30); assert_and_click("evince_add_annotation", button => "left", timeout => 30);
# Click on Note text. # Click on Note text.
assert_and_click("evince_add_annotation_text", button => "left", timeout => 30); assert_and_click("evince_add_annotation_text", button => "left", timeout => 30);
# Select location to add annotation. # Select location to add annotation.
assert_and_click("evince_select_annotation_place", button => "left", timeout => 30); assert_and_click("evince_select_annotation_place", button => "left", timeout => 30);
# Enter some text to the annotation. # Enter some text to the annotation.
type_very_safely("Add note"); type_very_safely("Add note");
# Check that the annotation window has appeared with that text. # Check that the annotation window has appeared with that text.
assert_screen("evince_annotation_added"); assert_screen("evince_annotation_added");
# Close the annotation. # Close the annotation.
assert_and_click("evince_close_annotation", button => "left", timeout => 30); assert_and_click("evince_close_annotation", button => "left", timeout => 30);
# Check that the annotation is still placed in the document. # Check that the annotation is still placed in the document.
assert_screen("evince_annotation_placed"); assert_screen("evince_annotation_placed");
# Open the annotation's context menu. # Open the annotation's context menu.
assert_and_click("evince_annotation_placed", button => "right", timeout => 30); assert_and_click("evince_annotation_placed", button => "right", timeout => 30);
# Remove the annotation. # Remove the annotation.
assert_and_click("evince_remove_annotation", button => "left", timeout => 30); assert_and_click("evince_remove_annotation", button => "left", timeout => 30);
# Check that the annotation has been removed. # Check that the annotation has been removed.
assert_screen("evince_annotation_removed"); assert_screen("evince_annotation_removed");
} }

View File

@ -6,22 +6,22 @@ use utils;
# This part of the suite tests that Evince can change the zoom of the document. # This part of the suite tests that Evince can change the zoom of the document.
sub run { sub run {
my $self = shift; my $self = shift;
# Click on zoom menu to open choices. # Click on zoom menu to open choices.
assert_and_click("evince_change_zoom", button => "left", timeout => 30); assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Select 200%. # Select 200%.
assert_and_click("evince_select_zoom_200", button => "left", timeout => 30); assert_and_click("evince_select_zoom_200", button => "left", timeout => 30);
# Check that the document zoom was changed. # Check that the document zoom was changed.
assert_screen("evince_document_zoom_200"); assert_screen("evince_document_zoom_200");
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,32 +6,32 @@ use utils;
# This part of the suite tests that Evince is able to display content in a two-page mode. # This part of the suite tests that Evince is able to display content in a two-page mode.
sub run { sub run {
my $self = shift; my $self = shift;
# Click on the Zoom menu to change a different zoom for next steps. # Click on the Zoom menu to change a different zoom for next steps.
assert_and_click("evince_change_zoom", button => "left", timeout => 30); assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Select the Fit Width option to be able to see the whole layout. # Select the Fit Width option to be able to see the whole layout.
assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30); assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30);
#Dismiss the dialogue #Dismiss the dialogue
send_key("esc"); send_key("esc");
# Enter the menu # Enter the menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Select the Dual mode # Select the Dual mode
assert_and_click("evince_menu_dual", button => "left", timeout => 30); assert_and_click("evince_menu_dual", button => "left", timeout => 30);
# Dismiss the menu # Dismiss the menu
send_key("esc"); send_key("esc");
# Check that the content is displayed in dual mode. # Check that the content is displayed in dual mode.
assert_screen("evince_dual_mode", timeout => 30); assert_screen("evince_dual_mode", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,22 +6,22 @@ use utils;
# This part of the suite tests that Evince can display the Help pages. # This part of the suite tests that Evince can display the Help pages.
sub run { sub run {
my $self = shift; my $self = shift;
# Open menu with Burger icon. # Open menu with Burger icon.
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Select the Help item in the menu. # Select the Help item in the menu.
assert_and_click("evince_menu_help", button => "left", timeout => 30); assert_and_click("evince_menu_help", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Check that Help has been shown. # Check that Help has been shown.
assert_screen("evince_help_shown", timeout => 30); assert_screen("evince_help_shown", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,25 +6,25 @@ use utils;
# This part of the suite tests that Evince can be switched into night mode. # This part of the suite tests that Evince can be switched into night mode.
sub run { sub run {
my $self = shift; my $self = shift;
# Click on the Menu button. # Click on the Menu button.
assert_and_click("gnome_burger_menu", timeout => 30, button => "left"); assert_and_click("gnome_burger_menu", timeout => 30, button => "left");
# Click on the Night mode to select it. # Click on the Night mode to select it.
assert_and_click("evince_toggle_night_mode", button => "left", timeout => 30); assert_and_click("evince_toggle_night_mode", button => "left", timeout => 30);
# The menu stays opened, so hit Esc to dismiss it. # The menu stays opened, so hit Esc to dismiss it.
send_key("esc"); send_key("esc");
wait_still_screen 2; wait_still_screen 2;
# Check that night mode has been activated. # Check that night mode has been activated.
assert_screen("evince_night_mode", timeout => 30); assert_screen("evince_night_mode", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,22 +6,22 @@ use utils;
# This part of the suite tests that Evince can show Document Properties. # This part of the suite tests that Evince can show Document Properties.
sub run { sub run {
my $self = shift; my $self = shift;
# Open the menu. # Open the menu.
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Select the Properties item. # Select the Properties item.
assert_and_click("evince_menu_properties", button => "left", timeout => 30); assert_and_click("evince_menu_properties", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Check that Properties are shown. # Check that Properties are shown.
assert_screen("evince_properties_shown", timeout => 30); assert_screen("evince_properties_shown", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -7,31 +7,31 @@ use utils;
sub rotate_content { sub rotate_content {
# Open the application menu # Open the application menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Click with the *left* button (needle click area might need some correction) # Click with the *left* button (needle click area might need some correction)
assert_and_click("evince_menu_rotate", button => "left", timeout => 30); assert_and_click("evince_menu_rotate", button => "left", timeout => 30);
} }
sub run { sub run {
my $self = shift; my $self = shift;
# Rotate the content once. # Rotate the content once.
rotate_content(); rotate_content();
# Check that the window content has been rotated. # Check that the window content has been rotated.
assert_screen("evince_content_rotated_once", timeout => 30); assert_screen("evince_content_rotated_once", timeout => 30);
# Rotate the content again. # Rotate the content again.
rotate_content(); rotate_content();
# Check that the window content has been rotated. # Check that the window content has been rotated.
assert_screen("evince_content_rotated_twice", timeout => 30); assert_screen("evince_content_rotated_twice", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,31 +6,31 @@ use utils;
# This part of the suite tests tests that Evince can Save the document As another document. # This part of the suite tests tests that Evince can Save the document As another document.
sub run { sub run {
my $self = shift; my $self = shift;
# Open the menu. # Open the menu.
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Select Save As # Select Save As
assert_and_click("evince_menu_saveas", button => "left", timeout => 30); assert_and_click("evince_menu_saveas", button => "left", timeout => 30);
# Type a new name. # Type a new name.
type_very_safely("alternative"); type_very_safely("alternative");
# Click on the Save button # Click on the Save button
assert_and_click("gnome_button_save_blue", button => "left", timeout => 30); assert_and_click("gnome_button_save_blue", button => "left", timeout => 30);
# Now the document is saved under a different name. We will switch to the # Now the document is saved under a different name. We will switch to the
# terminal console to check that it has been created. # terminal console to check that it has been created.
$self->root_console(tty=>3); $self->root_console(tty => 3);
assert_script_run("ls /home/test/Documents/alternative.pdf"); assert_script_run("ls /home/test/Documents/alternative.pdf");
# Now, check that the new file does not differ from the original one. # Now, check that the new file does not differ from the original one.
assert_script_run("diff /home/test/Documents/evince.pdf /home/test/Documents/alternative.pdf"); assert_script_run("diff /home/test/Documents/evince.pdf /home/test/Documents/alternative.pdf");
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,23 +6,23 @@ use utils;
# This part of the suite tests the ability to search string in the text. # This part of the suite tests the ability to search string in the text.
sub run { sub run {
my $self = shift; my $self = shift;
# Click on the Search button to search for text # Click on the Search button to search for text
assert_and_click("evince_search_button", button => "left", timeout => 30); assert_and_click("evince_search_button", button => "left", timeout => 30);
# Type *pages*. # Type *pages*.
type_very_safely("pages"); type_very_safely("pages");
# Press Enter. # Press Enter.
send_key("ret"); send_key("ret");
# Check that the typed text has been found. # Check that the typed text has been found.
assert_screen("evince_search_found", timeout => 30); assert_screen("evince_search_found", timeout => 30);
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -6,34 +6,34 @@ use utils;
# This part of the suite tests that Evince displays shortcuts. # This part of the suite tests that Evince displays shortcuts.
sub run { sub run {
my $self = shift; my $self = shift;
# Open the menu # Open the menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30); assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Select the Keyboard Shortcuts item # Select the Keyboard Shortcuts item
assert_and_click("evince_menu_shortcuts", button => "left", timeout => 30); assert_and_click("evince_menu_shortcuts", button => "left", timeout => 30);
wait_still_screen 2; wait_still_screen 2;
# Check that Shortcuts has been shown # Check that Shortcuts has been shown
assert_screen("evince_shortcuts_shown"); assert_screen("evince_shortcuts_shown");
# Click on number 2 to arrive to the second page # Click on number 2 to arrive to the second page
assert_and_click("evince_shortcuts_second", button => "left", timeout => 30); assert_and_click("evince_shortcuts_second", button => "left", timeout => 30);
# Check that Shortcuts 2 has been shown # Check that Shortcuts 2 has been shown
assert_screen("evince_shortcuts_second_shown"); assert_screen("evince_shortcuts_second_shown");
# Click on number 3 to arrive to the second page # Click on number 3 to arrive to the second page
assert_and_click("evince_shortcuts_third", button => "left", timeout => 30); assert_and_click("evince_shortcuts_third", button => "left", timeout => 30);
# Check that Shortcuts 3 has been shown # Check that Shortcuts 3 has been shown
assert_screen("evince_shortcuts_third_shown"); assert_screen("evince_shortcuts_third_shown");
} }
sub test_flags { sub test_flags {
return {always_rollback => 1}; return {always_rollback => 1};
} }
1; 1;

View File

@ -16,7 +16,7 @@ sub run {
# so there is no need to continue. # so there is no need to continue.
# Also, when subsequent tests fail, the suite will revert to this state for further testing. # Also, when subsequent tests fail, the suite will revert to this state for further testing.
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;

View File

@ -27,7 +27,7 @@ sub run {
# so there is no need to continue. # so there is no need to continue.
# Also, when subsequent tests fail, the suite will revert to this state for further testing. # Also, when subsequent tests fail, the suite will revert to this state for further testing.
sub test_flags { sub test_flags {
return { fatal => 1, milestone => 1 }; return {fatal => 1, milestone => 1};
} }
1; 1;

View File

@ -14,7 +14,7 @@ sub run {
# Firewall requires password to be entered and confirmed to start. # Firewall requires password to be entered and confirmed to start.
# View password # View password
assert_screen "auth_required"; assert_screen "auth_required";
my $password = get_var('ROOT_PASSWORD','weakpassword'); my $password = get_var('ROOT_PASSWORD', 'weakpassword');
type_very_safely $password; type_very_safely $password;
send_key 'ret'; send_key 'ret';
sleep 5; sleep 5;

View File

@ -23,7 +23,7 @@ sub run {
assert_script_run "chmod ugo+w /dev/" . $serialdev; assert_script_run "chmod ugo+w /dev/" . $serialdev;
# let's go to another tty and login as regular user # let's go to another tty and login as regular user
send_key "alt-f2"; send_key "alt-f2";
console_login(user=>"test", password=>"weakpassword"); console_login(user => "test", password => "weakpassword");
assert_script_run "curl -O https://fedorapeople.org/groups/qa/tunirtests.tar.gz"; assert_script_run "curl -O https://fedorapeople.org/groups/qa/tunirtests.tar.gz";
assert_script_run "tar xvf tunirtests.tar.gz"; assert_script_run "tar xvf tunirtests.tar.gz";
assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestAtomic01Status -v"; assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestAtomic01Status -v";
@ -45,24 +45,24 @@ sub run {
assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceDisable -v"; assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceDisable -v";
type_string "sudo reboot\n"; type_string "sudo reboot\n";
boot_to_login_screen(timeout => 180); boot_to_login_screen(timeout => 180);
console_login(user=>"root", password=>"weakpassword"); console_login(user => "root", password => "weakpassword");
# we need to use script_run as regular user again # we need to use script_run as regular user again
assert_script_run "sudo chmod ugo+w /dev/" . $serialdev; assert_script_run "sudo chmod ugo+w /dev/" . $serialdev;
# let's go to another tty and login as regular user again # let's go to another tty and login as regular user again
send_key "alt-f2"; send_key "alt-f2";
console_login(user=>"test", password=>"weakpassword"); console_login(user => "test", password => "weakpassword");
_soft_fail_run "tunirtests.testreboot.TestReboot"; _soft_fail_run "tunirtests.testreboot.TestReboot";
assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceManipulation -v"; assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceManipulation -v";
# this test only works properly as a regular user # this test only works properly as a regular user
_soft_fail_run "tunirtests.cloudtests.TestJournalWrittenAfterReboot", 0; _soft_fail_run "tunirtests.cloudtests.TestJournalWrittenAfterReboot", 0;
type_string "sudo reboot\n"; type_string "sudo reboot\n";
boot_to_login_screen(timeout => 180); boot_to_login_screen(timeout => 180);
console_login(user=>"root", password=>"weakpassword"); console_login(user => "root", password => "weakpassword");
# we need to use script_run as regular user again # we need to use script_run as regular user again
assert_script_run "sudo chmod ugo+w /dev/" . $serialdev; assert_script_run "sudo chmod ugo+w /dev/" . $serialdev;
# let's go to another tty and login as regular user again # let's go to another tty and login as regular user again
send_key "alt-f2"; send_key "alt-f2";
console_login(user=>"test", password=>"weakpassword"); console_login(user => "test", password => "weakpassword");
assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceAfter -v"; assert_script_run "sudo python3 -m unittest tunirtests.cloudservice.TestServiceAfter -v";
assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestDockerInstalled -v"; assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestDockerInstalled -v";
assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestDockerStorageSetup -v"; assert_script_run "sudo python3 -m unittest tunirtests.atomictests.TestDockerStorageSetup -v";
@ -76,7 +76,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# This test case tests that packages can be correctly installed and removed. # This test case tests that packages can be correctly installed and removed.
# We will test by installing two packages - ftp and mc. # We will test by installing two packages - ftp and mc.
@ -49,7 +49,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -19,21 +19,21 @@ sub test_routine {
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both graphical and console tests # switch to TTY3 for both graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# Run test for the first time # Run test for the first time
test_routine(); test_routine();
# Reboot the system. # Reboot the system.
type_safely "reboot\n"; type_safely "reboot\n";
# This time, we will need to login manually. # This time, we will need to login manually.
boot_to_login_screen; boot_to_login_screen;
$self->root_console(tty=>3); $self->root_console(tty => 3);
# Run the tests for the second time. # Run the tests for the second time.
test_routine(); test_routine();
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -4,15 +4,15 @@ use testapi;
use utils; use utils;
sub run { sub run {
my $self=shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
validate_script_output 'getenforce', sub { $_ =~ m/Enforcing/ }; validate_script_output 'getenforce', sub { $_ =~ m/Enforcing/ };
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# we could make this slightly more 'efficient' by assuming chronyd # we could make this slightly more 'efficient' by assuming chronyd
# is always going to be enabled/running at first, but it's safer # is always going to be enabled/running at first, but it's safer
# to force an expected starting state. # to force an expected starting state.
@ -14,7 +14,7 @@ sub run {
script_run "systemctl disable chronyd.service"; script_run "systemctl disable chronyd.service";
script_run "reboot", 0; script_run "reboot", 0;
boot_to_login_screen; boot_to_login_screen;
$self->root_console(tty=>3); $self->root_console(tty => 3);
# note the use of ! here is a bash-ism, but it sure makes life easier # note the use of ! here is a bash-ism, but it sure makes life easier
assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-enabled chronyd.service';
assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! systemctl is-active chronyd.service';
@ -33,14 +33,14 @@ sub run {
assert_script_run '! ps -C chronyd'; assert_script_run '! ps -C chronyd';
script_run "reboot", 0; script_run "reboot", 0;
boot_to_login_screen; boot_to_login_screen;
$self->root_console(tty=>3); $self->root_console(tty => 3);
assert_script_run 'systemctl is-enabled chronyd.service'; assert_script_run 'systemctl is-enabled chronyd.service';
assert_script_run 'systemctl is-active chronyd.service'; assert_script_run 'systemctl is-active chronyd.service';
assert_script_run 'ps -C chronyd'; assert_script_run 'ps -C chronyd';
script_run "systemctl disable chronyd.service"; script_run "systemctl disable chronyd.service";
script_run "reboot", 0; script_run "reboot", 0;
boot_to_login_screen; boot_to_login_screen;
$self->root_console(tty=>3); $self->root_console(tty => 3);
assert_script_run '! systemctl is-enabled chronyd.service'; assert_script_run '! systemctl is-enabled chronyd.service';
assert_script_run '! systemctl is-active chronyd.service'; assert_script_run '! systemctl is-active chronyd.service';
assert_script_run '! ps -C chronyd'; assert_script_run '! ps -C chronyd';
@ -48,7 +48,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -5,7 +5,7 @@ use testapi;
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# "Job foo.service/start deleted to break ordering cycle"-type # "Job foo.service/start deleted to break ordering cycle"-type
# message in the log indicates a service got taken out of the boot # message in the log indicates a service got taken out of the boot
# process to resolve some kind of dependency loop, see e.g. # process to resolve some kind of dependency loop, see e.g.
@ -42,7 +42,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -3,9 +3,9 @@ use strict;
use testapi; use testapi;
sub run { sub run {
my $self=shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# Check that journalctl DOESN'T output "No entries". This is also the case when journal files are missing. # Check that journalctl DOESN'T output "No entries". This is also the case when journal files are missing.
# NOTE: We are quietly assuming that something was logged in journal in last 30 minutes. Should be boot log, # NOTE: We are quietly assuming that something was logged in journal in last 30 minutes. Should be boot log,
# switch to TTY3 etc. # switch to TTY3 etc.
@ -16,7 +16,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use packagetest;
sub run { sub run {
my $self = shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# enable test repos and install test packages # enable test repos and install test packages
prepare_test_packages; prepare_test_packages;
# check rpm agrees they installed good # check rpm agrees they installed good
@ -24,7 +24,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -4,9 +4,9 @@ use testapi;
use utils; use utils;
sub run { sub run {
my $self=shift; my $self = shift;
# switch to TTY3 for both, graphical and console tests # switch to TTY3 for both, graphical and console tests
$self->root_console(tty=>3); $self->root_console(tty => 3);
# The pre-created image has a special file left in the home # The pre-created image has a special file left in the home
# directory. This checks that the file has been left there # directory. This checks that the file has been left there
# correctly after system reinstall. # correctly after system reinstall.
@ -15,7 +15,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use tapnet;
use utils; use utils;
sub run { sub run {
my $self=shift; my $self = shift;
# use compose repo, disable u-t, etc. # use compose repo, disable u-t, etc.
repo_setup(); repo_setup();
# install postgresql # install postgresql
@ -19,7 +19,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -14,7 +14,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -30,54 +30,54 @@ sub run {
check_desktop; check_desktop;
send_key 'alt-f1'; send_key 'alt-f1';
# wait out animations # wait out animations
wait_still_screen(stilltime=>4, similarity_level=>45); wait_still_screen(stilltime => 4, similarity_level => 45);
assert_and_click 'browser_launcher'; assert_and_click 'browser_launcher';
assert_screen 'browser', 45; assert_screen 'browser', 45;
# firefox is quite grindy on startup, let it settle # firefox is quite grindy on startup, let it settle
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
# open a new tab so we don't race with the default page load # open a new tab so we don't race with the default page load
# (also focuses the location bar for us) # (also focuses the location bar for us)
_open_new_tab; _open_new_tab;
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
sleep 3; sleep 3;
# check FAS, typing slowly to avoid errors # check FAS, typing slowly to avoid errors
type_very_safely "https://admin.fedoraproject.org/accounts/\n"; type_very_safely "https://admin.fedoraproject.org/accounts/\n";
assert_screen "browser_fas_home"; assert_screen "browser_fas_home";
_open_new_tab; _open_new_tab;
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
sleep 2; sleep 2;
type_very_safely "https://kernel.org\n"; type_very_safely "https://kernel.org\n";
assert_and_click "browser_kernelorg_patch"; assert_and_click "browser_kernelorg_patch";
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
assert_and_click "browser_download_save"; assert_and_click "browser_download_save";
sleep 2; sleep 2;
send_key 'ret'; send_key 'ret';
wait_still_screen(stilltime=>3, similarity_level=>45); wait_still_screen(stilltime => 3, similarity_level => 45);
# browsers do...something...when the download completes, and we # browsers do...something...when the download completes, and we
# expect there's a single click to make it go away and return # expect there's a single click to make it go away and return
# browser to a state where we can open a new tab # browser to a state where we can open a new tab
assert_and_click "browser_download_complete"; assert_and_click "browser_download_complete";
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
# we'll check it actually downloaded later # we'll check it actually downloaded later
# add-on test: at present all desktops we test (KDE, GNOME) are # add-on test: at present all desktops we test (KDE, GNOME) are
# using Firefox by default so we do this unconditionally, but we # using Firefox by default so we do this unconditionally, but we
# may need to conditionalize it if we ever test desktops whose # may need to conditionalize it if we ever test desktops whose
# default browser doesn't support add-ons or uses different ones # default browser doesn't support add-ons or uses different ones
_open_new_tab; _open_new_tab;
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
sleep 2; sleep 2;
type_very_safely "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/\n"; type_very_safely "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/\n";
assert_and_click "firefox_addon_add"; assert_and_click "firefox_addon_add";
assert_and_click "firefox_addon_install"; assert_and_click "firefox_addon_install";
assert_and_click "firefox_addon_success"; assert_and_click "firefox_addon_success";
# go to a console and check download worked # go to a console and check download worked
$self->root_console(tty=>3); $self->root_console(tty => 3);
my $user = get_var("USER_LOGIN", "test"); my $user = get_var("USER_LOGIN", "test");
assert_script_run "test -e /home/$user/Downloads/patch-*.xz"; assert_script_run "test -e /home/$user/Downloads/patch-*.xz";
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -88,7 +88,7 @@ sub login_user {
type_very_safely "$password\n"; type_very_safely "$password\n";
} }
type_very_safely "$password\n"; type_very_safely "$password\n";
check_desktop(timeout=>60) if ($args{checklogin}); check_desktop(timeout => 60) if ($args{checklogin});
wait_still_screen 5; wait_still_screen 5;
} }
@ -169,7 +169,7 @@ sub reboot_system {
# And for KDE and GNOME >= F33: # And for KDE and GNOME >= F33:
assert_and_click "reboot_entry"; assert_and_click "reboot_entry";
} }
assert_and_click "restart_confirm"; assert_and_click "restart_confirm";
} }
} }
# When we are outside KDE (not logged in), the only way to reboot is to click # When we are outside KDE (not logged in), the only way to reboot is to click
@ -199,7 +199,7 @@ sub run {
our $desktop = get_var("DESKTOP"); our $desktop = get_var("DESKTOP");
# replace the wallpaper with a black image, this should work for # replace the wallpaper with a black image, this should work for
# all desktops. Takes effect after a logout / login cycle # all desktops. Takes effect after a logout / login cycle
$self->root_console(tty=>3); $self->root_console(tty => 3);
assert_script_run "dnf -y install GraphicsMagick", 300; assert_script_run "dnf -y install GraphicsMagick", 300;
assert_script_run "gm convert -size 1024x768 xc:black /usr/share/backgrounds/black.png"; assert_script_run "gm convert -size 1024x768 xc:black /usr/share/backgrounds/black.png";
assert_script_run 'for i in /usr/share/backgrounds/f*/default/*.png; do ln -sf /usr/share/backgrounds/black.png $i; done'; assert_script_run 'for i in /usr/share/backgrounds/f*/default/*.png; do ln -sf /usr/share/backgrounds/black.png $i; done';
@ -207,7 +207,7 @@ sub run {
# use solid blue background for SDDM # use solid blue background for SDDM
assert_script_run "sed -i -e 's,image,solid,g' /usr/share/sddm/themes/01-breeze-fedora/theme.conf.user"; assert_script_run "sed -i -e 's,image,solid,g' /usr/share/sddm/themes/01-breeze-fedora/theme.conf.user";
} }
adduser(name=>"Jack Sparrow", login=>"jack", password=>$jackpass); adduser(name => "Jack Sparrow", login => "jack", password => $jackpass);
if ($desktop eq "gnome") { if ($desktop eq "gnome") {
# suppress the Welcome Tour for new users in GNOME 40+ # suppress the Welcome Tour for new users in GNOME 40+
assert_script_run 'printf "[org.gnome.shell]\nwelcome-dialog-last-shown-version=\'4294967295\'\n" > /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override'; assert_script_run 'printf "[org.gnome.shell]\nwelcome-dialog-last-shown-version=\'4294967295\'\n" > /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override';
@ -215,12 +215,12 @@ sub run {
# In Gnome, we can create a passwordless user that can provide his password upon # In Gnome, we can create a passwordless user that can provide his password upon
# the first login. So we can create the second user in this way to test this feature # the first login. So we can create the second user in this way to test this feature
# later. # later.
adduser(name=>"Jim Eagle", login=>"jim", password=>"askuser"); adduser(name => "Jim Eagle", login => "jim", password => "askuser");
} }
else { else {
# In KDE, we can also create a passwordless user, but we cannot log into the system # In KDE, we can also create a passwordless user, but we cannot log into the system
# later, so we will create the second user the standard way. # later, so we will create the second user the standard way.
adduser(name=>"Jim Eagle", login=>"jim", password=>$jimpass); adduser(name => "Jim Eagle", login => "jim", password => $jimpass);
} }
# Clean boot the system, and note what accounts are listed on the login screen. # Clean boot the system, and note what accounts are listed on the login screen.
@ -230,7 +230,7 @@ sub run {
boot_to_login_screen; boot_to_login_screen;
# Log in with the first user account. # Log in with the first user account.
login_user(user=>"jack", password=>$jackpass); login_user(user => "jack", password => $jackpass);
check_user_logged_in("jack"); check_user_logged_in("jack");
# Log out the user. # Log out the user.
logout_user(); logout_user();
@ -238,18 +238,18 @@ sub run {
# Log in with the second user account. The second account, Jim Eagle, # Log in with the second user account. The second account, Jim Eagle,
if ($desktop eq "gnome") { if ($desktop eq "gnome") {
# If we are in Gnome, we will this time assign a password on first log-in. # If we are in Gnome, we will this time assign a password on first log-in.
login_user(user=>"jim", password=>$jimpass, method=>"create"); login_user(user => "jim", password => $jimpass, method => "create");
} }
else { else {
# If not, we are in KDE and we will log in normally. # If not, we are in KDE and we will log in normally.
login_user(user=>"jim", password=>$jimpass); login_user(user => "jim", password => $jimpass);
} }
check_user_logged_in("jim"); check_user_logged_in("jim");
# And this time reboot the system using the menu. # And this time reboot the system using the menu.
reboot_system(); reboot_system();
# Try to log in with either account, intentionally entering the wrong password. # Try to log in with either account, intentionally entering the wrong password.
login_user(user=>"jack", password=>"wrongpassword", checklogin=>0); login_user(user => "jack", password => "wrongpassword", checklogin => 0);
my $relnum = get_release_number; my $relnum = get_release_number;
if ($desktop eq "gnome" && $relnum < 34) { if ($desktop eq "gnome" && $relnum < 34) {
# In GDM before F34, a message is shown about an unsuccessful login # In GDM before F34, a message is shown about an unsuccessful login
@ -265,13 +265,13 @@ sub run {
# Now, log into the system again using the correct password. This will # Now, log into the system again using the correct password. This will
# only work if we were correctly denied login with the wrong password, # only work if we were correctly denied login with the wrong password,
# if we were let in with the wrong password it'll fail # if we were let in with the wrong password it'll fail
login_user(user=>"jim", password=>$jimpass); login_user(user => "jim", password => $jimpass);
check_user_logged_in("jim"); check_user_logged_in("jim");
# Lock the screen and unlock again. # Lock the screen and unlock again.
lock_screen(); lock_screen();
# Use the password to unlock the screen. # Use the password to unlock the screen.
login_user(user=>"jim", password=>$jimpass, method=>"unlock"); login_user(user => "jim", password => $jimpass, method => "unlock");
# Switch user tests # Switch user tests
if ($desktop eq "gnome") { if ($desktop eq "gnome") {
@ -286,7 +286,7 @@ sub run {
# Initiate switch user # Initiate switch user
switch_user(); switch_user();
# Now, we get a new login screen, so let's do the login into the new session. # Now, we get a new login screen, so let's do the login into the new session.
login_user(user=>"jack", password=>$jackpass); login_user(user => "jack", password => $jackpass);
# Check that it is a new session, the terminal window should not be visible. # Check that it is a new session, the terminal window should not be visible.
if (check_screen "user_confirm_jim") { if (check_screen "user_confirm_jim") {
die "The session was not switched!"; die "The session was not switched!";
@ -298,7 +298,7 @@ sub run {
logout_user(); logout_user();
# Now, let us log into the original session, this time, the terminal window # Now, let us log into the original session, this time, the terminal window
# should still be visible. # should still be visible.
login_user(user=>"jim", password=>$jimpass); login_user(user => "jim", password => $jimpass);
assert_screen "user_confirm_jim"; assert_screen "user_confirm_jim";
# We will also test another alternative - switching the user from # We will also test another alternative - switching the user from
@ -306,7 +306,7 @@ sub run {
lock_screen(); lock_screen();
send_key "ret"; send_key "ret";
switch_user(); switch_user();
login_user(user=>"jack", password=>$jackpass); login_user(user => "jack", password => $jackpass);
check_user_logged_in("jack"); check_user_logged_in("jack");
} }
# Power off the machine # Power off the machine
@ -314,7 +314,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -17,14 +17,14 @@ sub run {
my $version_major = get_version_major; my $version_major = get_version_major;
# for the live image case, handle bootloader here # for the live image case, handle bootloader here
if (get_var("BOOTFROM")) { if (get_var("BOOTFROM")) {
do_bootloader(postinstall=>1, params=>'3'); do_bootloader(postinstall => 1, params => '3');
} }
else { else {
do_bootloader(postinstall=>0, params=>'3'); do_bootloader(postinstall => 0, params => '3');
} }
boot_to_login_screen; boot_to_login_screen;
# use tty1 to avoid RHBZ #1821499 on F32 Workstation live # use tty1 to avoid RHBZ #1821499 on F32 Workstation live
$self->root_console(tty=>1); $self->root_console(tty => 1);
# ensure we actually have some package updates available # ensure we actually have some package updates available
prepare_test_packages; prepare_test_packages;
if ($desktop eq 'gnome') { if ($desktop eq 'gnome') {
@ -43,11 +43,11 @@ sub run {
# get notifications, see: # get notifications, see:
# https://wiki.gnome.org/Design/Apps/Software/Updates#Tentative_Design # https://wiki.gnome.org/Design/Apps/Software/Updates#Tentative_Design
my $now = script_output 'date +%s'; my $now = script_output 'date +%s';
my $yyday = $now - 2*24*60*60; my $yyday = $now - 2 * 24 * 60 * 60;
my $longago = $now - 14*24*60*60; my $longago = $now - 14 * 24 * 60 * 60;
# have to log in as the user to do this # have to log in as the user to do this
script_run 'exit', 0; script_run 'exit', 0;
console_login(user=>get_var('USER_LOGIN', 'test'), password=>get_var('USER_PASSWORD', 'weakpassword')); console_login(user => get_var('USER_LOGIN', 'test'), password => get_var('USER_PASSWORD', 'weakpassword'));
script_run "gsettings set org.gnome.software check-timestamp ${yyday}", 0; script_run "gsettings set org.gnome.software check-timestamp ${yyday}", 0;
script_run "gsettings set org.gnome.software update-notification-timestamp ${longago}", 0; script_run "gsettings set org.gnome.software update-notification-timestamp ${longago}", 0;
script_run "gsettings set org.gnome.software online-updates-timestamp ${longago}", 0; script_run "gsettings set org.gnome.software online-updates-timestamp ${longago}", 0;
@ -55,7 +55,7 @@ sub run {
script_run "gsettings set org.gnome.software install-timestamp ${longago}", 0; script_run "gsettings set org.gnome.software install-timestamp ${longago}", 0;
wait_still_screen 5; wait_still_screen 5;
script_run 'exit', 0; script_run 'exit', 0;
console_login(user=>'root', password=>get_var('ROOT_PASSWORD', 'weakpassword')); console_login(user => 'root', password => get_var('ROOT_PASSWORD', 'weakpassword'));
} }
} }
# can't use assert_script_run here as long as we're on tty1 # can't use assert_script_run here as long as we're on tty1
@ -76,14 +76,14 @@ sub run {
type_very_safely get_var("USER_PASSWORD", "weakpassword"); type_very_safely get_var("USER_PASSWORD", "weakpassword");
send_key 'ret'; send_key 'ret';
} }
check_desktop(timeout=>90); check_desktop(timeout => 90);
# now, WE WAIT. Because KDE on F34+ shows a notification only # now, WE WAIT. Because KDE on F34+ shows a notification only
# briefly we will keep an eye out and record if we saw it (logic # briefly we will keep an eye out and record if we saw it (logic
# around this comes later). But we wait the whole ten minutes even # around this comes later). But we wait the whole ten minutes even
# if we see it so we catch any unwanted notifications that appear # if we see it so we catch any unwanted notifications that appear
# shortly after boot # shortly after boot
my $seen = 0; my $seen = 0;
for my $n (1..16) { for my $n (1 .. 16) {
$seen = 1 if (check_screen "desktop_update_notification", 30); $seen = 1 if (check_screen "desktop_update_notification", 30);
mouse_set 20, 20; mouse_set 20, 20;
send_key "spc"; send_key "spc";
@ -148,7 +148,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -8,11 +8,11 @@ sub run {
# Prepare the environment: # Prepare the environment:
# #
# Become root # Become root
$self->root_console(tty=>3); $self->root_console(tty => 3);
# Create a text file with content to print # Create a text file with content to print
script_run "cd /home/test/"; script_run "cd /home/test/";
assert_script_run "echo 'A quick brown fox jumps over a lazy dog.' > testfile.txt"; assert_script_run "echo 'A quick brown fox jumps over a lazy dog.' > testfile.txt";
script_run "chmod 666 testfile.txt"; script_run "chmod 666 testfile.txt";
# Install the Cups-PDF package to use the Cups-PDF printer # Install the Cups-PDF package to use the Cups-PDF printer
assert_script_run "dnf -y install cups-pdf", 180; assert_script_run "dnf -y install cups-pdf", 180;
@ -37,12 +37,12 @@ sub run {
# Open the text editor and print the file. # Open the text editor and print the file.
wait_screen_change { send_key "alt-f2"; }; wait_screen_change { send_key "alt-f2"; };
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
type_very_safely "$editor /home/test/testfile.txt\n"; type_very_safely "$editor /home/test/testfile.txt\n";
wait_still_screen(stilltime=>5, similarity_level=>44); wait_still_screen(stilltime => 5, similarity_level => 44);
# Print the file using the Cups-PDF printer # Print the file using the Cups-PDF printer
send_key "ctrl-p"; send_key "ctrl-p";
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
if ($desktop eq 'gnome') { if ($desktop eq 'gnome') {
assert_and_click "printing_select_pdfprinter"; assert_and_click "printing_select_pdfprinter";
} }
@ -52,7 +52,7 @@ sub run {
# We only check that it is correct. # We only check that it is correct.
assert_screen "printing_pdfprinter_ready"; assert_screen "printing_pdfprinter_ready";
} }
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
assert_and_click "printing_print"; assert_and_click "printing_print";
# Exit the application # Exit the application
send_key "alt-f4"; send_key "alt-f4";
@ -63,7 +63,7 @@ sub run {
# Open the pdf file and check the print # Open the pdf file and check the print
send_key "alt-f2"; send_key "alt-f2";
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
# output location is different for cups-pdf 3.0.1-12 or later (we # output location is different for cups-pdf 3.0.1-12 or later (we
# checked this above) # checked this above)
if ($cpdfvercmp eq "12") { if ($cpdfvercmp eq "12") {
@ -73,11 +73,11 @@ sub run {
else { else {
type_safely "$viewer /home/test/Desktop/testfile-job_1.pdf\n"; type_safely "$viewer /home/test/Desktop/testfile-job_1.pdf\n";
} }
wait_still_screen(stilltime=>5, similarity_level=>45); wait_still_screen(stilltime => 5, similarity_level => 45);
# Resize the window, so that the size of the document fits the bigger space # Resize the window, so that the size of the document fits the bigger space
# and gets more readable. # and gets more readable.
send_key $maximize; send_key $maximize;
wait_still_screen(stilltime=>2, similarity_level=>45); wait_still_screen(stilltime => 2, similarity_level => 45);
# make sure we're at the start of the document # make sure we're at the start of the document
send_key "ctrl-home" if ($desktop eq "kde"); send_key "ctrl-home" if ($desktop eq "kde");
# Check the printed pdf. # Check the printed pdf.
@ -86,7 +86,7 @@ sub run {
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -31,7 +31,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -10,7 +10,7 @@ sub run {
my $relnum = get_release_number; my $relnum = get_release_number;
my $version_major = get_version_major; my $version_major = get_version_major;
# use a tty console for repo config and package prep # use a tty console for repo config and package prep
$self->root_console(tty=>3); $self->root_console(tty => 3);
assert_script_run 'dnf config-manager --set-disabled updates-testing'; assert_script_run 'dnf config-manager --set-disabled updates-testing';
prepare_test_packages; prepare_test_packages;
# get back to the desktop # get back to the desktop
@ -49,7 +49,7 @@ sub run {
# may be waiting some time at a 'Software catalog is being # may be waiting some time at a 'Software catalog is being
# loaded' screen. # loaded' screen.
if ($desktop eq 'gnome' || ($desktop eq 'kde' && $relnum > 33)) { if ($desktop eq 'gnome' || ($desktop eq 'kde' && $relnum > 33)) {
for my $n (1..5) { for my $n (1 .. 5) {
last if (check_screen 'desktop_package_tool_update', 120); last if (check_screen 'desktop_package_tool_update', 120);
mouse_set 10, 10; mouse_set 10, 10;
mouse_hide; mouse_hide;
@ -109,7 +109,7 @@ sub run {
# FIXME: also sometimes the update apply button just doesn't # FIXME: also sometimes the update apply button just doesn't
# work, so keep clicking till it does: # work, so keep clicking till it does:
# https://bugzilla.redhat.com/show_bug.cgi?id=1943943 # https://bugzilla.redhat.com/show_bug.cgi?id=1943943
for my $n (1..10) { for my $n (1 .. 10) {
sleep 2; sleep 2;
assert_screen ['kde_offline_update_reboot', 'desktop_package_tool_update_apply']; assert_screen ['kde_offline_update_reboot', 'desktop_package_tool_update_apply'];
# break out if we reached the reboot button # break out if we reached the reboot button
@ -127,12 +127,12 @@ sub run {
assert_screen 'desktop_package_tool_update_done', 180; assert_screen 'desktop_package_tool_update_done', 180;
} }
# back to console to verify updates # back to console to verify updates
$self->root_console(tty=>3); $self->root_console(tty => 3);
verify_updated_packages; verify_updated_packages;
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -31,12 +31,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -14,7 +14,7 @@ sub run {
if (get_var("UEFI")) { if (get_var("UEFI")) {
# if we're running on UEFI, let us reformat the UEFI first # if we're running on UEFI, let us reformat the UEFI first
# Select the UEFI partition if it is not selected by default # Select the UEFI partition if it is not selected by default
if (not (check_screen "anaconda_blivet_part_efi_selected", 30)) { if (not(check_screen "anaconda_blivet_part_efi_selected", 30)) {
assert_and_click "anaconda_blivet_part_inactive_efi"; assert_and_click "anaconda_blivet_part_inactive_efi";
wait_still_screen 5; wait_still_screen 5;
} }
@ -23,10 +23,10 @@ sub run {
assert_and_click "anaconda_blivet_part_edit"; assert_and_click "anaconda_blivet_part_edit";
# Select the Format option # Select the Format option
assert_and_click "anaconda_blivet_part_format"; assert_and_click "anaconda_blivet_part_format";
if (not (check_screen "anaconda_blivet_part_fs_efi_filesystem_selected", 30)) { if (not(check_screen "anaconda_blivet_part_fs_efi_filesystem_selected", 30)) {
assert_and_click "anaconda_blivet_part_fs_select"; assert_and_click "anaconda_blivet_part_fs_select";
assert_and_click "anaconda_blivet_part_fs_efi_filesystem"; assert_and_click "anaconda_blivet_part_fs_efi_filesystem";
} }
# Select the mountpoint field # Select the mountpoint field
send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5); send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5);
@ -50,9 +50,9 @@ sub run {
# Select the Format option # Select the Format option
assert_and_click "anaconda_blivet_part_format"; assert_and_click "anaconda_blivet_part_format";
# Open the filesystem types and select ext4, if not selected # Open the filesystem types and select ext4, if not selected
if (not (check_screen "anaconda_blivet_part_fs_ext4_selected",30)) { if (not(check_screen "anaconda_blivet_part_fs_ext4_selected", 30)) {
assert_and_click "anaconda_blivet_part_fs_select"; assert_and_click "anaconda_blivet_part_fs_select";
assert_and_click "anaconda_blivet_part_fs_ext4"; assert_and_click "anaconda_blivet_part_fs_ext4";
} }
# Select the mountpoint field # Select the mountpoint field
send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5); send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5);
@ -65,7 +65,7 @@ sub run {
assert_and_click "anaconda_blivet_volumes_icon"; assert_and_click "anaconda_blivet_volumes_icon";
# Select the home partition # Select the home partition
if (not (check_screen "anaconda_blivet_part_home_selected")) { if (not(check_screen "anaconda_blivet_part_home_selected")) {
assert_and_click "anaconda_blivet_part_inactive_home"; assert_and_click "anaconda_blivet_part_inactive_home";
} }
# Go to the partition settings # Go to the partition settings
@ -87,7 +87,7 @@ sub run {
assert_and_click "anaconda_blivet_part_root_exists"; assert_and_click "anaconda_blivet_part_root_exists";
assert_and_click "anaconda_blivet_part_delete"; assert_and_click "anaconda_blivet_part_delete";
assert_and_click "anaconda_blivet_btn_ok"; assert_and_click "anaconda_blivet_btn_ok";
sleep 5; sleep 5;
} }
# Add new root partition # Add new root partition
@ -108,12 +108,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -25,12 +25,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -30,12 +30,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -33,12 +33,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -86,7 +86,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ sub run {
my $self = shift; my $self = shift;
# Go to INSTALLATION DESTINATION and ensure two disks are selected. # Go to INSTALLATION DESTINATION and ensure two disks are selected.
# Because PARTITIONING starts with 'custom_blivet', this will select blivet-gui. # Because PARTITIONING starts with 'custom_blivet', this will select blivet-gui.
select_disks(disks=>2); select_disks(disks => 2);
assert_and_click "anaconda_spoke_done"; assert_and_click "anaconda_spoke_done";
if (get_var("UEFI")) { if (get_var("UEFI")) {
@ -25,12 +25,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -26,12 +26,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -8,21 +8,21 @@ sub run {
my $devroot = 'vda2'; my $devroot = 'vda2';
my $devboot = 'vda1'; my $devboot = 'vda1';
if (get_var('OFW') || get_var('UEFI')) { if (get_var('OFW') || get_var('UEFI')) {
$count = 4; # extra boot partition (PreP or ESP) $count = 4; # extra boot partition (PreP or ESP)
$devroot = 'vda3'; $devroot = 'vda3';
$devboot = 'vda2'; $devboot = 'vda2';
} }
# check number of partitions # check number of partitions
script_run 'fdisk -l | grep /dev/vda'; # debug script_run 'fdisk -l | grep /dev/vda'; # debug
validate_script_output 'fdisk -l | grep /dev/vda | wc -l', sub { $_ =~ m/$count/ }; validate_script_output 'fdisk -l | grep /dev/vda | wc -l', sub { $_ =~ m/$count/ };
# check mounted partitions are ext4 fs # check mounted partitions are ext4 fs
script_run 'mount | grep /dev/vda'; # debug script_run 'mount | grep /dev/vda'; # debug
validate_script_output "mount | grep /dev/$devboot", sub { $_ =~ m/on \/boot type ext4/ }; validate_script_output "mount | grep /dev/$devboot", sub { $_ =~ m/on \/boot type ext4/ };
validate_script_output "mount | grep /dev/$devroot", sub { $_ =~ m/on \/ type ext4/ }; validate_script_output "mount | grep /dev/$devroot", sub { $_ =~ m/on \/ type ext4/ };
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -26,12 +26,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -25,12 +25,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -19,12 +19,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -9,7 +9,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -67,12 +67,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -21,12 +21,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -9,7 +9,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -30,12 +30,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -7,7 +7,7 @@ sub run {
my $self = shift; my $self = shift;
# Go to INSTALLATION DESTINATION and ensure two disks are selected. # Go to INSTALLATION DESTINATION and ensure two disks are selected.
# Because PARTITIONING starts with 'custom', this will select blivet-gui. # Because PARTITIONING starts with 'custom', this will select blivet-gui.
select_disks(disks=>2); select_disks(disks => 2);
assert_and_click "anaconda_spoke_done"; assert_and_click "anaconda_spoke_done";
if (get_var("UEFI")) { if (get_var("UEFI")) {
@ -26,12 +26,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -27,12 +27,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -26,12 +26,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -11,7 +11,7 @@ sub run {
# Anaconda hub # Anaconda hub
# Go to INSTALLATION DESTINATION and ensure one regular disk # Go to INSTALLATION DESTINATION and ensure one regular disk
# and the iscsi target are selected. # and the iscsi target are selected.
select_disks(iscsi=>\%iscsi); select_disks(iscsi => \%iscsi);
assert_and_click "anaconda_spoke_done"; assert_and_click "anaconda_spoke_done";
# now we're at custom part. let's use standard partitioning for # now we're at custom part. let's use standard partitioning for
# simplicity # simplicity
@ -25,7 +25,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -12,7 +12,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -23,12 +23,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -6,7 +6,7 @@ use utils;
sub run { sub run {
my $self = shift; my $self = shift;
unless (check_screen "root_console", 0) { unless (check_screen "root_console", 0) {
$self->root_console(tty=>4); $self->root_console(tty => 4);
} }
assert_screen "root_console"; assert_screen "root_console";
my $devboot = 'vda1'; my $devboot = 'vda1';
@ -29,7 +29,7 @@ sub run {
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

View File

@ -19,12 +19,12 @@ sub run {
assert_and_click "anaconda_part_accept_changes"; assert_and_click "anaconda_part_accept_changes";
# Anaconda hub # Anaconda hub
assert_screen "anaconda_main_hub", 300; # assert_screen "anaconda_main_hub", 300; #
} }
sub test_flags { sub test_flags {
return { fatal => 1 }; return {fatal => 1};
} }
1; 1;

Some files were not shown because too many files have changed in this diff Show More