mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-22 05:53:09 +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}")
|
testliterals.append(f"user_confirm_{user}")
|
||||||
# partitioning stuff, there's a bunch of this, all in anaconda.pm
|
# partitioning stuff, there's a bunch of this, all in anaconda.pm
|
||||||
# multiple things use this
|
# 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_part_select_{part}")
|
||||||
testliterals.append(f"anaconda_blivet_part_inactive_{part}")
|
testliterals.append(f"anaconda_blivet_part_inactive_{part}")
|
||||||
# select_disks
|
# 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"
|
"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": {
|
"install_cyrillic_language": {
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"fedora-universal-aarch64-*-aarch64": 40,
|
"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 base "anacondatest";
|
||||||
use strict;
|
use strict;
|
||||||
use testapi;
|
use testapi;
|
||||||
|
use utils;
|
||||||
use anaconda;
|
use anaconda;
|
||||||
|
|
||||||
sub run {
|
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