aboutsummaryrefslogtreecommitdiff
path: root/tests/vm/netbsd
blob: fac6a7ce51cf7d3930e98c546aa352824241031e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/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"
    arch = "x86_64"
    BUILD_SCRIPT = """
        set -e;
        rm -rf /var/tmp/qemu-test.*
        cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
        tar -xf /dev/rld1a;
        ./configure --python=python2.7 {configure_opts};
        gmake --output-sync -j{jobs} {verbose};
        gmake --output-sync -j{jobs} check {verbose};
    """

    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))