mirror of
https://github.com/rocky-linux/os-autoinst-distri-rocky.git
synced 2024-11-24 22:21:25 +00:00
Add several tests to test QA:Testcase_partitioning_custom_btrfs_preserve_home.
This PR adds the `install_btrfs_upload` to install the btrfs based image, the `btrfs_preserve_home_extras` to prepare and test the data on the home partition, as well as the `custom_btrfs_preserve_home` that uses the preinstalled btrfs image and uses its current partitioning to preserve the home partition and the data on it.
This commit is contained in:
parent
adac5323f0
commit
ba90c70c8a
@ -78,7 +78,7 @@ for user in ("jack", "jim"):
|
||||
testliterals.append(f"user_confirm_{user}")
|
||||
# partitioning stuff, there's a bunch of this, all in anaconda.pm
|
||||
# multiple things use this
|
||||
for part in ("swap", "root", "efi", "boot", "vda2"):
|
||||
for part in ("swap", "root", "efi", "boot", "home", "vda2"):
|
||||
testliterals.append(f"anaconda_part_select_{part}")
|
||||
testliterals.append(f"anaconda_blivet_part_inactive_{part}")
|
||||
# select_disks
|
||||
|
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 669,
|
||||
"ypos": 398,
|
||||
"width": 56,
|
||||
"height": 16,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"anaconda_part_confirm_delete"
|
||||
]
|
||||
}
|
BIN
needles/anaconda/partitioning/anaconda_part_confirm_delete.png
Normal file
BIN
needles/anaconda/partitioning/anaconda_part_confirm_delete.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 79 KiB |
15
needles/anaconda/partitioning/anaconda_part_select_home.json
Normal file
15
needles/anaconda/partitioning/anaconda_part_select_home.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"area": [
|
||||
{
|
||||
"xpos": 49,
|
||||
"ypos": 370,
|
||||
"width": 56,
|
||||
"height": 22,
|
||||
"type": "match"
|
||||
}
|
||||
],
|
||||
"properties": [],
|
||||
"tags": [
|
||||
"anaconda_part_select_home"
|
||||
]
|
||||
}
|
BIN
needles/anaconda/partitioning/anaconda_part_select_home.png
Normal file
BIN
needles/anaconda/partitioning/anaconda_part_select_home.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
@ -984,6 +984,20 @@
|
||||
"ROOT_PASSWORD": "weakpassword"
|
||||
}
|
||||
},
|
||||
"install_btrfs_preserve_home": {
|
||||
"profiles": {
|
||||
"fedora-Server-dvd-iso-aarch64-*-aarch64": 10,
|
||||
"fedora-Server-dvd-iso-ppc64le-*-ppc64le": 10,
|
||||
"fedora-Server-dvd-iso-x86_64-*-64bit": 10
|
||||
},
|
||||
"settings": {
|
||||
"PARTITIONING": "custom_btrfs_preserve_home",
|
||||
"INSTALL": 1,
|
||||
"ROOT_PASSWORD": "weakpassword",
|
||||
"POSTINSTALL": "btrfs_preserve_home_check_content",
|
||||
"HDD_1": "disk_f%CURRREL%_desktop_4_%ARCH%.img"
|
||||
}
|
||||
},
|
||||
"install_cyrillic_language": {
|
||||
"profiles": {
|
||||
"fedora-universal-aarch64-*-aarch64": 40,
|
||||
|
24
tests/btrfs_preserve_home_check_content.pm
Normal file
24
tests/btrfs_preserve_home_check_content.pm
Normal file
@ -0,0 +1,24 @@
|
||||
use base "installedtest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
|
||||
sub run {
|
||||
my $self=shift;
|
||||
bypass_1691487 unless (get_var("DESKTOP"));
|
||||
# switch to TTY3 for both, graphical and console tests
|
||||
$self->root_console(tty=>3);
|
||||
# The pre-created image has a special file left in the home
|
||||
# directory. This checks that the file has been left there
|
||||
# correctly after system reinstall.
|
||||
assert_script_run "ls /home/home_preserved";
|
||||
}
|
||||
|
||||
|
||||
sub test_flags {
|
||||
return { fatal => 1 };
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
# vim: set sw=4 et:
|
@ -1,6 +1,7 @@
|
||||
use base "anacondatest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
use anaconda;
|
||||
|
||||
sub run {
|
||||
|
75
tests/disk_custom_btrfs_preserve_home.pm
Normal file
75
tests/disk_custom_btrfs_preserve_home.pm
Normal file
@ -0,0 +1,75 @@
|
||||
use base "anacondatest";
|
||||
use strict;
|
||||
use testapi;
|
||||
use utils;
|
||||
use anaconda;
|
||||
|
||||
|
||||
sub use_current_partition {
|
||||
my ($partition, $reformat) = @_;
|
||||
|
||||
# Select the partition
|
||||
assert_and_click "anaconda_part_select_$partition";
|
||||
# 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);
|
||||
|
||||
# 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_part_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:
|
Loading…
Reference in New Issue
Block a user