#!/usr/bin/python3## Copyright (C) 2025 Red Hat, Inc.# SPDX-License-Identifier: LGPL-2.1-or-laterfrom anacondalib import INSTALLER_VM_MEMORY_MB, VirtInstallMachineCase, disk_imagesfrom installer import Installerfrom review import Reviewfrom storage import Storagefrom testlib import test_main # pylint: disable=import-error# TODO: these tests should be made nondestructiveclass TestStorageUseFreeSpace(VirtInstallMachineCase):provision = {"machine1": {"memory_mb": INSTALLER_VM_MEMORY_MB}}@disk_images([("debian-testing", 20)])def testBasic(self):"""Description:Test dual boot installation with use free space scenario with debianprior starting the installation.Expected results:- The installer should allow the user to select the 'use-free-space' scenario- The existing system should be unaffected and shown in the review step- When moving back and forward in the storage configuration the partitioning is correctly re-applied [rhbz#2361201]"""b = self.browserm = self.machinei = Installer(b, m)r = Review(b, m)s = Storage(b, m)i.open()i.reach(i.steps.INSTALLATION_METHOD)s.check_scenario_selected("use-free-space")i.next()# debian's efi partition is smaller than the recommended 500 MiB# so we need to click 'Next' twice to move past the storage configuration stepi.next(next_page=i.steps.STORAGE_CONFIGURATION)i.reach(i.steps.REVIEW)r.check_storage_config("Share disk with other operating systems: Debian GNU/Linux")i.reach_on_sidebar(i.steps.STORAGE_CONFIGURATION)# debian's efi partition is smaller than the recommended 500 MiB# so we need to click 'Next' twice to move past the storage configuration stepi.next(next_page=i.steps.STORAGE_CONFIGURATION)i.reach(i.steps.REVIEW)r.check_storage_config("Share disk with other operating systems: Debian GNU/Linux")r.check_disk_row("vda", "/", "vda3, LVM", "7.51 GB", True, "xfs")r.check_disk_row("vda", "/boot/efi", "vda15", "130 MB", False)r.check_disk_row("vda", "", "vda14", "3.15 MB", False, action="biosboot")if __name__ == '__main__':test_main()