bootstrap-vz/tests/integration/virtualbox_tests.py

47 lines
1.2 KiB
Python
Raw Normal View History

import tools
2014-11-25 22:45:03 +01:00
from manifests import partials
def test_virtualbox_unpartitioned_extlinux():
2014-11-25 22:45:03 +01:00
import yaml
specific_settings = yaml.load("""
provider:
name: virtualbox
system:
bootloader: extlinux
volume:
backing: vdi
partitions:
type: msdos
2014-11-30 00:33:42 +01:00
""")
2014-11-25 22:45:03 +01:00
manifest = tools.merge_dicts(partials['base'], partials['stable64'],
partials['unpartitioned'], specific_settings)
2014-11-30 00:33:42 +01:00
build_server = tools.pick_build_server(manifest)
manifest['provider']['guest_additions'] = build_server.build_settings['guest_additions']
2014-11-30 00:33:42 +01:00
bootstrap_info = tools.bootstrap(manifest, build_server)
2014-11-30 00:33:42 +01:00
if isinstance(build_server, tools.build_servers.LocalBuildServer):
image_path = bootstrap_info.volume.image_path
else:
import tempfile
handle, image_path = tempfile.mkstemp()
handle.close()
build_server.download(bootstrap_info.volume.image_path, image_path)
build_server.delete(bootstrap_info.volume.image_path)
try:
image = tools.images.VirtualBoxImage(manifest, image_path)
instance = tools.instances.VirtualBoxInstance(image)
instance.create()
instance.boot()
tools.test(instance)
finally:
if 'instance' in locals():
instance.destroy()
if 'image' in locals():
image.destroy()