From 034d11218146d73028535c29e045c39b8212e1ff Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Tue, 11 Jun 2019 14:37:28 -0400 Subject: [PATCH] unattended: Finish off code coverage testing --- tests/cli-test-xml/fake-f29-live.iso | Bin 0 -> 421888 bytes tests/clitest.py | 11 +++- virtinst/cli.py | 5 -- virtinst/unattended.py | 84 +++++++++------------------ 4 files changed, 36 insertions(+), 64 deletions(-) create mode 100755 tests/cli-test-xml/fake-f29-live.iso diff --git a/tests/cli-test-xml/fake-f29-live.iso b/tests/cli-test-xml/fake-f29-live.iso new file mode 100755 index 0000000000000000000000000000000000000000..71c2725800f89afbc760be1e91a42bf24e1c9794 GIT binary patch literal 421888 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 1: + return tokens[1] def get_language(): return locale.getlocale()[0] @@ -77,15 +76,11 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url): timezone = get_timezone() if timezone: config.set_l10n_timezone(timezone) - else: - logging.warning( - _("'America/New_York' timezone will be used for this " - "unattended installation.")) # Try to guess to language and keyboard layout from the system's # language. # - # This method has flows as it's quite common to have language and + # This method has flaws as it's quite common to have language and # keyboard layout not matching. Otherwise, there's no easy way to guess # the keyboard layout without relying on a set of APIs of an specific # Desktop Environment. @@ -93,10 +88,6 @@ def _make_installconfig(script, osobj, unattended_data, arch, hostname, url): if language: config.set_l10n_language(language) config.set_l10n_keyboard(language) - else: - logging.warning( - _("'en_US' will be used as both language and keyboard layout " - "for unattended installation.")) if url: config.set_installation_url(url) # pylint: disable=no-member @@ -135,68 +126,46 @@ class OSInstallScript: if (Libosinfo.InstallScriptInjectionMethod.CDROM & script.get_injection_methods()): return True - return False + return False # pragma: no cover def __init__(self, script, osobj): self._script = script self._osobj = osobj self._config = None - if not OSInstallScript.have_new_libosinfo(): + if not OSInstallScript.have_new_libosinfo(): # pragma: no cover raise RuntimeError(_("libosinfo or osinfo-db is too old to " "support unattended installs.")) def get_expected_filename(self): return self._script.get_expected_filename() - def set_preferred_injection_method(self, method): - def nick_to_value(method): - injection_methods = [ - Libosinfo.InstallScriptInjectionMethod.CDROM, - Libosinfo.InstallScriptInjectionMethod.DISK, - Libosinfo.InstallScriptInjectionMethod.FLOPPY, - Libosinfo.InstallScriptInjectionMethod.INITRD, - Libosinfo.InstallScriptInjectionMethod.WEB] + def set_preferred_injection_method(self, namestr): + # If we ever make this user configurable, this will need to be smarter + names = { + "cdrom": Libosinfo.InstallScriptInjectionMethod.CDROM, + "initrd": Libosinfo.InstallScriptInjectionMethod.INITRD, + } - for m in injection_methods: - # pylint: disable=no-member - if method == m.value_nicks[0]: - return m - - raise RuntimeError( - _("%s is a non-valid injection method in libosinfo.") % method) - - injection_method = nick_to_value(method) + logging.debug("Using '%s' injection method", namestr) + injection_method = names[namestr] supported_injection_methods = self._script.get_injection_methods() if (injection_method & supported_injection_methods == 0): raise RuntimeError( - _("OS '%s' unattended install is not supported") % - self._osobj.name) + _("OS '%s' does not support required injection method '%s'") % + (self._osobj.name, namestr)) - logging.debug("Using '%s' injection method", method) self._script.set_preferred_injection_method(injection_method) - def set_installation_source(self, source): - def nick_to_value(source): - # This requires quite new libosinfo as of Mar 2019, disable - # pylint errors here. - # pylint: disable=no-member - installation_sources = [ - Libosinfo.InstallScriptInstallationSource.MEDIA, - Libosinfo.InstallScriptInstallationSource.NETWORK] + def set_installation_source(self, namestr): + # If we ever make this user configurable, this will need to be smarter + names = { + "media": Libosinfo.InstallScriptInstallationSource.MEDIA, + "network": Libosinfo.InstallScriptInstallationSource.NETWORK, + } - for s in installation_sources: - if source == s.value_nick: - return s - - raise RuntimeError( - _("%s is a non-valid installation source in libosinfo.") % - source) - - installation_source = nick_to_value(source) - - logging.debug("Using '%s' installation source", source) - self._script.set_installation_source(installation_source) + logging.debug("Using '%s' installation source", namestr) + self._script.set_installation_source(names[namestr]) def _requires_param(self, config_param): param = self._script.get_config_param(config_param) @@ -276,13 +245,14 @@ def _lookup_rawscript(guest, profile, os_media): "the '%s' profile. Available profiles: %s") % (guest.osinfo.name, profile, ", ".join(list(profile_names)))) - logging.debug("Install script found for profile '%s'", profile) - # Some OSes (as Windows) have more than one installer script, # depending on the OS version and profile chosen, to be used to # perform the unattended installation. Let's just deal with # multiple installer scripts when its actually needed, though. - return rawscripts[0] + usescript = rawscripts[0] + logging.debug("Install script found for profile '%s': %s", + profile, usescript.get_id()) + return usescript def prepare_install_script(guest, unattended_data, url, os_media):