tests: Add FreeBSD image

The image is prepared following instructions as in:

https://wiki.qemu.org/Hosts/BSD

Signed-off-by: Fam Zheng <famz@redhat.com>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Fam Zheng 2017-09-05 10:11:55 +08:00
parent fb15a57032
commit 111e30c0c4
1 changed files with 42 additions and 0 deletions

42
tests/vm/freebsd Executable file
View File

@ -0,0 +1,42 @@
#!/usr/bin/env python
#
# FreeBSD VM image
#
# Copyright 2017 Red Hat Inc.
#
# Authors:
# Fam Zheng <famz@redhat.com>
#
# This code is licensed under the GPL version 2 or later. See
# the COPYING file in the top-level directory.
#
import os
import sys
import subprocess
import basevm
class FreeBSDVM(basevm.BaseVM):
name = "freebsd"
BUILD_SCRIPT = """
set -e;
cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
tar -xf /dev/vtbd1;
./configure {configure_opts};
gmake -j{jobs};
gmake check;
"""
def build_image(self, img):
cimg = self._download_with_cache("http://download.patchew.org/freebsd-11.1-amd64.img.xz",
sha256sum='adcb771549b37bc63826c501f05121a206ed3d9f55f49145908f7e1432d65891')
img_tmp_xz = img + ".tmp.xz"
img_tmp = img + ".tmp"
subprocess.check_call(["cp", "-f", cimg, img_tmp_xz])
subprocess.check_call(["xz", "-df", img_tmp_xz])
if os.path.exists(img):
os.remove(img)
os.rename(img_tmp, img)
if __name__ == "__main__":
sys.exit(basevm.main(FreeBSDVM))