mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-03-08 04:58:29 +03:00
osdict: Add testing and finish of code coverage
This commit is contained in:
parent
19bcec651c
commit
a9d33d49db
@ -3,6 +3,7 @@
|
||||
# This work is licensed under the GNU GPLv2 or later.
|
||||
# See the COPYING file in the top-level directory.
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from virtinst import Guest
|
||||
@ -68,3 +69,28 @@ class TestOSDB(unittest.TestCase):
|
||||
raise AssertionError("Expected failure")
|
||||
except RuntimeError as e:
|
||||
assert str(e).endswith("URL location")
|
||||
|
||||
# Trigger an error path for code coverage
|
||||
self.assertEqual(OSDB.guess_os_by_tree(os.getcwd()), None)
|
||||
|
||||
def test_kernel_url(self):
|
||||
def _c(name):
|
||||
osobj = OSDB.lookup_os(name)
|
||||
if not osobj:
|
||||
self.skipTest("osinfo-db doesn't have '%s'" % name)
|
||||
return osobj.get_kernel_url_arg()
|
||||
|
||||
self.assertEqual(_c("rhel7-unknown"), "inst.repo")
|
||||
self.assertEqual(_c("rhel6-unknown"), "method")
|
||||
self.assertEqual(_c("fedora-rawhide"), "inst.repo")
|
||||
self.assertEqual(_c("fedora20"), "inst.repo")
|
||||
self.assertEqual(_c("generic"), None)
|
||||
self.assertEqual(_c("win10"), None)
|
||||
self.assertEqual(_c("sle15"), "install")
|
||||
|
||||
def test_related_to(self):
|
||||
# pylint: disable=protected-access
|
||||
win10 = OSDB.lookup_os("win10")
|
||||
self.assertTrue(win10._is_related_to("winxp"))
|
||||
self.assertTrue(win10._is_related_to("win10"))
|
||||
self.assertTrue(win10._is_related_to("fedora26") is False)
|
||||
|
@ -233,7 +233,7 @@ class _OSDB(object):
|
||||
return None
|
||||
|
||||
if not self._os_loader.get_db().identify_media(media):
|
||||
return None
|
||||
return None # pragma: no cover
|
||||
return media.get_os().get_short_id(), _OsMedia(media)
|
||||
|
||||
def guess_os_by_tree(self, location):
|
||||
@ -254,7 +254,7 @@ class _OSDB(object):
|
||||
|
||||
osobj, treeobj = self._os_loader.get_db().guess_os_from_tree(tree)
|
||||
if not osobj:
|
||||
return None
|
||||
return None # pragma: no cover
|
||||
return osobj.get_short_id(), treeobj
|
||||
|
||||
def list_os(self):
|
||||
@ -552,7 +552,10 @@ class _OsVariant(object):
|
||||
|
||||
# Red Hat distros
|
||||
try:
|
||||
version = float(self.version)
|
||||
if re.match(r"[0-9]+-unknown", self.version):
|
||||
version = float(self.version.split("-")[0])
|
||||
else:
|
||||
version = float(self.version)
|
||||
except Exception:
|
||||
# Can hit this for -rawhide or -unknown
|
||||
version = 999
|
||||
@ -589,7 +592,7 @@ class _OsVariant(object):
|
||||
|
||||
def get_install_script_list(self):
|
||||
if not self._os:
|
||||
return []
|
||||
return [] # pragma: no cover
|
||||
return list(_OsinfoIter(self._os.get_install_script_list()))
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user