diff options
author | Peter Maydell | 2019-09-27 16:43:41 +0200 |
---|---|---|
committer | Peter Maydell | 2019-09-27 16:43:41 +0200 |
commit | c6f5012ba5fa834cbd5274b1b8369e2c5d2f5933 (patch) | |
tree | 916817555b31f747fc4046728c8c68af157f6965 /tests/docker/docker.py | |
parent | Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20190925' into staging (diff) | |
parent | tests/docker: remove debian-powerpc-user-cross (diff) | |
download | qemu-c6f5012ba5fa834cbd5274b1b8369e2c5d2f5933.tar.gz qemu-c6f5012ba5fa834cbd5274b1b8369e2c5d2f5933.tar.xz qemu-c6f5012ba5fa834cbd5274b1b8369e2c5d2f5933.zip |
Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-next-260919-1' into staging
Testing updates plus alpha FP fixes:
- fix alpha handling of FtoI overflow
- various docker cleanups
- fix docker.py cleanup race
- fix podman invocation
- tests/tcg: add float and record/replay tests
- remove unused docker images
- expand documentation for check-tcg
# gpg: Signature made Thu 26 Sep 2019 19:33:38 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-next-260919-1: (28 commits)
tests/docker: remove debian-powerpc-user-cross
docker: move tests from python2 to python3
docker: remove unused debian-sid
docker: remove unused debian-ports
docker: remove 'deprecated' image definitions
docker: remove unused debian8 partial image
docker: remove debian8-mxe definitions
target/i386: Fix broken build with WHPX enabled
docs/devel: add "check-tcg" to testing.rst
configure: preserve PKG_CONFIG for subdir builds
tests/tcg: add simple record/replay smoke test for aarch64
tests/tcg: add generic version of float_convs
tests/tcg: add float_madds test to multiarch
tests/tcg: re-enable linux-test for ppc64abi32
tests/tcg: clean-up some comments after the de-tangling
podman: fix command invocation
tests/docker: reduce scary warnings by cleaning up clean up
tests/docker: remove python2.7 from debian9-mxe
tests/docker: fix DOCKER_PARTIAL_IMAGES
tests/docker: add sanitizers back to clang build
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/docker/docker.py')
-rwxr-xr-x | tests/docker/docker.py | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 29613afd48..31d8adf836 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -215,7 +215,7 @@ class Docker(object): """ Running Docker commands """ def __init__(self): self._command = _guess_engine_command() - self._instances = [] + self._instance = None atexit.register(self._kill_instances) signal.signal(signal.SIGTERM, self._kill_instances) signal.signal(signal.SIGHUP, self._kill_instances) @@ -234,21 +234,19 @@ class Docker(object): cmd = ["ps", "-q"] if not only_active: cmd.append("-a") + + filter = "--filter=label=com.qemu.instance.uuid" + if only_known: + if self._instance: + filter += "=%s" % (self._instance) + else: + # no point trying to kill, we finished + return + + print("filter=%s" % (filter)) + cmd.append(filter) for i in self._output(cmd).split(): - resp = self._output(["inspect", i]) - labels = json.loads(resp)[0]["Config"]["Labels"] - active = json.loads(resp)[0]["State"]["Running"] - if not labels: - continue - instance_uuid = labels.get("com.qemu.instance.uuid", None) - if not instance_uuid: - continue - if only_known and instance_uuid not in self._instances: - continue - print("Terminating", i) - if active: - self._do(["kill", i]) - self._do(["rm", i]) + self._do(["rm", "-f", i]) def clean(self): self._do_kill_instances(False, False) @@ -325,22 +323,22 @@ class Docker(object): return checksum == _text_checksum(_dockerfile_preprocess(dockerfile)) def run(self, cmd, keep, quiet, as_user=False): - label = uuid.uuid1().hex + label = uuid.uuid4().hex if not keep: - self._instances.append(label) + self._instance = label if as_user: uid = os.getuid() cmd = [ "-u", str(uid) ] + cmd # podman requires a bit more fiddling if self._command[0] == "podman": - argv.insert(0, '--userns=keep-id') + cmd.insert(0, '--userns=keep-id') ret = self._do_check(["run", "--label", "com.qemu.instance.uuid=" + label] + cmd, quiet=quiet) if not keep: - self._instances.remove(label) + self._instance = None return ret def command(self, cmd, argv, quiet): |