Add a perltidy check and apply it to the entire codebase

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2022-07-28 13:32:57 -07:00
parent ad5eb54715
commit 1a65993d36
267 changed files with 1346 additions and 1250 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@
.tox/
.coverage
coverage.xml
.tidyall.d/

16
.perltidyrc Normal file
View File

@ -0,0 +1,16 @@
# Workaround needed for handling non-ASCII in files.
# # See <https://github.com/houseabsolute/perl-code-tidyall/issues/84>.
--character-encoding=none
--no-valign
# 120 characters would be desired but it is not feasible right now
#-l=120 # 120 characters per line
-l=160
-fbl # don't change blank lines
-fnl # don't remove new lines
-nsfs # no spaces before semicolons
-baao # space after operators
-bbao # space before operators
-pt=2 # no spaces around ()
-bt=2 # no spaces around []
-sbt=2 # no spaces around {}
-sct # stack closing tokens )}

3
.tidyallrc Normal file
View File

@ -0,0 +1,3 @@
[PerlTidy]
select = **/*.pm
argv = --profile=$ROOT/.perltidyrc

View File

@ -6,7 +6,7 @@
- job:
name: os-autoinst-perl
run: ci/perl.yaml
nodeset: fedora-latest-container
nodeset: fedora-36-vm
- project:
check:

View File

@ -2,7 +2,7 @@
tasks:
- name: Install required packages
package:
name: ['os-autoinst', 'perl-Test-Strict', 'perl-Test-Harness', 'perl-JSON', 'perl-REST-Client']
name: ['os-autoinst', 'perl-Test-Strict', 'perl-Test-Harness', 'perl-JSON', 'perl-REST-Client', 'perl-Code-TidyAll']
state: present
become: yes
- name: Run perl tests

View File

@ -28,7 +28,7 @@ sub select_disks {
);
my %iscsi = %{$args{iscsi}};
# 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
sleep 1;
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_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
type_safely $args{size} . "\n";
@ -176,7 +176,7 @@ sub custom_blivet_add_partition {
}
sub custom_blivet_format_partition {
# This subroutine formats a selected partition. To use it, you must select the
# This subroutine formats a selected partition. To use it, you must select the
# partition by other means before you format it using this routine.
# You have to create a needle for any non-existing filesystem that is
# passed via the $type, such as anaconda_blivet_part_fs_ext4.
@ -202,14 +202,14 @@ sub custom_blivet_format_partition {
sub custom_blivet_resize_partition {
# This subroutine resizes the selected (active) partition to a given value. Note, that
# if the selected value is bigger than the available space, it will only be
# resized to fill up the available space no matter the number.
# resized to fill up the available space no matter the number.
# This routine cannot will not be able to select a particular partition!!!
my %args = @_;
# Start editing the partition and select the Resize option
assert_and_click "anaconda_blivet_part_edit";
assert_and_click "anaconda_blivet_part_resize";
# Select the appropriate units. Note, that there must a be needle existing
# for each possible unit that you might want to use, such as
# for each possible unit that you might want to use, such as
# "anaconda_blivet_size_unit_gib".
assert_and_click "anaconda_blivet_part_drop_select";
assert_and_click "anaconda_blivet_size_unit_$args{units}";
@ -300,7 +300,7 @@ sub get_full_repo {
# only Server
my $variant = 'Everything';
$variant = 'Server' if (get_var("MODULAR"));
$repourl .= "/${variant}/".get_var("ARCH")."/os";
$repourl .= "/${variant}/" . get_var("ARCH") . "/os";
}
return $repourl;
}
@ -365,7 +365,7 @@ sub crash_anaconda_text {
# This routine uses the Anaconda crash trigger to break the ongoing Anaconda installation to simulate
# an Anaconda crash and runs a series of steps that results in creating a bug in Bugzilla.
# It is used in the `install_text.pm` test and can be switched on by using the CRASH_REPORT
# variable set to 1.
# variable set to 1.
#
# First let us navigate to reach the shell window in Anaconda using the alt-f3 combo,
# this should take us to another terminal, where we can simulate the crash.
@ -395,14 +395,14 @@ sub report_bug_text {
# a textual console.
# We will not create a needle for every menu item, and we will fail,
# if there will be no positive Bugzilla confirmation shown at the end
# of the process and then we will fail.
# of the process and then we will fail.
#
# Let us record the time of this test run. Later, we will use it to
# limit the Bugzilla search.
my $timestamp = time();
#
# First, collect the credentials.
my $login = get_var("BUGZILLA_LOGIN");
my $login = get_var("BUGZILLA_LOGIN");
my $password = get_var("_SECRET_BUGZILLA_PASSWORD");
my $apikey = get_var("_SECRET_BUGZILLA_APIKEY");
# Choose item 1 - Report the bug.
@ -419,12 +419,12 @@ sub report_bug_text {
type_password $password;
type_string "\n";
sleep 10;
# Save the report without changing it.
# Save the report without changing it.
# It would need some more tweaking to actually type into the report, but since
# it is reported even if unchanged, we leave it as such.
type_string ":wq\n";
# Wait until the Crash menu appears again.
# The same screen shows the result of the Bugzilla operation,
# The same screen shows the result of the Bugzilla operation,
# so if the needle matches, the bug has been created in Bugzilla.
# Bugzilla connection is slow so we need to wait out some time,
# therefore let's use a cycle that will check each 10 seconds and
@ -435,7 +435,7 @@ sub report_bug_text {
++$counter;
}
# Sometimes, Bugzilla throws out a communication error although the bug has been
# created successfully. If this happens, we will softfail and leave the creation
# created successfully. If this happens, we will softfail and leave the creation
# check to a later step.
if ($counter > 12) {
record_soft_failure "Warning: Bugzilla has reported an error which could mean that the bug has not been created correctly, but it probably is not a real problem, if the test has not failed completely. ";
@ -443,7 +443,7 @@ sub report_bug_text {
# Now, let us check with Bugzilla directly, if the bug has been created.
# First, we shall get a Bugzilla format timestamp to use it in the query.
# The timestamp will limit the list of bugs to those that have been created since
# The timestamp will limit the list of bugs to those that have been created since
# the then -> resulting with high probability in the one that this test run
# has just created.
$timestamp = convert_to_bz_timestamp($timestamp);
@ -455,7 +455,7 @@ sub report_bug_text {
else {
print("BUGZILLA: The last bug was found: $lastbug\n");
}
# We have found that the bug indeed is in the bugzilla (otherwise
# We have found that the bug indeed is in the bugzilla (otherwise
# we would have died already) so now we close it to clean up after this test run.
my $result = close_notabug($lastbug, $apikey);
unless ($result) {
@ -467,5 +467,5 @@ sub report_bug_text {
# Quit anaconda
type_string "4\n";
}

View File

@ -21,7 +21,8 @@ sub post_fail_hook {
if (check_screen "anaconda_error_report", 10) {
assert_and_click "anaconda_error_report";
$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";
$has_traceback = 1;
}
@ -77,27 +78,27 @@ sub post_fail_hook {
}
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...
return;
}
unless (script_run "df -h > /tmp/df.log") {
upload_logs "/tmp/df.log", failok=>1;
upload_logs "/tmp/df.log", failok => 1;
}
unless (script_run "free -h > /tmp/free.log") {
upload_logs "/tmp/free.log", failok=>1;
upload_logs "/tmp/free.log", failok => 1;
}
upload_logs "/tmp/X.log", failok=>1;
upload_logs "/tmp/anaconda.log", failok=>1;
upload_logs "/tmp/packaging.log", failok=>1;
upload_logs "/tmp/storage.log", failok=>1;
upload_logs "/tmp/syslog", failok=>1;
upload_logs "/tmp/program.log", failok=>1;
upload_logs "/tmp/dnf.log", failok=>1;
upload_logs "/tmp/dnf.librepo.log", failok=>1;
upload_logs "/tmp/dnf.rpm.log", failok=>1;
upload_logs "/tmp/dbus.log", failok=>1;
upload_logs "/tmp/X.log", failok => 1;
upload_logs "/tmp/anaconda.log", failok => 1;
upload_logs "/tmp/packaging.log", failok => 1;
upload_logs "/tmp/storage.log", failok => 1;
upload_logs "/tmp/syslog", failok => 1;
upload_logs "/tmp/program.log", failok => 1;
upload_logs "/tmp/dnf.log", failok => 1;
upload_logs "/tmp/dnf.librepo.log", failok => 1;
upload_logs "/tmp/dnf.rpm.log", failok => 1;
upload_logs "/tmp/dbus.log", failok => 1;
if ($has_traceback) {
# Upload Anaconda traceback logs
@ -128,7 +129,8 @@ sub root_console {
# 0 means use console_login's default, non-zero values
# passed to console_login
timeout => 0,
@_);
@_
);
if (get_var("SERIAL_CONSOLE")) {
# select first virtio terminal, we rely on anaconda having run
# a root shell on it for us
@ -141,7 +143,7 @@ sub root_console {
# tty3 has a shell on all f31+ installer and live images
send_key "ctrl-alt-f3";
}
console_login(user=>"root", timeout=>$args{timeout});
console_login(user => "root", timeout => $args{timeout});
}
1;

View File

@ -32,7 +32,7 @@ sub convert_to_bz_timestamp {
sub get_newest_bug {
# This subroutine makes an API call to Bugzilla and
# fetches the newest bug that have been created.
# fetches the newest bug that have been created.
# This will be the bug created by Anaconda in this
# test run.
my ($timestamp, $login) = @_;

View File

@ -22,7 +22,7 @@ sub start_cockpit {
# run firefox directly in X as root. never do this, kids!
type_string "startx /usr/bin/firefox -width 1024 -height 768 http://localhost:9090\n";
assert_screen "cockpit_login", 60;
wait_still_screen(stilltime=>5, similarity_level=>45);
wait_still_screen(stilltime => 5, similarity_level => 45);
if ($login) {
type_safely "root";
wait_screen_change { send_key "tab"; };
@ -56,6 +56,6 @@ sub check_updates {
my $logfile = shift;
sleep 2;
my $checkresult = script_run "dnf check-update > $logfile";
upload_logs "$logfile", failok=>1;
return($checkresult);
upload_logs "$logfile", failok => 1;
return ($checkresult);
}

View File

@ -59,13 +59,13 @@ sub x11_start_program {
send_key "alt-f2";
assert_screen "desktop_runner";
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;
}
# ensure_installed checks if a package is already installed and if not install it.
# To make it happen, it will switch to a virtual terminal (if not already there)
# and try to install the package. DNF will skip the installation,
# To make it happen, it will switch to a virtual terminal (if not already there)
# and try to install the package. DNF will skip the installation,
# if it is already installed.
sub ensure_installed {
my ($self, @packages) = @_;
@ -75,48 +75,48 @@ sub ensure_installed {
# We will check if GUI elements are present, that would suggest that we are not in the
# console but in GUI.
if (check_screen("apps_menu_button")) {
# In that case, we want to return to GUI after the routine finishes.
# In that case, we want to return to GUI after the routine finishes.
$stay_on_console = 0;
# From GUI we need to switch to the console.
send_key("ctrl-alt-f3");
# Let's wait to allow for screen changes.
sleep 5;
# And do the login.
console_login();
# From GUI we need to switch to the console.
send_key("ctrl-alt-f3");
# Let's wait to allow for screen changes.
sleep 5;
# And do the login.
console_login();
}
# Try to install the packages via dnf. If it is already installed, DNF will not do anything
# so there is no need to do any complicated magic.
assert_script_run("dnf install -y @packages", timeout => 240);
# If we need to leave the console.
if ($stay_on_console == 0) {
desktop_vt();
desktop_vt();
}
}
# This subroutine switches to the root account.
# This subroutine switches to the root account.
# On Fedora, the system can be installed with a valid root account (root password assigned)
# or without it (with root password empty). If no root password is provided through environment
# variables, we assume that the system is a "rootless" system. In that case we will use
# `sudo -i` to acquire the administrator access.
# variables, we assume that the system is a "rootless" system. In that case we will use
# `sudo -i` to acquire the administrator access.
sub become_root {
# If ROOT_PASSWORD exists, it means that the root account exists, too.
# If ROOT_PASSWORD exists, it means that the root account exists, too.
# To become root, we will use the real root account and we'll switch to it.
if (check_var("ROOT_PASSWORD")) {
my $password = get_var("ROOT_PASSWORD");
enter_cmd("su -", max_interval => 15, wait_screen_changes => 3);
type_password($password, max_interval => 15);
send_key("ret");
my $password = get_var("ROOT_PASSWORD");
enter_cmd("su -", max_interval => 15, wait_screen_changes => 3);
type_password($password, max_interval => 15);
send_key("ret");
}
# If no root password is set, it means, that we are only using an administrator
# who is in the wheel group and therefore we will use the sudo command to obtain
# the admin rights.
else {
my $password = get_var("USER_PASSWORD") || "weakpassword";
enter_cmd("sudo -i", max_interval => 15, wait_screen_changes => 3);
# The SUDO warning might be displayed so let's wait it out a bit.
sleep 2;
type_password($password, max_interval => 15);
send_key("ret");
enter_cmd("sudo -i", max_interval => 15, wait_screen_changes => 3);
# The SUDO warning might be displayed so let's wait it out a bit.
sleep 2;
type_password($password, max_interval => 15);
send_key("ret");
}
sleep 2;
# Now we should be root. Let's check for root prompt.
@ -132,7 +132,7 @@ sub become_root {
# passed to it after the command has finished to save some time.
# The serial console is only accessible for the root user, so that
# mechanism does not work when not root (why would anyone use sudo
# if they were root already anyway).
# if they were root already anyway).
# To override this, call `make_serial_writable` from `utils.pm` in the
# beginning of the test script to enable serial console for normal users.
sub script_sudo {
@ -144,9 +144,9 @@ sub script_sudo {
my $str;
if ($wait > 0) {
# Create a uniqe hash from the command and the wait time.
$str = testapi::hashed_string("SS$prog$wait");
# Chain the commands to pass the message to the serial console.
# Create a uniqe hash from the command and the wait time.
$str = testapi::hashed_string("SS$prog$wait");
# Chain the commands to pass the message to the serial console.
$prog = "$prog; echo $str > /dev/$testapi::serialdev";
}
# Run the command with `sudo -k`
@ -156,7 +156,7 @@ sub script_sudo {
type_password($password);
send_key "ret";
# Wait for the message hash to appear on the serial console which indicates
# that the command has finished. No matter what time has passed, finish
# that the command has finished. No matter what time has passed, finish
# or die if no message appears on time.
if ($str) {
return testapi::wait_serial($str, $wait);
@ -171,7 +171,7 @@ sub assert_script_sudo {
my ($self, $prog, $wait) = @_;
script_sudo($prog, $wait);
# Validate that the command exited with a correct exit code.
validate_script_output('echo $?', sub { $_ == 0 } );
validate_script_output('echo $?', sub { $_ == 0 });
return;
}

View File

@ -44,7 +44,7 @@ sub start_webui {
disable_firefox_studies;
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;
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
# as the requested user when we don't expect to be
if (match_has_tag $user_screen) {

View File

@ -16,9 +16,10 @@ sub root_console {
# Switch to a default or specified TTY and log in as root.
my $self = shift;
my %args = (
tty => 1, # what TTY to login to
timeout => 0, # passed through to console_login
@_);
tty => 1, # what TTY to login to
timeout => 0, # passed through to console_login
@_
);
if (get_var("SERIAL_CONSOLE")) {
# select the first virtio terminal, for now we assume we can
# always use that (we may have to make this smarter in future)
@ -28,7 +29,7 @@ sub root_console {
# For normal terminal emulation, use key combo to reach a tty
send_key "ctrl-alt-f$args{tty}";
}
console_login(timeout=>$args{timeout}); # Do the login.
console_login(timeout => $args{timeout}); # Do the login.
}
sub post_fail_hook {
@ -44,7 +45,7 @@ sub post_fail_hook {
assert_script_run "dhclient";
}
else {
$self->root_console(tty=>6);
$self->root_console(tty => 6);
# fix up keyboard layout, if we failed before the test did this
# itself; if it's already been done, should be safe, will just
# fail and carry on
@ -89,7 +90,7 @@ sub post_fail_hook {
}
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...
return;
}
@ -126,14 +127,14 @@ sub post_fail_hook {
}
# 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") {
# for installer creation test
script_run "df -h";
upload_logs "/root/imgbuild/pylorax.log", failok=>1;
upload_logs "/root/imgbuild/lorax.log", failok=>1;
upload_logs "/root/imgbuild/program.log", failok=>1;
upload_logs "/root/imgbuild/pylorax.log", failok => 1;
upload_logs "/root/imgbuild/lorax.log", failok => 1;
upload_logs "/root/imgbuild/program.log", failok => 1;
}
if (get_var("TEST") eq "live_build") {
@ -150,10 +151,10 @@ sub post_fail_hook {
}
}
# For update tests, let's do the update package info log stuff,
# it may be useful for diagnosing the cause of the failure
advisory_get_installed_packages;
advisory_check_nonmatching_packages(fatal=>0);
# For update tests, let's do the update package info log stuff,
# it may be useful for diagnosing the cause of the failure
advisory_get_installed_packages;
advisory_check_nonmatching_packages(fatal => 0);
1;

View File

@ -11,7 +11,7 @@ use utils;
our @EXPORT = qw(parse_module_list is_listed);
# This subroutine takes the output from the dnf module list command
# and deletes all unnecessary stuff and returns an array of hash
# and deletes all unnecessary stuff and returns an array of hash
# references where each hash consists of (module, stream, profile).
# The subroutine only recognizes one profile but it is enough
# for the sake of the modularity testing.
@ -37,7 +37,7 @@ sub parse_module_list {
sub is_listed {
my ($module, $stream, $listref) = @_;
my $found = 0;
foreach (@{ $listref }) {
foreach (@{$listref}) {
if ($_->{module} eq $module and $_->{stream} eq $stream) {
$found = 1;
}

View File

@ -21,9 +21,9 @@ sub run_with_error_check {
# by using 'unless' and 'expect_not_found=>1' here we avoid
# the web UI showing each failure to see the error message as
# 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->();
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 {
die "Error screen appeared" if (check_screen $error_screen, 5);
@ -39,7 +39,7 @@ sub type_safely {
type_string($string, wait_screen_change => 3, max_interval => 20);
# similarity level 38 as there will commonly be a flashing
# cursor and the default level (47) is too tight
wait_still_screen(stilltime=>2, similarity_level=>38);
wait_still_screen(stilltime => 2, similarity_level => 38);
}
# high-level 'type this string extremely safely and rather slow'
@ -49,7 +49,7 @@ sub type_very_safely {
type_string($string, wait_screen_change => 1, max_interval => 1);
# similarity level 38 as there will commonly be a flashing
# cursor and the default level (47) is too tight
wait_still_screen(stilltime=>5, similarity_level=>38);
wait_still_screen(stilltime => 5, similarity_level => 38);
}
sub get_release_number {
@ -59,7 +59,7 @@ sub get_release_number {
my $version = get_var("VERSION");
my $rawrel = get_var("RAWREL", "Rawhide");
return $rawrel if ($version eq "Rawhide");
return $version
return $version;
}
# Wait for login screen to appear. Handle the annoying GPU buffer
@ -71,7 +71,7 @@ sub boot_to_login_screen {
$args{timeout} //= 300;
if (testapi::is_serial_terminal) {
# 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.";
}
}
@ -82,14 +82,14 @@ sub boot_to_login_screen {
# The following is true for non-serial console.
my $count = 5;
while (check_screen("login_screen", 3) && $count > 0) {
sleep 5;
$count -= 1;
sleep 5;
$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";
}
}
}
@ -116,7 +116,7 @@ sub desktop_switch_layout {
# if already selected, we're good
return if (check_screen "${environment}_layout_${layout}", 3);
# otherwise we need to switch
my $switcher = "alt-shift"; # anaconda
my $switcher = "alt-shift"; # anaconda
$switcher = "super-spc" if $environment eq 'gnome';
# KDE? not used yet
send_key $switcher;
@ -130,7 +130,7 @@ sub desktop_switch_layout {
sub _console_login_finish {
# The check differs according to the console used.
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";
}
}
@ -150,7 +150,8 @@ sub console_login {
password => get_var("ROOT_PASSWORD", "weakpassword"),
# default is 10 seconds, set below, 0 means 'default'
timeout => 0,
@_);
@_
);
$args{timeout} ||= 10;
# Since we do not test many serial console tests, and we probably
@ -161,7 +162,7 @@ sub console_login {
# enable a new proper login based on the user variable.
if (get_var("SERIAL_CONSOLE")) {
# Check for the usual prompt.
if (wait_serial("~\][#\$]", timeout=>5, quiet=>1)) {
if (wait_serial("~\][#\$]", timeout => 5, quiet => 1)) {
type_string "logout\n";
# Wait a bit to let the logout properly finish.
sleep 10;
@ -175,7 +176,7 @@ sub console_login {
# Let's perform a simple login test. This is the same as
# whoami, but has the advantage of existing in installer env
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.";
}
}
@ -268,9 +269,9 @@ sub desktop_vt {
# stop as soon as any command fails, so we use ||: to make the
# first grep return 0 even if it matches nothing
eval { $xout = script_output ' loginctl | grep test ||:; ps -e | egrep "(startplasma|gnome-session|Xwayland|Xorg)" | grep -o tty[0-9] ||:' };
my $tty = 1; # default
my $tty = 1; # default
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}";
# work around https://gitlab.gnome.org/GNOME/gnome-software/issues/582
@ -382,7 +383,8 @@ sub do_bootloader {
# in SLOF usb-xhci driver failed sometimes in powerpc
type_safely " $args{params}";
}
save_screenshot; # for debug purpose
# for debug purpose
save_screenshot;
# ctrl-X boots from grub editor mode
send_key "ctrl-x";
# return boots all other cases
@ -435,9 +437,9 @@ sub disable_firefox_studies {
assert_script_run 'printf "// required comment\npref(\'general.config.filename\', \'openqa-overrides.cfg\');\npref(\'general.config.obscure_value\', 0);\n" > ' . $prefix . '$(rpm --eval %_libdir)/firefox/browser/defaults/preferences/openqa-overrides.js';
assert_script_run 'printf "// required comment\npref(\'browser.urlbar.quicksuggest.shouldShowOnboardingDialog\', false);\npref(\'privacy.restrict3rdpartystorage.rollout.enabledByDefault\', false);\n" > ' . $prefix . '$(rpm --eval %_libdir)/firefox/openqa-overrides.cfg';
# for debugging
upload_logs "$prefix/usr/lib64/firefox/browser/defaults/preferences/openqa-overrides.js", failok=>1;
upload_logs "$prefix/usr/lib64/firefox/openqa-overrides.cfg", failok=>1;
upload_logs "$prefix/usr/lib64/firefox/distribution/policies.json", failok=>1;
upload_logs "$prefix/usr/lib64/firefox/browser/defaults/preferences/openqa-overrides.js", failok => 1;
upload_logs "$prefix/usr/lib64/firefox/openqa-overrides.cfg", failok => 1;
upload_logs "$prefix/usr/lib64/firefox/distribution/policies.json", failok => 1;
}
sub repos_mirrorlist {
@ -522,7 +524,7 @@ sub _repo_setup_compose {
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'
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
# won't always exist and we don't want to bother testing or
@ -532,9 +534,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;
# 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') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# }
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# }
}
sub _repo_setup_updates {
@ -545,9 +547,9 @@ sub _repo_setup_updates {
my $currrel = get_var("CURRREL", "0");
repos_mirrorlist();
# 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') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# }
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
# }
if ($version > $currrel) {
# Disable updates-testing so other bad updates don't break us
# this will do nothing on upgrade tests as we're on a stable
@ -650,11 +652,11 @@ sub console_initial_setup {
# Set timezone
type_string "2\n";
wait_still_screen 5;
type_string "1\n"; # Set timezone
type_string "1\n"; # Set timezone
wait_still_screen 5;
type_string "1\n"; # Europe
type_string "1\n"; # Europe
wait_still_screen 5;
type_string "37\n"; # Prague
type_string "37\n"; # Prague
wait_still_screen 7;
# Set root password
@ -670,14 +672,14 @@ sub console_initial_setup {
# Create user
type_string "5\n";
wait_still_screen 5;
type_string "1\n"; # create new
type_string "1\n"; # create new
wait_still_screen 5;
type_string "3\n"; # set username
type_string "3\n"; # set username
wait_still_screen 5;
type_string get_var("USER_LOGIN", "test");
send_key "ret";
wait_still_screen 5;
type_string "5\n"; # set password
type_string "5\n"; # set password
wait_still_screen 5;
type_string get_var("USER_PASSWORD", "weakpassword");
send_key "ret";
@ -685,13 +687,13 @@ sub console_initial_setup {
type_string get_var("USER_PASSWORD", "weakpassword");
send_key "ret";
wait_still_screen 5;
type_string "6\n"; # make him an administrator
type_string "6\n"; # make him an administrator
wait_still_screen 5;
type_string "c\n";
wait_still_screen 7;
assert_screen "console_initial_setup_done", 30;
type_string "c\n"; # continue
type_string "c\n"; # continue
}
sub handle_welcome_screen {
@ -734,17 +736,17 @@ sub gnome_initial_setup {
# https://fedoraproject.org//wiki/Changes/ReduceInitialSetupRedundancy
# https://bugzilla.redhat.com/show_bug.cgi?id=1474787 ,
# except 'language' is never *really* skipped (see above)
@nexts = grep {$_ ne 'keyboard'} @nexts;
@nexts = grep {$_ ne 'timezone'} @nexts;
@nexts = grep { $_ ne 'keyboard' } @nexts;
@nexts = grep { $_ ne 'timezone' } @nexts;
# 'additional software sources' screen did not display on F28-F34:
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/59
@nexts = grep {$_ ne 'software'} @nexts if ($relnum < 35);
@nexts = grep { $_ ne 'software' } @nexts if ($relnum < 35);
}
else {
# 'timezone' and 'software' are suppressed for the 'existing user'
# form of g-i-s
@nexts = grep {$_ ne 'software'} @nexts;
@nexts = grep {$_ ne 'timezone'} @nexts;
@nexts = grep { $_ ne 'software' } @nexts;
@nexts = grep { $_ ne 'timezone' } @nexts;
}
# note: in g-i-s 3.37.91 and later, the first screen in systemwide
@ -763,13 +765,13 @@ sub gnome_initial_setup {
# wait a bit in case of animation
wait_still_screen 3;
# 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";
send_key "esc";
}
# GDM 3.24.1 dumps a cursor in the middle of the screen here...
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
# highlight problems, sleeping to give it time to get
# to the next screen between clicks
@ -799,7 +801,7 @@ sub gnome_initial_setup {
# it's not visible we may have hit
# https://bugzilla.redhat.com/show_bug.cgi?id=1997310 , which
# we'll handle as a soft failure
mouse_set(100,100);
mouse_set(100, 100);
if (check_screen "skip_button", 60) {
wait_screen_change { click_lastmatch; };
}
@ -853,7 +855,7 @@ sub anaconda_create_user {
@_
);
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";
# wait out animation
wait_still_screen 2;
@ -934,21 +936,21 @@ sub check_desktop {
}
sub download_modularity_tests {
# Download the modularity test script, place in the system and then
# modify the access rights to make it executable.
# Download the modularity test script, place in the system and then
# modify the access rights to make it executable.
my ($whitelist) = @_;
# we need python3-yaml for the script to run
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';
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';
}
sub quit_firefox {
# Quit Firefox, handling the 'close multiple tabs' warning screen if
# it shows up. Expects to quit to a recognizable console
# Quit Firefox, handling the 'close multiple tabs' warning screen if
# it shows up. Expects to quit to a recognizable console
send_key "ctrl-q";
# expect to get to either the tabs warning or a console
if (check_screen ["user_console", "root_console", "firefox_close_tabs"], 30) {
@ -972,18 +974,18 @@ sub quit_firefox {
record_soft_failure "No console on exit from Firefox, probably RHBZ #2094137";
power "reset";
boot_to_login_screen;
console_login(user=>"root", password=>get_var("ROOT_PASSWORD"));
console_login(user => "root", password => get_var("ROOT_PASSWORD"));
}
sub start_with_launcher {
# 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
# Gnome desktop.
# 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
# Gnome desktop.
# $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.
my ($launcher,$submenu,$group) = @_;
my ($launcher, $submenu, $group) = @_;
$submenu //= '';
$group //= '';
my $desktop = get_var('DESKTOP');
@ -1020,7 +1022,7 @@ sub start_with_launcher {
assert_and_click $launcher;
wait_still_screen 5;
}
elsif ($desktop eq 'kde'){
elsif ($desktop eq 'kde') {
# Click on the KDE launcher icon
assert_and_click 'kde_menu_launcher';
wait_still_screen 2;
@ -1047,7 +1049,7 @@ sub start_with_launcher {
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';
wait_still_screen 5;
assert_screen 'workspace';
@ -1067,12 +1069,12 @@ sub advisory_get_installed_packages {
# occasionally, for some reason, it's unhappy about sorting;
# we shouldn't fail the test in this case, just upload the
# files so we can see why...
upload_logs "/tmp/allpkgs.txt", failok=>1;
upload_logs "/var/log/updatepkgs.txt", failok=>1;
upload_logs "/tmp/allpkgs.txt", failok => 1;
upload_logs "/var/log/updatepkgs.txt", failok => 1;
}
# we'll try and upload the output even if comm 'failed', as it
# 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 {
@ -1106,8 +1108,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 | sed -e \'s,\^,\\\\\\\\^,g\' | 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';
# for debugging, may as well always upload these, can't hurt anything
upload_logs "/tmp/installedupdatepkgs.txt", failok=>1;
upload_logs "/var/log/updatepkgs.txt", failok=>1;
upload_logs "/tmp/installedupdatepkgs.txt", failok => 1;
upload_logs "/var/log/updatepkgs.txt", failok => 1;
# if any line appears in installedupdatepkgs.txt but not updatepkgs.txt,
# we have a problem.
if (script_run 'comm -23 /tmp/installedupdatepkgs.txt /var/log/updatepkgs.txt > /var/log/installednotupdatedpkgs.txt') {
@ -1119,7 +1121,7 @@ sub advisory_check_nonmatching_packages {
# 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
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";
if ($args{fatal}) {
set_var("_ACNMP_DONE", "1");
@ -1172,7 +1174,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 {
@ -1334,10 +1336,10 @@ sub check_prerelease {
assert_screen "prerelease_note";
}
elsif ($prerelease == 0) {
# If the prerelease note is shown, where it should not be, die!
if (check_screen "prerelease_note") {
# If the prerelease note is shown, where it should not be, die!
if (check_screen "prerelease_note") {
die "The PRERELEASE tag is shown, but it should NOT be.";
}
}
}
}
@ -1419,12 +1421,12 @@ sub click_unwanted_notifications {
my @closed;
while ($count > 0 && check_screen "desktop_update_notification_popup", 5) {
$count -= 1;
push (@closed, 'update');
push(@closed, 'update');
click_lastmatch;
}
if (check_screen "akonadi_migration_agent_running", 5) {
click_lastmatch;
push (@closed, 'akonadi');
push(@closed, 'akonadi');
}
return @closed;
}
@ -1438,8 +1440,8 @@ sub register_application {
}
# The KDE desktop tests are very difficult to maintain, because the transparency
# of the menu requires a lot of different needles to cover the elements.
# Therefore it is useful to change the background to a solid colour.
# of the menu requires a lot of different needles to cover the elements.
# Therefore it is useful to change the background to a solid colour.
# Since many needles have been already created with a black background
# we will keep it that way. The following code has been taken from the
# KDE startstop tests but it is good to have it here, because it will be
@ -1447,7 +1449,7 @@ sub register_application {
sub solidify_wallpaper {
my $desktop = get_var("DESKTOP");
if ($desktop eq "kde") {
# Run the Desktop settings
# Run the Desktop settings
# FIXME workaround a weird bug where alt-d-s does something
# different until you right click on the desktop:
# https://bugzilla.redhat.com/show_bug.cgi?id=1933118
@ -1485,14 +1487,14 @@ sub solidify_wallpaper {
# Start the terminal to set up backgrounds.
menu_launch_type "gnome-terminal";
# wait to be sure it's fully open
wait_still_screen(stilltime=>5, similarity_level=>38);
wait_still_screen(stilltime => 5, similarity_level => 38);
# When the application opens, run command in it to set the background to black
type_very_safely "gsettings set org.gnome.desktop.background picture-uri ''";
send_key 'ret';
wait_still_screen(stilltime=>2, similarity_level=>38);
wait_still_screen(stilltime => 2, similarity_level => 38);
type_very_safely "gsettings set org.gnome.desktop.background primary-color '#000000'";
send_key 'ret';
wait_still_screen(stilltime=>2, similarity_level=>38);
wait_still_screen(stilltime => 2, similarity_level => 38);
quit_with_shortcut();
# check that is has changed color
assert_screen 'apps_settings_screen_black';
@ -1505,7 +1507,7 @@ sub check_and_install_git {
unless (get_var("CANNED")) {
if (script_run("rpm -q git")) {
assert_script_run("dnf install -y git");
}
}
}
}
@ -1540,13 +1542,13 @@ sub download_testdata {
# On Fedora, the serial console is not writable for regular users which lames
# some of the openQA commands that send messages to the serial console to check
# that a command has finished, for example assert_script_run, etc.
# This routine changes the rights on the serial console file and makes it
# writable for everyone, so that those commands work. This is actually very useful
# This routine changes the rights on the serial console file and makes it
# writable for everyone, so that those commands work. This is actually very useful
# for testing commands from users' perspective. The routine also handles becoming the root.
# We agree that this is not the "correct" way, to enable users to type onto serial console
# and that it correctly should be done via groups (dialout) but that would require rebooting
# the virtual machine. Therefore we do it this way, which has immediate effect.
sub make_serial_writable{
sub make_serial_writable {
become_root();
sleep 2;
# Make serial console writable for everyone.
@ -1555,6 +1557,6 @@ sub make_serial_writable{
# Exit the root account
enter_cmd("exit");
sleep 2;
}
}
1;

18
main.pm
View File

@ -33,7 +33,7 @@ testapi::set_distribution(fedoradistribution->new());
# Stolen from openSUSE.
sub unregister_needle_tags($) {
my $tag = shift;
my @a = @{ needle::tags($tag) };
my @a = @{needle::tags($tag)};
for my $n (@a) { $n->unregister(); }
}
@ -49,14 +49,14 @@ sub unregister_needle_tags($) {
# 'LANGUAGE-' at all.
sub unregister_prefix_tags {
my ($prefix, $valueref) = @_;
NEEDLE: for my $needle ( needle::all() ) {
NEEDLE: for my $needle (needle::all()) {
my $unregister = 0;
for my $tag ( @{$needle->{'tags'}} ) {
for my $tag (@{$needle->{'tags'}}) {
if ($tag =~ /^\Q$prefix/) {
# We have at least one tag matching the prefix, so we
# *MAY* want to un-register the needle
$unregister = 1;
for my $value ( @{$valueref} ) {
for my $value (@{$valueref}) {
# At any point if we hit a prefix-value match, we
# know we need to keep this needle and can skip
# to the next
@ -85,13 +85,13 @@ sub cleanup_needles() {
# Unregister desktop needles of other desktops when DESKTOP is specified
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_
# tags for details; basically all needles with at least one LANGUAGE-
# 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);
}
$needle::cleanuphandler = \&cleanup_needles;
@ -192,15 +192,15 @@ sub load_install_tests() {
my $partitioning = get_var('PARTITIONING');
# if PARTITIONING is unset, or one of [...], use disk_guided_empty,
# 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";
}
else {
$storage = "tests/disk_".$partitioning.".pm";
$storage = "tests/disk_" . $partitioning . ".pm";
}
autotest::loadtest $storage;
if (get_var("ENCRYPT_PASSWORD")){
if (get_var("ENCRYPT_PASSWORD")) {
autotest::loadtest "tests/disk_guided_encrypted.pm";
}

7
t/00-tidy.t Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/perl
# Copyright 2021 SUSE LLC
# SPDX-License-Identifier: GPL-2.0-or-later
use Test::Strict;
use Test::Code::TidyAll;
tidyall_ok();

View File

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

View File

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

View File

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

View File

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

View File

@ -77,7 +77,7 @@ sub run {
# call do_bootloader with postinstall=0, the params, and the mutex,
# unless we're a VNC install client (no bootloader there)
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).
@ -99,7 +99,7 @@ sub run {
# we direct the installer to virtio-console1, and use
# virtio-console as a root console
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";
unless (wait_serial "Installation") { die "Text version of Anaconda has not started."; }
}
@ -133,17 +133,17 @@ sub run {
my $relnum = get_release_number;
my $dclick = 0;
$dclick = 1 if (get_var("DESKTOP") eq "kde");
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) {
# click it again - on KDE since 2019-10 or so it seems
# 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';
# wait for anaconda to appear; we click to work around
# 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
wait_screen_change { assert_and_click "anaconda_select_install_lang_input"; };
@ -180,7 +180,7 @@ sub run {
# Here, we will watch for the graphical elements in Anaconda main hub.
my $branched = get_var('VERSION');
if ($identification eq 'true' or $branched ne "Rawhide") {
check_left_bar(); # See utils.pm
check_left_bar(); # See utils.pm
check_prerelease();
check_version();
}
@ -188,13 +188,13 @@ sub run {
# didn't match anything: if the Rawhide warning didn't
# show by now it never will, so we'll just wait for the
# hub to show up.
assert_screen "anaconda_main_hub", 900; #
assert_screen "anaconda_main_hub", 900;
}
}
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

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

View File

@ -4,7 +4,7 @@ use testapi;
sub run {
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;
upload_logs '/var/tmp/top.log';
unless (get_var("CANNED")) {
@ -20,7 +20,7 @@ sub run {
}
sub test_flags {
return { 'ignore_failure' => 1 };
return {'ignore_failure' => 1};
}
1;

View File

@ -5,7 +5,7 @@ use testapi;
sub run {
my $self = shift;
$self->root_console(tty=>3, timeout=>30);
$self->root_console(tty => 3, timeout => 30);
# if this is a non-English, non-switched layout, load US layout
# at this point
# 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.
# Such attempt to log in would always fail.
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")) {
console_login(user=>"root", password=>get_var("ROOT_PASSWORD"));
console_login(user => "root", password => get_var("ROOT_PASSWORD"));
}
}
sub test_flags {
return { fatal => 1, milestone => 1 };
return {fatal => 1, milestone => 1};
}
1;
# vim: set sw=4 et:

View File

@ -10,7 +10,7 @@ sub run {
# use the desktops' graphical shutdown methods, we just go to a
# console and run 'poweroff'. We can write separate tests for
# 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
# 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
@ -23,7 +23,7 @@ sub run {
# even if shutdown fails. we should have a separate test for shutdown/
# logout/reboot stuff, might need some refactoring.
sub test_flags {
return { 'norollback' => 1, 'ignore_failure' => 1 };
return {'norollback' => 1, 'ignore_failure' => 1};
}
1;

View File

@ -11,7 +11,7 @@ sub run {
# handle bootloader, if requested
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;
}
@ -28,16 +28,16 @@ sub run {
# this avoids us waiting 90 seconds for a # to show up
my $origprompt = $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;
}
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 {
return { fatal => 1, milestone => 1 };
return {fatal => 1, milestone => 1};
}
1;

View File

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

View File

@ -109,20 +109,20 @@ sub run {
# there are various things we might have to do at a console here
# before we actually reboot. let's figure them all out first...
my @actions;
push (@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64");
push (@actions, 'abrt') if (get_var("ABRT", '') eq "system");
push (@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT"));
push(@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64");
push(@actions, 'abrt') if (get_var("ABRT", '') eq "system");
push(@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT"));
# FIXME: remove plymouth from Server install_default_upload on
# non-aarch64 to work around RHBZ #1933378
unless (get_var("ARCH") eq "aarch64") {
if (get_var("FLAVOR") eq "Server-dvd-iso" && get_var("TEST") eq "install_default_upload") {
push (@actions, 'noplymouth');
push(@actions, 'noplymouth');
}
}
# memcheck test doesn't need to reboot at all. Rebooting from GUI
# for lives is unreliable. And if we're already doing something
# 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
# 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
@ -137,14 +137,14 @@ sub run {
}
# 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
$self->root_console(timeout=>30);
$self->root_console(timeout => 30);
# this is something a couple of actions may need to know
my $mount = "/mnt/sysimage";
if (get_var("CANNED")) {
# finding the actual host system root is fun for ostree...
$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
# loaded for this tty, so for French and Arabic at least we
# need to load the 'us' layout again for the next command to
@ -158,22 +158,22 @@ sub run {
# regenerate the bootloader config
assert_script_run "chroot $mount grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg";
}
if (grep {$_ eq 'abrt'} @actions) {
# Chroot in the newly installed system and switch on ABRT systemwide
assert_script_run "chroot $mount abrt-auto-reporting 1";
if (grep { $_ eq 'abrt' } @actions) {
# Chroot in the newly installed system and switch on ABRT systemwide
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";
assert_script_run "echo 'root:$root_password' | chpasswd -R $mount";
}
if (grep {$_ eq 'noplymouth'} @actions) {
if (grep { $_ eq 'noplymouth' } @actions) {
assert_script_run "chroot $mount dnf -y remove plymouth";
}
type_string "reboot\n" if (grep {$_ eq 'reboot'} @actions);
type_string "reboot\n" if (grep { $_ eq 'reboot' } @actions);
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

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

View File

@ -17,17 +17,17 @@ sub run {
# handle bootloader, if requested
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;
}
# 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("DESKTOP") eq 'gnome') {
gnome_initial_setup(prelogin=>1, timeout=>$wait_time);
gnome_initial_setup(prelogin => 1, timeout => $wait_time);
}
else {
anaconda_create_user(timeout=>$wait_time);
anaconda_create_user(timeout => $wait_time);
# wait out animation
wait_still_screen 3;
assert_and_click "initialsetup_finish_configuration";
@ -88,7 +88,7 @@ sub run {
# root user now, for subsequent tests to work
if (get_var("IMAGE_DEPLOY")) {
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 "$password\n";
my $root_password = get_var("ROOT_PASSWORD") || "weakpassword";
@ -100,11 +100,11 @@ sub run {
# Move the mouse somewhere it won't highlight the match areas
mouse_set(300, 800);
# KDE can take ages to start up
check_desktop(timeout=>120);
check_desktop(timeout => 120);
}
sub test_flags {
return { fatal => 1, milestone => 1 };
return {fatal => 1, milestone => 1};
}
1;

View File

@ -26,13 +26,13 @@ sub run {
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo --repo=/etc/yum.repos.d/workarounds.repo ./results";
assert_script_run $cmd, 2400;
# 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";
upload_asset "./${advortask}-netinst-x86_64.iso";
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,7 +5,7 @@ use testapi;
sub run {
my $self = shift;
# Anaconda hub
assert_screen "anaconda_main_hub", 300; #
assert_screen "anaconda_main_hub", 300;
# Select package set. Minimal is the default, if 'default' is specified, skip selection,
# but verify correct default in some cases
@ -41,24 +41,24 @@ sub run {
# select desired environment
# go through the list 20 times at max (to prevent infinite loop when it's missing)
for (my $i = 0; !check_screen("anaconda_".$packageset."_highlighted", 1) && $i < 20; $i++) {
send_key "down";
for (my $i = 0; !check_screen("anaconda_" . $packageset . "_highlighted", 1) && $i < 20; $i++) {
send_key "down";
}
send_key "spc";
# check that desired environment is selected
assert_screen "anaconda_".$packageset."_selected";
assert_screen "anaconda_" . $packageset . "_selected";
assert_and_click "anaconda_spoke_done";
# Anaconda hub
assert_screen "anaconda_main_hub", 50; #
assert_screen "anaconda_main_hub", 50;
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

@ -74,7 +74,7 @@ sub _pxe_setup {
# download kernel and initramfs
my $location = get_var("LOCATION");
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');
assert_script_run "curl -o /var/lib/tftpboot/fedora/vmlinuz $location/Everything/${arch}/os/${kernpath}/vmlinuz";
assert_script_run "curl -o /var/lib/tftpboot/fedora/initrd.img $location/Everything/${arch}/os/${kernpath}/initrd.img";
@ -93,7 +93,7 @@ sub _pxe_setup {
}
sub run {
my $self=shift;
my $self = shift;
# disable systemd-resolved, it conflicts with dnsmasq
unless (script_run "systemctl is-active systemd-resolved.service") {
script_run "systemctl stop systemd-resolved.service";
@ -168,7 +168,7 @@ sub run {
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

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

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
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');
# test test: check if we can see the server
assert_script_run "ping -c 2 172.16.2.114";
@ -18,7 +18,7 @@ sub run {
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

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

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
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');
# install tigervnc (Boxes doesn't do reverse VNC)
assert_script_run "dnf -y install tigervnc", 180;
@ -17,7 +17,7 @@ sub run {
}
sub test_flags {
return { fatal => 1 };
return {fatal => 1};
}
1;

View File

@ -50,7 +50,7 @@ sub run {
# on GNOME installs (Workstation Live and Silverblue) we don't
# need to set a root password or create a user; on other flavors
# we must
unless (get_var("DESKTOP") eq "gnome" ) {
unless (get_var("DESKTOP") eq "gnome") {
assert_and_click "anaconda_install_root_password";
# from anaconda-35.22.1 onwards, we have to click 'enable root
# account' before typing the password. For older versions,

View File

@ -9,8 +9,8 @@ use utils;
sub run {
my $self = shift;
# At first, we need to set time and time zones manually.
$self->root_console(tty=>3);
# At first, we need to set time and time zones manually.
$self->root_console(tty => 3);
# Switch off automatic time.
assert_script_run("timedatectl set-ntp 0");
# Set the time zone

View File

@ -9,7 +9,7 @@ sub run {
my $self = shift;
# Click on the Alarm button.
assert_and_click("clocks_button_alarm");
assert_and_click("clocks_button_alarm");
# Add a new alarm using the Add Alarm button
assert_and_click("clocks_button_add_alarm");

View File

@ -9,7 +9,7 @@ use utils;
sub run {
my $self = shift;
# Switch to console
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Perform git test
check_and_install_git();
# Download the test data
@ -35,7 +35,7 @@ sub run {
# Select the image.jpg file.
assert_and_click("eog_file_select_jpg", button => "left", timeout => 30);
# Hit enter to open it.
send_key("ret");

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Open the menu
assert_and_click("gnome_burger_menu");
wait_still_screen(3);

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Check that the picture name is shown
assert_screen "eog_picture_name";

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Go to next picture.
send_key("right");
wait_still_screen(2);

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Toggle full screen
send_key("f11");
wait_still_screen 2;

View File

@ -8,7 +8,7 @@ use utils;
sub run {
my $self = shift;
sleep 2;
# Open the shortcuts
send_key("f1");
wait_still_screen(3);

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Rotate left
send_key("shift-ctrl-r");
wait_still_screen(2);

View File

@ -9,7 +9,7 @@ sub run {
my $self = shift;
sleep 2;
assert_screen("eog_image_default");
# Shift-ctrl-S to save a file as a new file.
send_key("shift-ctrl-s");
wait_still_screen(3);
@ -21,7 +21,7 @@ sub run {
wait_still_screen("2");
# Go to console
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# List the location
assert_script_run("ls /home/test/Pictures/");

View File

@ -8,7 +8,7 @@ use utils;
sub run {
my $self = shift;
sleep 2;
# Open the shortcuts
send_key("ctrl-?");
wait_still_screen(3);

View File

@ -22,7 +22,7 @@ sub run {
# Toggle gallery
assert_and_click("eog_gallery_show");
wait_still_screen(2);
}
assert_screen("eog_gallery_shown");
}

View File

@ -8,7 +8,7 @@ use utils;
sub run {
my $self = shift;
sleep 2;
# Make the image size 1:1
send_key("1");
wait_still_screen(2);

View File

@ -10,7 +10,7 @@ use utils;
sub run {
my $self = shift;
# Switch to console
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Perform git test
check_and_install_git();
# Download the test data
@ -34,7 +34,7 @@ sub run {
# Select the evince.pdf file.
assert_and_click("evince_file_select_pdf", button => "left", timeout => 30);
# Click the Open button to open the file
assert_and_click("gnome_button_open", button => "left", timeout => 30);

View File

@ -6,23 +6,23 @@ use utils;
# This part of the suite tests if About works.
sub run {
my $self = shift;
my $self = shift;
# Open the menu by clicking on the Burger icon
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2;
# Open the menu by clicking on the Burger icon
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2;
# In the menu, select the About item.
assert_and_click("evince_menu_about", button => "left", timeout => 30);
# In the menu, select the About item.
assert_and_click("evince_menu_about", button => "left", timeout => 30);
# Check that the About section has been displayed.
assert_screen("evince_about_shown");
# Check that the About section has been displayed.
assert_screen("evince_about_shown");
# Click on Credits button to see the second part of the dialogue.
assert_and_click("evince_about_credits", button => "left", timeout => 30);
# Click on Credits button to see the second part of the dialogue.
assert_and_click("evince_about_credits", button => "left", timeout => 30);
# Check that Credits are accessible and visible, too.
assert_screen("evince_credits_shown");
# Check that Credits are accessible and visible, too.
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.
sub run {
my $self = shift;
my $self = shift;
# Click on the Pencil button.
assert_and_click("evince_add_annotation", button => "left", timeout => 30);
# Click on the Pencil button.
assert_and_click("evince_add_annotation", button => "left", timeout => 30);
# Click on Note text.
assert_and_click("evince_add_annotation_text", button => "left", timeout => 30);
# Click on Note text.
assert_and_click("evince_add_annotation_text", button => "left", timeout => 30);
# Select location to add annotation.
assert_and_click("evince_select_annotation_place", button => "left", timeout => 30);
# Select location to add annotation.
assert_and_click("evince_select_annotation_place", button => "left", timeout => 30);
# Enter some text to the annotation.
type_very_safely("Add note");
# Enter some text to the annotation.
type_very_safely("Add note");
# Check that the annotation window has appeared with that text.
assert_screen("evince_annotation_added");
# Check that the annotation window has appeared with that text.
assert_screen("evince_annotation_added");
# Close the annotation.
assert_and_click("evince_close_annotation", button => "left", timeout => 30);
# Close the annotation.
assert_and_click("evince_close_annotation", button => "left", timeout => 30);
# Check that the annotation is still placed in the document.
assert_screen("evince_annotation_placed");
# Check that the annotation is still placed in the document.
assert_screen("evince_annotation_placed");
# Open the annotation's context menu.
assert_and_click("evince_annotation_placed", button => "right", timeout => 30);
# Open the annotation's context menu.
assert_and_click("evince_annotation_placed", button => "right", timeout => 30);
# Remove the annotation.
assert_and_click("evince_remove_annotation", button => "left", timeout => 30);
# Remove the annotation.
assert_and_click("evince_remove_annotation", button => "left", timeout => 30);
# Check that the annotation has been removed.
assert_screen("evince_annotation_removed");
# Check that the annotation has been 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.
sub run {
my $self = shift;
my $self = shift;
# Click on zoom menu to open choices.
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Click on zoom menu to open choices.
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Select 200%.
assert_and_click("evince_select_zoom_200", button => "left", timeout => 30);
# Select 200%.
assert_and_click("evince_select_zoom_200", button => "left", timeout => 30);
# Check that the document zoom was changed.
assert_screen("evince_document_zoom_200");
# Check that the document zoom was changed.
assert_screen("evince_document_zoom_200");
}
sub test_flags {
return {always_rollback => 1};
return {always_rollback => 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.
sub run {
my $self = shift;
my $self = shift;
# Click on the Zoom menu to change a different zoom for next steps.
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Click on the Zoom menu to change a different zoom for next steps.
assert_and_click("evince_change_zoom", button => "left", timeout => 30);
# Select the Fit Width option to be able to see the whole layout.
assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30);
# Select the Fit Width option to be able to see the whole layout.
assert_and_click("evince_select_zoom_fitwidth", button => "left", timeout => 30);
#Dismiss the dialogue
send_key("esc");
#Dismiss the dialogue
send_key("esc");
# Enter the menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Enter the menu
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Select the Dual mode
assert_and_click("evince_menu_dual", button => "left", timeout => 30);
# Select the Dual mode
assert_and_click("evince_menu_dual", button => "left", timeout => 30);
# Dismiss the menu
send_key("esc");
# Dismiss the menu
send_key("esc");
# Check that the content is displayed in dual mode.
assert_screen("evince_dual_mode", timeout => 30);
# Check that the content is displayed in dual mode.
assert_screen("evince_dual_mode", timeout => 30);
}
sub test_flags {
return {always_rollback => 1};
return {always_rollback => 1};
}
1;

View File

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

View File

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

View File

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

View File

@ -7,28 +7,28 @@ use utils;
sub rotate_content {
# Send the key combo to rotate the content
send_key("ctrl-right");
# Send the key combo to rotate the content
send_key("ctrl-right");
}
sub run {
my $self = shift;
my $self = shift;
# Rotate the content once.
rotate_content();
# Rotate the content once.
rotate_content();
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_once", timeout => 30);
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_once", timeout => 30);
# Rotate the content again.
rotate_content();
# Rotate the content again.
rotate_content();
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_twice", timeout => 30);
# Check that the window content has been rotated.
assert_screen("evince_content_rotated_twice", timeout => 30);
}
sub test_flags {
return {always_rollback => 1};
return {always_rollback => 1};
}
1;

View File

@ -6,36 +6,36 @@ use utils;
# This part of the suite tests tests that Evince can Save the document As another document.
sub run {
my $self = shift;
my $self = shift;
# Open the menu.
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Open the menu.
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
# Select Save As
assert_and_click("evince_menu_saveas", button => "left", timeout => 30);
# Select Save As
assert_and_click("evince_menu_saveas", button => "left", timeout => 30);
# Type a new name.
type_very_safely("alternative");
# Type a new name.
type_very_safely("alternative");
# Click on the Save button
assert_and_click("gnome_button_save_blue", button => "left", timeout => 30);
# Click on the Save button
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
# terminal console to check that it has been created.
$self->root_console(tty=>3);
my $filename = "alternative.pdf";
if (script_run("ls /home/test/Documents/${filename}")) {
$filename = "alternativeevince.pdf";
assert_script_run("ls /home/test/Documents/${filename}");
record_soft_failure("File name was not pre-selected in Save As dialog: https://gitlab.gnome.org/GNOME/gtk/-/issues/4768");
}
# Now the document is saved under a different name. We will switch to the
# terminal console to check that it has been created.
$self->root_console(tty => 3);
my $filename = "alternative.pdf";
if (script_run("ls /home/test/Documents/${filename}")) {
$filename = "alternativeevince.pdf";
assert_script_run("ls /home/test/Documents/${filename}");
record_soft_failure("File name was not pre-selected in Save As dialog: https://gitlab.gnome.org/GNOME/gtk/-/issues/4768");
}
# 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/${filename}");
# 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/${filename}");
}
sub test_flags {
return {always_rollback => 1};
return {always_rollback => 1};
}
1;

View File

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

View File

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

View File

@ -7,9 +7,9 @@ use utils;
sub run {
my $self = shift;
# Go to the root console to set up the test data and necessary stuff.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Get the test data from the test data repository.
check_and_install_git();
@ -37,7 +37,7 @@ sub run {
# Open it
send_key("ret");
wait_still_screen(3);
# Make the application fullscreen
send_key("super-up");
wait_still_screen(3);
@ -47,7 +47,7 @@ sub run {
}
sub test_flags {
return { fatal => 1, milestone => 1 };
return {fatal => 1, milestone => 1};
}
1;

View File

@ -10,7 +10,7 @@ sub run {
# Open the menu.
assert_and_click("gnome_burger_menu");
wait_still_screen(3);
# Choose the About item.
assert_and_click "gte_about";
wait_still_screen(2);
@ -27,7 +27,7 @@ sub run {
}
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -3,13 +3,13 @@ use strict;
use testapi;
use utils;
# This part tests that a line of text can be deleted
# This part tests that a line of text can be deleted
# and the deletion reverted.
sub run {
my $self = shift;
# Click on a word on the line.
assert_and_click("gte_line_word", clicktime=>0.3);
assert_and_click("gte_line_word", clicktime => 0.3);
wait_still_screen(2);
# Delete the line
send_key("home");
@ -33,7 +33,7 @@ sub run {
}
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -23,13 +23,13 @@ sub run {
send_key "esc";
# Check that correct word is highlighted.
assert_screen "gte_found_text";
# This tests that a highlight can be removed from a search result.
# Use combo for removing the highlighting.
send_key "ctrl-end";
# Check that the highlighting was removed.
assert_screen "gte_text_added";
# We will continue to search and replace a piece of text.
# Open Switch and replace
send_key "ctrl-h";
@ -43,7 +43,7 @@ sub run {
sleep 1;
send_key("delete");
# Type replacement string. We purposefully produce a typo.
type_safely "Wiend";
type_safely "Wiend";
# Click to find the string
assert_and_click "gte_find_next_occurence";
# and replace it.
@ -59,7 +59,7 @@ sub run {
}
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -8,7 +8,7 @@ use utils;
sub run {
my $self = shift;
# Switches on line numbering.
assert_and_click "gte_settings_button";
wait_still_screen(3);
@ -47,7 +47,7 @@ sub run {
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -9,7 +9,7 @@ use utils;
sub run {
my $self = shift;
# First we will use key combo to open the new document window.
sleep 5;
send_key("ctrl-t");
@ -19,7 +19,7 @@ sub run {
type_safely "# My shopping list.\n\n";
type_safely "* **Milk**\n* *Apples*\n* `Bananas`\n* Bread\n* Butter\n* Cheese\n\n";
type_safely "Happy shopping.";
# Switch on Markdown Highlighting.
assert_and_click("gte_settings_button");
assert_and_click "gte_select_highlighting";
@ -37,14 +37,14 @@ sub run {
type_very_safely "list.md";
send_key("ret");
# Check that the file has been created
$self->root_console(tty=>3);
$self->root_console(tty => 3);
assert_script_run "ls /home/test/list.md";
desktop_vt();
}
sub test_flags {
return { milestone => 1 };
return {milestone => 1};
}
1;

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Open Help.
send_key("f1");
assert_screen "gte_help_shown";
@ -24,7 +24,7 @@ sub run {
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -23,7 +23,7 @@ sub run {
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Check that dark style can be used.
assert_and_click("gnome_burger_menu");
assert_and_click("gte_change_to_dark");
@ -66,7 +66,7 @@ sub run {
sub test_flags {
return { always_rollback => 1 };
return {always_rollback => 1};
}
1;

View File

@ -8,31 +8,31 @@ use utils;
# This subroutine opens a section, checks that its content
# is listed and returns to the main page.
sub visit_section {
my $section = shift;
send_key_until_needlematch("help_section_$section", "down", 40, 1 );
click_lastmatch();
assert_screen("help_section_content_$section");
assert_and_click("help_breadcrumbs_home");
assert_screen("help_main_screen");
my $section = shift;
send_key_until_needlematch("help_section_$section", "down", 40, 1);
click_lastmatch();
assert_screen("help_section_content_$section");
assert_and_click("help_breadcrumbs_home");
assert_screen("help_main_screen");
}
sub run {
my $self = shift;
# Run the application
menu_launch_type("Help");
assert_screen("help_main_screen", timeout => 60);
# Run the application
menu_launch_type("Help");
assert_screen("help_main_screen", timeout => 60);
# Let us click on Section to open it and check that there is content inside.
visit_section("desktop");
visit_section("networking");
visit_section("sound");
visit_section("files");
visit_section("user");
visit_section("hardware");
visit_section("accessibility");
visit_section("tipstricks");
visit_section("morehelp");
# Let us click on Section to open it and check that there is content inside.
visit_section("desktop");
visit_section("networking");
visit_section("sound");
visit_section("files");
visit_section("user");
visit_section("hardware");
visit_section("accessibility");
visit_section("tipstricks");
visit_section("morehelp");
}
sub test_flags {

View File

@ -3,14 +3,14 @@ use strict;
use testapi;
use utils;
# This script will download the test files, start Nautilus,
# This script will download the test files, start Nautilus,
# stretch it all over the screen and upload the status to
# set a milestone as a starting point for the other Nautilus tests.
sub run {
my $self = shift;
# Switch to console
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Perform git test
check_and_install_git();
# Download the test data
@ -26,10 +26,10 @@ sub run {
# Start the application
menu_launch_type("nautilus");
wait_still_screen("2");
# Fullsize the Nautilus window.
wait_screen_change { send_key("super-up"); };
# Check that is started
assert_screen 'apps_run_files';

View File

@ -7,20 +7,20 @@ use utils;
sub run {
my $self = shift;
# Open the menu by clicking on the Burger icon
assert_and_click("gnome_burger_menu", button => "left", timeout => 30);
wait_still_screen 2;
# In the menu, click on the About item.
assert_and_click("nautilus_menu_about", button => "left", timeout => 30);
# Check that the About section has been displayed.
assert_screen("nautilus_about_show");
# Click on Credits button to see the second part of the dialogue.
assert_and_click("nautilus_about_credits", button => "left", timeout => 30);
# Check that Credits are accessible and visible, too.
assert_screen("nautilus_credits_shown");
}

View File

@ -7,38 +7,38 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click onto a file to select it.
assert_and_click("nautilus_test_file");
wait_still_screen(2);
# Press the keyboard shortcut to copy the file
send_key("ctrl-c");
# Select a different location to place the file.
assert_and_click("nautilus_directory_downloads");
wait_still_screen(2);
# Assert that we have entered the correct directory.
assert_screen("nautilus_directory_reached_downloads");
# Put the file in the new location
send_key("ctrl-v");
# Check that the file has appeared.
assert_screen("nautilus_test_file");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Verify that the new file exists in original location.
assert_script_run("ls /home/test/Documents/markdown.md", timeout => '60', fail_message => 'The test file was incorrectly removed from the old location.', quiet => '0');
# And also in the new location.
assert_script_run("ls /home/test/Downloads/markdown.md", timeout => '60', fail_message => 'The test file has not been found in the new location.', quiet => '0');
}
sub test_flags {

View File

@ -6,30 +6,30 @@ use utils;
# Create a new directory.
sub run {
my $self = shift;
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
wait_still_screen(2);
# Click on the Burger menu to open it
assert_and_click("gnome_kebab_menu");
wait_still_screen(2);
# Click on the Create directory icon to create a new directory.
assert_and_click("nautilus_menu_new_directory");
wait_still_screen(2);
# Type in the new name
type_safely("new_directory");
send_key("ret");
# Confirm that the directory has appeared in the tree
assert_screen("nautilus_new_directory_check");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Check that the directory can be listed.
assert_script_run("ls /home/test/Documents/new_directory", fail_message => "The expected directory does not exist.");
# Check that it indeed is a directory and that it is user writable and executable.

View File

@ -8,62 +8,62 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click onto a file to select it.
assert_and_click("nautilus_test_file");
# Press the keyboard shortcut to delete the file and wait until file disappears
send_key("delete");
wait_still_screen(1);
# Now, find the confirmation and click on Undo to return the operation.
assert_and_click("nautilus_delete_undo");
# Check that the file is still in its location.
assert_and_click("nautilus_test_file");
wait_still_screen(2);
# Delete the file again and this time, let time pass for the confirmation dialogue
# to disappear.
send_key("delete");
sleep(10);
# Select another file and delete it.
assert_and_click("nautilus_test_file_another");
wait_still_screen(2);
send_key("delete");
sleep(10);
# Navigate to the Wastebin and check that the file appeared there.
assert_and_click("nautilus_select_wastebin");
# Confirm that Wastebin is active
assert_screen("nautilus_confirm_wastebin");
# Check that the files are now located here.
assert_screen("nautilus_test_file");
assert_screen("nautilus_test_file_another");
# Select the first file and restore it from the Bin.
assert_and_click("nautilus_test_file");
wait_still_screen(2);
assert_and_click("nautilus_restore_content");
# Go to the Documents again and check that the file reappeared there.
assert_and_click("nautilus_directory_documents");
wait_still_screen(2);
assert_screen("nautilus_test_file");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Verify that the first file still exists in the location as it was restored from the bin.
assert_script_run("ls /home/test/Documents/markdown.md", timeout => '60', fail_message => 'The file has not been found in the location.', quiet => '0');
# Verify that the next file has been deleted from the original location
assert_script_run("! ls /home/test/Documents/konkurz.md");
assert_script_run("! ls /home/test/Documents/konkurz.md");
}
sub test_flags {

View File

@ -7,29 +7,29 @@ use utils;
sub run {
my $self = shift;
# Open help.
send_key("f1");
wait_still_screen 2;
# Check that Help has been shown.
assert_screen("nautilus_help_shown");
# Open one of the topics.
assert_and_click("nautilus_help_browse_files");
# Check that a correct topic has been opened.
assert_screen("nautilus_browse_shown");
# Find a subtopic and open it links
assert_and_click("nautilus_help_search_file");
# Check that it opened
assert_screen("nautilus_search_file_shown");
}
sub test_flags {
return {always_rollback => 1};
return {always_rollback => 1};
}
1;

View File

@ -6,56 +6,56 @@ use utils;
# Show and unshow hidden files.
sub run {
my $self = shift;
# Enter the Documents directory.
assert_and_click("nautilus_directory_documents", timeout => '30', button => 'left', mousehide => '1');
# Check that we are in the Documents directory.
assert_screen("nautilus_documents_active", timeout => '30', no_wait => '0');
# Check if the hidden files are set to shown. If so, let's remember this status quo for further testing.
my $hidden_a = 0;
my $hidden_b = 0;
# Set the a variable to 1, if the hidden files are shown.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_a = 1;
}
# Now toggle the status of the invisible files and check that it is changed now
# using the keyboard shortcut.
send_key("ctrl-h");
wait_still_screen(2);
# Now let us check again, if the invisible file is seen.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_b = 1;
}
# Compare the results. They should differ from each other.
if ($hidden_a == $hidden_b) {
die("The ctrl-h keyboard shortcut should have changed the status of invisible files, but the status has not been changed which indicates that the shortcut might not have worked correctly.");
}
# Now use the menu to change the status of the invisible files.
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
assert_and_click("nautilus_toggle_hidden_files", timeout => '30', button => 'left', mousehide => '1');
wait_still_screen(2);
# Check the current status of the invisible files.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_b = 1;
}
else {
$hidden_b = 0;
}
# Compare the results. They should be the same if everything up til now has worked correctly.
if ($hidden_a != $hidden_b) {
die("The menu item 'Show hidden files' should have changed the status of the invisible files, but the status has not changed which indicates that the menu item might not have worked correctly.");
}
my $self = shift;
# Enter the Documents directory.
assert_and_click("nautilus_directory_documents", timeout => '30', button => 'left', mousehide => '1');
# Check that we are in the Documents directory.
assert_screen("nautilus_documents_active", timeout => '30', no_wait => '0');
# Check if the hidden files are set to shown. If so, let's remember this status quo for further testing.
my $hidden_a = 0;
my $hidden_b = 0;
# Set the a variable to 1, if the hidden files are shown.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_a = 1;
}
# Now toggle the status of the invisible files and check that it is changed now
# using the keyboard shortcut.
send_key("ctrl-h");
wait_still_screen(2);
# Now let us check again, if the invisible file is seen.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_b = 1;
}
# Compare the results. They should differ from each other.
if ($hidden_a == $hidden_b) {
die("The ctrl-h keyboard shortcut should have changed the status of invisible files, but the status has not been changed which indicates that the shortcut might not have worked correctly.");
}
# Now use the menu to change the status of the invisible files.
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
assert_and_click("nautilus_toggle_hidden_files", timeout => '30', button => 'left', mousehide => '1');
wait_still_screen(2);
# Check the current status of the invisible files.
if (check_screen("nautilus_hidden_file_shown")) {
$hidden_b = 1;
}
else {
$hidden_b = 0;
}
# Compare the results. They should be the same if everything up til now has worked correctly.
if ($hidden_a != $hidden_b) {
die("The menu item 'Show hidden files' should have changed the status of the invisible files, but the status has not changed which indicates that the menu item might not have worked correctly.");
}
}
sub test_flags {

View File

@ -7,25 +7,25 @@ use utils;
sub run {
my $self = shift;
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
assert_and_click("nautilus_menu_shortcuts");
wait_still_screen(2);
assert_screen("nautilus_shortcuts_first");
send_key("right");
send_key("ret");
wait_still_screen(2);
assert_screen("nautilus_shortcuts_second");
send_key("right");
send_key("ret");
wait_still_screen(2);
assert_screen("nautilus_shortcuts_third");
}

View File

@ -7,38 +7,38 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click onto a file to select it.
assert_and_click("nautilus_test_file");
wait_still_screen(2);
# Press the keyboard shortcut to cut the file
send_key("ctrl-x");
# Select a different location to place the file.
assert_and_click("nautilus_directory_downloads");
wait_still_screen(2);
# Check that we have entered the Downloads directory
assert_screen("nautilus_directory_reached_downloads");
# Put the file in the new location
send_key("ctrl-v");
# Check that the file has appeared.
assert_screen("nautilus_test_file");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Verify that the new file does not exist in the original location.
assert_script_run("! ls /home/test/Documents/markdown.md", fail_message => 'The test file still exists in the original location, but it should have been removed.');
# And that it exists in the new location.
assert_script_run("ls /home/test/Downloads/markdown.md", fail_message => 'The test file has not been found in the expected location when it should have been copied there.', quiet => '0');
}
sub test_flags {

View File

@ -8,7 +8,7 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Right click onto a file to select it and open the context menu
@ -42,7 +42,7 @@ sub run {
assert_and_click("gnome_select_button");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Verify that the new file does not exist in the original location.
assert_script_run("! ls /home/test/Documents/markdown.md", fail_message => 'The test file has not been deleted from its original location.');

View File

@ -7,25 +7,25 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click on the Burger menu to open it
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
# Click on the new instance icon to create a new instance of Nautilus.
assert_and_click("nautilus_menu_new_instance");
wait_still_screen(2);
# Hit the Meta key to switch to the activities mode for further check.
send_key("super");
wait_still_screen(2);
# Confirm that two Nautilus windows exist in the view.
assert_screen("nautilus_instances_check");
}
sub test_flags {

View File

@ -7,26 +7,26 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click on the Burger menu to open it
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
# Click on the New tab to start a new tab of Nautilus.
assert_and_click("nautilus_menu_new_tab");
wait_still_screen(2);
# The new tab will open in the same directory, so let us choose
# another directory to be able to compare in the needle.
assert_and_click("nautilus_directory_videos");
wait_still_screen(2);
# Confirm that two tabs exists with Documents and Video locations.
assert_screen("nautilus_tabs_check");
}
sub test_flags {

View File

@ -7,18 +7,18 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Rigth click onto a file to open context menu.
assert_and_click("nautilus_test_file", button => "right");
wait_still_screen(2);
# Click on the Properties menu item
assert_and_click("nautilus_context_properties");
wait_still_screen(2);
# Check that the Properties window has appeared and close it.
assert_screen("nautilus_properties_check");
send_key("esc");
@ -29,31 +29,31 @@ sub run {
# Send a key combination to open the Properties again.
send_key("ctrl-i");
# Check that the Properties window has appeared again.
assert_screen("nautilus_properties_check");
# Click on the Permissions tab
assert_and_click("nautilus_select_permissions");
# Check that the owner can read and write the file
assert_screen("nautilus_owner_permissions");
# Check that others cannot do anything.
assert_screen("nautilus_others_permissions");
# Set the permission for others to None
assert_and_click("nautilus_permissions_read_only");
# Click on Read Only to select it.
assert_and_click("nautilus_permissions_set_none");
# Close the Properties
send_key("esc");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Check that the permissions have been changed.
validate_script_output("ls -l /home/test/Documents/markdown.md", sub { m/-rw-r-----/ });

View File

@ -7,32 +7,32 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Click onto a file to select it.
assert_and_click("nautilus_test_file");
# Press the keyboard shortcut to rename the file
send_key("f2");
# Check that a rename dialogue has been displayed.
assert_screen("nautilus_rename_dialogue");
# Type a new name and confirm it.
type_very_safely("renamed");
send_key("ret");
# Check that the file has been renamed.
assert_screen("nautilus_rename_check");
# Go into the root console and verify the operation in the background.
$self->root_console(tty=>3);
$self->root_console(tty => 3);
# Verify that the new file exists in the location.
assert_script_run("ls /home/test/Documents/renamed.md", timeout => '60', fail_message => 'The renamed file has not been found in the location.', quiet => '0');
}
sub test_flags {

View File

@ -7,49 +7,49 @@ use utils;
sub run {
my $self = shift;
# It seems that the following checks run so quickly that the tested
# It seems that the following checks run so quickly that the tested
# virtual machine is unable to properly reload from the previous test
# and it keeps failing.
# Let's give it some time to settle.
sleep(5);
my $side_panel = 0;
if (check_screen("nautilus_side_panel")) {
$side_panel = 1;
$side_panel = 1;
}
# Switch off the side panel
send_key("f9");
wait_still_screen(2);
# Recheck if side panel is visible
my $off_panel = 0;
if (check_screen("nautilus_side_panel")) {
$off_panel = 1;
}
# Compare the results, they should be different.
if ($off_panel == $side_panel) {
die("The side panel visibility should have been toggled and it is not. That indicates that the keyboard shortcut to toggle it does not work properly.");
die("The side panel visibility should have been toggled and it is not. That indicates that the keyboard shortcut to toggle it does not work properly.");
}
# Use menu to toggle the side panel back.
assert_and_click("gnome_burger_menu");
wait_still_screen(2);
assert_and_click("nautilus_show_sidebar");
wait_still_screen(2);
# Recheck if side panel is visible
if (check_screen("nautilus_side_panel")) {
$off_panel = 1;
}
# Compare the results. If everything has been ok until now, the values should not be different.
if ($off_panel != $side_panel) {
die("The side panel visibility should have been toggled back, but it has not been. That indicates that the menu item to toggle it does not work properly.");
die("The side panel visibility should have been toggled back, but it has not been. That indicates that the menu item to toggle it does not work properly.");
}
}
sub test_flags {

View File

@ -7,28 +7,28 @@ use utils;
sub run {
my $self = shift;
# Enter the Documents directory to get to the test data.
# Enter the Documents directory to get to the test data.
assert_and_click("nautilus_directory_documents");
# Right click onto a file to select it to see the
# context menu.
assert_and_click("nautilus_test_file", button => "right");
wait_still_screen(2);
# Click to Star it.
assert_and_click("nautilus_context_star");
# Check that a star gets solid on the right part of the selected file
assert_screen("nautilus_star_confirm");
# Click on Starred to see all the starred files in a new view.
assert_and_click("nautilus_directory_starred");
wait_still_screen(2);
# Check that the view switched to Starred
assert_screen("nautilus_starred_selected");
# Check that the file has appeared.
assert_screen("nautilus_test_file");
}

View File

@ -12,11 +12,11 @@ sub run {
solidify_wallpaper;
}
# If this test fails, the others will probably start failing too,
# If this test fails, the others will probably start failing too,
# so there is no need to continue.
# Also, when subsequent tests fail, the suite will revert to this state for further testing.
sub test_flags {
return { fatal => 1, milestone => 1 };
return {fatal => 1, milestone => 1};
}
1;

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Start the application
start_with_launcher('apps_menu_abrt', 'apps_menu_utilities');
# Check that it is started

View File

@ -7,7 +7,7 @@ use utils;
sub run {
my $self = shift;
# Start the application
start_with_launcher('apps_menu_calculator');
# Check that it is started

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