feat: support installed guests and distribution display defaults
This commit is contained in:
+20
-3
@@ -33,9 +33,7 @@ class ProfilesTests(unittest.TestCase):
|
||||
with self.subTest(field=field, value=value), self.assertRaises(ValueError):
|
||||
Profile('guest', self.iso, **{field: value})
|
||||
|
||||
def test_missing_iso_and_duplicate_profile_preserve_existing(self):
|
||||
with self.assertRaises(ValueError):
|
||||
Profile('guest', self.root / 'missing.iso')
|
||||
def test_duplicate_profile_preserves_existing(self):
|
||||
dest = self.root / 'guest.toml'
|
||||
save_profile(dest, Profile('guest', self.iso))
|
||||
original = dest.read_bytes()
|
||||
@@ -43,6 +41,25 @@ class ProfilesTests(unittest.TestCase):
|
||||
save_profile(dest, Profile('guest', self.iso, memory=8192))
|
||||
self.assertEqual(dest.read_bytes(), original)
|
||||
|
||||
def test_disk_only_profile_roundtrips_without_media(self):
|
||||
dest = self.root / 'guest.toml'
|
||||
save_profile(dest, Profile('guest'))
|
||||
self.assertIsNone(load_profile(dest).iso)
|
||||
self.assertNotIn('iso =', dest.read_text())
|
||||
|
||||
def test_missing_media_does_not_block_loading_profile(self):
|
||||
dest = self.root / 'guest.toml'
|
||||
save_profile(dest, Profile('guest', self.iso))
|
||||
self.iso.unlink()
|
||||
self.assertEqual(load_profile(dest).iso, self.iso)
|
||||
|
||||
def test_display_bounds_and_types(self):
|
||||
for field, values in {'width': (0, True, 16385), 'height': (0, '1080', 16385),
|
||||
'refresh_millihz': (-1, True, 1000001)}.items():
|
||||
for value in values:
|
||||
with self.subTest(field=field, value=value), self.assertRaises(ValueError):
|
||||
Profile('guest', self.iso, **{field: value})
|
||||
|
||||
def test_profile_name_must_match_filename(self):
|
||||
path = self.root / 'guest.toml'
|
||||
path.write_text(f'name = "other"\niso = "{self.iso}"\n')
|
||||
|
||||
Reference in New Issue
Block a user