Handle anaconda 'protecting' the disk we're installing from

In install_repository_hd_variation , we have two disks attached,
so when we reach the INSTALLATION DESTINATION screen we expect
we have to select the correct target disk. However, as of the
most recent anaconda build in Rawhide, anaconda realizes we're
using a file from the other disk as our install repo, and
'protects' it - i.e. it does not show it on the INSTALLATION
DESTINATION screen, meaning only one disk is shown there, and
when only one disk is shown, it's pre-selected. So when we click,
we actually *un*select it, and the test fails.

Fixing this is a bit awkward; I wanted to add a new variable,
ANACONDA_PROTECTED_DISKS or something, and subtract that from
the NUMDISKS count; but we can't really do that as the enhanced
protection isn't in F38, and we can't easily set variables
differently on different releases (we'd have to set them in the
scheduler code, not just put them in the templates). So we just
code in a doofy condition for this instead. Maybe when F38 is
EOL we can change to the variable approach.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2023-03-29 12:59:39 -07:00
parent 2c8067698f
commit bbfc9d7c70
1 changed files with 8 additions and 1 deletions

View File

@ -33,7 +33,14 @@ sub select_disks {
sleep 1;
assert_and_click "anaconda_main_hub_install_destination";
if (get_var('NUMDISKS') > 1) {
# this is awkward, but on the install_repository_hd_variation test,
# we have two disks but on F39+ anaconda knows we're using one of
# them as an install source and 'protects' it (doesn't show it on
# INSTALLATION DESTINATION), so we need to go down the single disk
# branch in that case. Once F38 is EOL we could potentially tweak
# this to use a dedicated var or something
my $relnum = get_release_number;
if (get_var('NUMDISKS') > 1 && !(get_var('TEST') eq 'install_repository_hd_variation' && $relnum > 38)) {
# Multi-disk case. Select however many disks the test needs. If
# $disks is 0, this will do nothing, and 0 disks will be selected.
for my $n (1 .. $args{disks}) {