summary refs log tree commit diff stats
path: root/tests/vm/netbsd
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2017-09-05 10:11:56 +0800
committerFam Zheng <famz@redhat.com>2017-09-22 14:51:42 +0800
commit5cd2b13851ee59be9e439384e0bf11f18784abe5 (patch)
treeff60b897e2672bc78eb25e92c1a54b3ae8e5250e /tests/vm/netbsd
parent111e30c0c4e94d2be2e14ddc306c3c400d340908 (diff)
downloadfocaccia-qemu-5cd2b13851ee59be9e439384e0bf11f18784abe5.tar.gz
focaccia-qemu-5cd2b13851ee59be9e439384e0bf11f18784abe5.zip
tests: Add NetBSD image
The image is prepared following instructions as in:

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

Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Kamil Rytarowski <n54@gmx.com>
Diffstat (limited to 'tests/vm/netbsd')
-rwxr-xr-xtests/vm/netbsd42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/vm/netbsd b/tests/vm/netbsd
new file mode 100755
index 0000000000..3972d8b45c
--- /dev/null
+++ b/tests/vm/netbsd
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+#
+# NetBSD 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 NetBSDVM(basevm.BaseVM):
+    name = "netbsd"
+    BUILD_SCRIPT = """
+        set -e;
+        cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
+        tar -xf /dev/rld1a;
+        ./configure --python=python2.7 {configure_opts};
+        gmake -j{jobs};
+        gmake check;
+    """
+
+    def build_image(self, img):
+        cimg = self._download_with_cache("http://download.patchew.org/netbsd-7.1-amd64.img.xz",
+                                         sha256sum='b633d565b0eac3d02015cd0c81440bd8a7a8df8512615ac1ee05d318be015732')
+        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(NetBSDVM))