1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-14 02:34:21 +00:00
os-autoinst-distri-fedora/tests/disk_custom_btrfs_preserve_home.pm
Adam Williamson 803ae7ca57 Add a test of an additional repository using a metalink (#198)
As suggested by @kparal, this adds a test that specifies an
additional repository using a metalink. The repository contains
a single package, 'testpackage', that supplements glibc (so it
should always get installed). The test runs an install then
checks that testpackage got installed.

We also deduplicate a pair of needles which were matching on the
same anaconda UI feature (an "add" button) and use that same
needle in this test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-18 14:03:27 -07:00

81 lines
2.2 KiB
Perl

use base "anacondatest";
use strict;
use testapi;
use utils;
use anaconda;
sub use_current_partition {
my ($partition, $reformat) = @_;
# Select the partition
my $match = $partition;
# needle names can't have / in them
$match =~ s,/,,;
assert_and_click "anaconda_part_select_$match";
# Select the mountpoint field
send_key_until_needlematch("anaconda_part_mountpoint_selected", "tab", 20);
# Type in the mountpoint
if ($partition eq "root") {
type_very_safely "/";
}
else {
type_very_safely "/$partition";
}
# Click on reformat if we so wish
if ($reformat == 1) {
assert_and_click "anaconda_part_device_reformat";
}
# Update chosen settings
assert_and_click "anaconda_part_update_settings";
# Wait for the UI to settle down.
wait_still_screen 5;
}
sub run {
my $self = shift;
# Go to INSTALLATION DESTINATION and ensure the disk is selected.
# Because PARTITIONING starts with 'custom_', this will select custom.
select_disks();
assert_and_click "anaconda_spoke_done";
# Manual partitioning spoke should be displayed. Select BTRFS
# partitioning scheme
custom_scheme_select("btrfs");
# Select the currently installed system
assert_and_click "anaconda_part_use_current";
# Use the home partition from the current scheme
use_current_partition("home", 0);
# Use the boot partition from the current scheme
use_current_partition("boot", 1);
# Use /boot/efi from current scheme, if we're EFI
use_current_partition("boot/efi", 1) if (get_var "UEFI");
# Select the root partition from the current scheme
# and delete it
assert_and_click "anaconda_part_select_root";
assert_and_click "anaconda_part_delete";
assert_and_click "anaconda_part_confirm_delete";
# Add the new root partition to the scheme
assert_and_click "anaconda_add";
type_very_safely "/\n";
# Confirm changes
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: