os-autoinst-distri-rocky/tests/disk_custom_resize_lvm.pm
Adam Williamson 200cab3899 disk_custom_resize_lvm: add some waits
On ppc64le it looks like this test is often failing because it
takes a second or two to update the partition list after we
click update settings, but we're not waiting for that, so we
wind up clicking in the wrong place because we match the next
partition needle before the list is refreshed but click after
it's refreshed. Let's hope these waits solve it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-07 14:52:49 -07:00

99 lines
3.1 KiB
Perl

use base "anacondatest";
use strict;
use testapi;
use anaconda;
use utils;
sub goto_mountpoint {
my $counter = 20;
while (!check_screen "anaconda_part_mountpoint_selected" and $counter > 0) {
send_key "tab";
$counter += 1;
sleep 1;
}
}
sub run {
my $self = shift;
# Navigate to "Installation destionation" and select blivet-gui
# to manipulate the partitions. This will be automatically
# done using the following method, because PARTITIONING starts
# with "custom_blivet".
select_disks();
assert_and_click "anaconda_spoke_done";
# The following procedure will use Custom Partitioning to resize the root partition from
# a previous Linux installation and prepare the disk for new installation
# which will be then followed through.
# Custom partitioning shows that an existing installations is there on the disk,
# we need to select it to proceed.
assert_and_click "anaconda_part_use_current";
# At first, we will recreate the /boot mountpoint in the existing installation
# and reformat it.
#
assert_and_click "anaconda_part_select_boot";
# navigate to "Mountpoint"
goto_mountpoint();
type_very_safely "/boot";
assert_and_click "anaconda_part_device_reformat";
assert_and_click "anaconda_part_update_settings";
# give it a second or two to update
wait_still_screen 2;
# For UEFI based images, we need to reassign the efi boot
# mountpoint as well
if (get_var("UEFI") == 1) {
assert_and_click "anaconda_part_select_efiboot";
goto_mountpoint();
type_very_safely "/boot/efi";
assert_and_click "anaconda_part_device_reformat";
assert_and_click "anaconda_part_update_settings";
# give it a second or two to update
wait_still_screen 2;
}
# Now resize and format the current root partition
assert_and_click "anaconda_part_select_root";
# Navigate to Mountpoint
goto_mountpoint();
type_very_safely "/";
# Skip to the Size window
send_key "tab";
type_very_safely "13 GiB";
# Reformat and update the partition
assert_and_click "anaconda_part_device_reformat";
assert_and_click "anaconda_part_update_settings";
# give it a second or two to update
wait_still_screen 2;
# Add new /home partition into the emptied space.
assert_and_click "anaconda_part_add";
# The previous step brings us into a mountpoint field
# of the pop-up window, so we only need to fill the value in.
# Also, it seems that leaving the size field empty automatically
# suggests to use the remaining free space.
type_very_safely "/home";
send_key "tab";
assert_and_click "anaconda_part_add_mountpoint";
# Then mount the Swap partition.
assert_and_click "anaconda_part_select_swap";
assert_and_click "anaconda_part_device_reformat";
assert_and_click "anaconda_part_update_settings";
# Close the spoke.
assert_and_click "anaconda_spoke_done";
# Confirm changes
assert_and_click "anaconda_part_accept_changes";
}
sub test_flags {
return { fatal => 1 };
}
1;