qemu-e2k/tests/vm/openbsd
Peter Maydell 44b69d5037 tests/vm: Clean out old working directories on build
When we do a build inside one of the BSD VMs, first
delete any stale old build directories from the VM's
/var/tmp. This prevents the VM from running out of
disk space after it has been used for a dozen or
so builds.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 20180820124811.7982-1-peter.maydell@linaro.org
2018-08-20 17:07:53 +01:00

45 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python
#
# OpenBSD 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 OpenBSDVM(basevm.BaseVM):
name = "openbsd"
BUILD_SCRIPT = """
set -e;
rm -rf /var/tmp/qemu-test.*
cd $(mktemp -d /var/tmp/qemu-test.XXXXXX);
tar -xf /dev/rsd1c;
./configure --cc=x86_64-unknown-openbsd6.1-gcc-4.9.4 --python=python2.7 {configure_opts};
gmake --output-sync -j{jobs} {verbose};
# XXX: "gmake check" seems to always hang or fail
#gmake --output-sync -j{jobs} check {verbose};
"""
def build_image(self, img):
cimg = self._download_with_cache("http://download.patchew.org/openbsd-6.1-amd64.img.xz",
sha256sum='8c6cedc483e602cfee5e04f0406c64eb99138495e8ca580bc0293bcf0640c1bf')
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(OpenBSDVM))