aboutsummaryrefslogtreecommitdiff
path: root/tests/vm/basevm.py
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-05-29 17:41:45 +0100
committerPeter Maydell <peter.maydell@linaro.org>2020-05-29 17:41:45 +0100
commitc86274bc2e34295764fb44c2aef3cf29623f9b4b (patch)
tree3ed80af62364b1952d77428185724cd439f09fcc /tests/vm/basevm.py
parentb8bee16e94df0fcd03bdad9969c30894418b0e6e (diff)
parent919bfbf5d6569b63a374332292cf3d2355a6d6c3 (diff)
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-tcg-plugins-270520-1' into staging
Testing and one plugin fix: - support alternates for genisoimage to test/vm - add clang++ to clang tests - fix record/replay smoke test - enable more softfloat tests - better detection of hung gdb - upgrade aarch64 tcg test x-compile to gcc-10 - fix plugin cpu_index clash vs threads # gpg: Signature made Wed 27 May 2020 14:29:20 BST # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-testing-tcg-plugins-270520-1: tests/tcg: add new threadcount test linux-user: properly "unrealize" vCPU object cpus-common: ensure auto-assigned cpu_indexes don't clash tests/docker: use a gcc-10 based image for arm64 tests tests/docker: add debian11 base image tests/tcg: better detect confused gdb which can't connect tests/fp: split and audit the conversion tests tests/fp: enable extf80_le_quite tests tests/tcg: fix invocation of the memory record/replay tests travis.yml: Use clang++ in the Clang tests tests/vm: pass --genisoimage to basevm script configure: add alternate binary for genisoimage Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/vm/basevm.py')
-rw-r--r--tests/vm/basevm.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 756ccf7aca..a2d4054d72 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -61,8 +61,9 @@ class BaseVM(object):
# 4 is arbitrary, but greater than 2,
# since we found we need to wait more than twice as long.
tcg_ssh_timeout_multiplier = 4
- def __init__(self, debug=False, vcpus=None):
+ def __init__(self, debug=False, vcpus=None, genisoimage=None):
self._guest = None
+ self._genisoimage = genisoimage
self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
suffix=".tmp",
dir="."))
@@ -381,12 +382,12 @@ class BaseVM(object):
udata.writelines(["apt:\n",
" proxy: %s" % proxy])
udata.close()
- subprocess.check_call(["genisoimage", "-output", "cloud-init.iso",
+ subprocess.check_call([self._genisoimage, "-output", "cloud-init.iso",
"-volid", "cidata", "-joliet", "-rock",
"user-data", "meta-data"],
- cwd=cidir,
- stdin=self._devnull, stdout=self._stdout,
- stderr=self._stdout)
+ cwd=cidir,
+ stdin=self._devnull, stdout=self._stdout,
+ stderr=self._stdout)
return os.path.join(cidir, "cloud-init.iso")
@@ -424,6 +425,8 @@ def parse_args(vmcls):
help="Interactively run command")
parser.add_option("--snapshot", "-s", action="store_true",
help="run tests with a snapshot")
+ parser.add_option("--genisoimage", default="genisoimage",
+ help="iso imaging tool")
parser.disable_interspersed_args()
return parser.parse_args()
@@ -435,7 +438,8 @@ def main(vmcls):
return 1
logging.basicConfig(level=(logging.DEBUG if args.debug
else logging.WARN))
- vm = vmcls(debug=args.debug, vcpus=args.jobs)
+ vm = vmcls(debug=args.debug, vcpus=args.jobs,
+ genisoimage=args.genisoimage)
if args.build_image:
if os.path.exists(args.image) and not args.force:
sys.stderr.writelines(["Image file exists: %s\n" % args.image,