os-autoinst-distri-rocky-mi.../tests/disk_custom_blivet_btrfs_preserve_home.pm

121 lines
4.1 KiB
Perl

use base "anacondatest";
use strict;
use utils;
use testapi;
use anaconda;
sub run {
my $self = shift;
# Go to INSTALLATION DESTINATION and ensure the disk is selected.
# Because PARTITIONING starts with 'custom_blivet', this will select blivet-gui.
select_disks();
assert_and_click "anaconda_spoke_done";
if (get_var("UEFI")) {
# if we're running on UEFI, let us reformat the UEFI first
# Select the UEFI partition if it is not selected by default
if (not(check_screen "anaconda_blivet_part_efi_selected", 30)) {
assert_and_click "anaconda_blivet_part_inactive_efi";
wait_still_screen 5;
}
# Go to the partition settings
assert_and_click "anaconda_blivet_part_edit";
# Select the Format option
assert_and_click "anaconda_blivet_part_format";
if (not(check_screen "anaconda_blivet_part_fs_efi_filesystem_selected", 30)) {
assert_and_click "anaconda_blivet_part_fs_select";
assert_and_click "anaconda_blivet_part_fs_efi_filesystem";
}
# Select the mountpoint field
send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5);
# Fill in the mountpoint
type_very_safely "/boot/efi";
# Confirm the settings
assert_and_click "anaconda_blivet_part_format_button";
}
# Reformat the /boot partition
if (check_screen "anaconda_blivet_part_boot_selected", 30) {
assert_and_click "anaconda_blivet_part_boot_selected";
}
else {
assert_and_click "anaconda_blivet_part_inactive_boot";
wait_still_screen 5;
}
# Go to the partition settings
assert_and_click "anaconda_blivet_part_edit";
# Select the Format option
assert_and_click "anaconda_blivet_part_format";
# Open the filesystem types and select ext4, if not selected
if (not(check_screen "anaconda_blivet_part_fs_ext4_selected", 30)) {
assert_and_click "anaconda_blivet_part_fs_select";
assert_and_click "anaconda_blivet_part_fs_ext4";
}
# Select the mountpoint field
send_key_until_needlematch("anaconda_blivet_mountpoint_selected", "tab", 3, 5);
# Fill in the mountpoint
type_very_safely "/boot";
# Confirm the settings
assert_and_click "anaconda_blivet_part_format_button";
# Select the BTRFS part
assert_and_click "anaconda_blivet_volumes_icon";
# Select the home partition
if (not(check_screen "anaconda_blivet_part_home_selected")) {
assert_and_click "anaconda_blivet_part_inactive_home";
}
# Go to the partition settings
assert_and_click "anaconda_blivet_part_edit";
# Select the Set mountpoint option
assert_and_click "anaconda_blivet_part_setmountpoint";
# Type the mountpoint
type_very_safely "/home";
# Confirm
assert_and_click "anaconda_blivet_part_setmountpoint_button";
# Wait some time for the pane to settle, without this,
# the needle boolean check will fade too fast without actually
# taking any effect.
sleep 5;
# While there are some root subvolumes (it seems that there can be more than one)
# continue to delete them.
while (check_screen "anaconda_blivet_part_root_exists", 2) {
assert_and_click "anaconda_blivet_part_root_exists";
assert_and_click "anaconda_blivet_part_delete";
assert_and_click "anaconda_blivet_btn_ok";
sleep 5;
}
# Add new root partition
assert_and_click "anaconda_blivet_part_add";
# Select the name textfield
send_key_until_needlematch("anaconda_blivet_part_name_selected", "tab", 3, 5);
# type the new name
type_very_safely "newroot";
# Go to next field
send_key "tab";
# Type the mountpoint
type_very_safely "/";
# Confirm settings
assert_and_click "anaconda_blivet_btn_ok";
# Confirm everything and close the hub
assert_and_click "anaconda_spoke_done";
assert_and_click "anaconda_part_accept_changes";
# Anaconda hub
assert_screen "anaconda_main_hub", 300; #
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: