All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support
@ 2019-07-13 14:33 Marc-André Lureau
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
                   ` (7 more replies)
  0 siblings, 8 replies; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Hi,

podman allows to run containers in a similar fashion as docker, but
without daemon or root privileges. Thank you podman!

There is a weird issue with getaddrinfo(), that I reported upstream
https://github.com/containers/libpod/issues/3535. For now, it is
worked around with extra socket_check_protocol_support() checks.

thanks

v3:
- add --run-as-current-user, suggest by Paolo
- move podman user tweaks to docker.py
- rebasing

v2:
- add socket_check_protocol_support() to test-char
- keep TAP harness happy when socket_check_protocol_support() fails
- removed bad AI_ADDRCONFIG patch
- rebased

Marc-André Lureau (6):
  docker.py: add --run-as-current-user
  docker.py: add podman support
  tests/docker: add podman support
  tests: specify the address family when checking bind
  test-char: skip tcp tests if ipv4 check failed
  test: skip tests if socket_check_protocol_support() failed

 Makefile                       |  2 +-
 tests/Makefile.include         |  2 +-
 tests/docker/Makefile.include  | 10 +++++--
 tests/docker/docker.py         | 53 ++++++++++++++++++++++++++++++----
 tests/socket-helpers.c         | 17 ++++++++---
 tests/socket-helpers.h         | 11 -------
 tests/test-char.c              | 19 +++++++++---
 tests/test-io-channel-socket.c |  4 ++-
 tests/test-util-sockets.c      |  4 ++-
 9 files changed, 91 insertions(+), 31 deletions(-)

-- 
2.22.0.428.g6d5b264208



^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:57   ` Daniel P. Berrangé
                     ` (2 more replies)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support Marc-André Lureau
                   ` (6 subsequent siblings)
  7 siblings, 3 replies; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Podman will need further tweaks.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/docker/Makefile.include | 2 +-
 tests/docker/docker.py        | 5 +++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index aaf5396b85..f4226b79d0 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -212,7 +212,7 @@ docker-run: docker-qemu-src
 			"  COPYING $(EXECUTABLE) to $(IMAGE)"))
 	$(call quiet-command,						\
 		$(DOCKER_SCRIPT) run 					\
-			$(if $(NOUSER),,-u $(shell id -u)) 		\
+			$(if $(NOUSER),,--run-as-current-user) 		\
 			--security-opt seccomp=unconfined		\
 			$(if $V,,--rm) 					\
 			$(if $(DEBUG),-ti,)				\
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 53a8c9c801..f15545aeea 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -333,8 +333,13 @@ class RunCommand(SubCommand):
     def args(self, parser):
         parser.add_argument("--keep", action="store_true",
                             help="Don't remove image when command completes")
+        parser.add_argument("--run-as-current-user", action="store_true",
+                            help="Run container using the current user's uid")
 
     def run(self, args, argv):
+        if args.run_as_current_user:
+            uid = os.getuid()
+            argv = [ "-u", str(uid) ] + argv
         return Docker().run(argv, args.keep, quiet=args.quiet)
 
 
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:58   ` Daniel P. Berrangé
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Add a --engine option to select either docker, podman or auto.

Among other advantages, podman allows to run rootless & daemonless
containers, fortunately sharing compatible CLI with docker.

With current podman, we have to use a uidmap trick in order to be able
to rw-share the ccache directory with the container user.

With a user 1000, the default mapping is:                                                                                                                                                                         1000 (host) -> 0 (container).
So write access to /var/tmp/ccache ends will end with permission
denied error.

With "--uidmap 1000:0:1 --uidmap 0:1:1000", the mapping is:
1000 (host) -> 0 (container, 1st namespace) -> 1000 (container, 2nd namespace).
(the rest is mumbo jumbo to avoid holes in the range of UIDs)

A future podman version may have an option such as --userns-keep-uid.
Thanks to Debarshi Ray <rishi@redhat.com> for the help!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/docker.py | 48 +++++++++++++++++++++++++++++++++++++-----
 1 file changed, 43 insertions(+), 5 deletions(-)

diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index f15545aeea..ac5baab4ca 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -20,6 +20,7 @@ import hashlib
 import atexit
 import uuid
 import argparse
+import enum
 import tempfile
 import re
 import signal
@@ -38,6 +39,26 @@ FILTERED_ENV_NAMES = ['ftp_proxy', 'http_proxy', 'https_proxy']
 
 DEVNULL = open(os.devnull, 'wb')
 
+class EngineEnum(enum.IntEnum):
+    AUTO = 1
+    DOCKER = 2
+    PODMAN = 3
+
+    def __str__(self):
+        return self.name.lower()
+
+    def __repr__(self):
+        return str(self)
+
+    @staticmethod
+    def argparse(s):
+        try:
+            return EngineEnum[s.upper()]
+        except KeyError:
+            return s
+
+
+USE_ENGINE = EngineEnum.AUTO
 
 def _text_checksum(text):
     """Calculate a digest string unique to the text content"""
@@ -48,9 +69,14 @@ def _file_checksum(filename):
     return _text_checksum(open(filename, 'rb').read())
 
 
-def _guess_docker_command():
-    """ Guess a working docker command or raise exception if not found"""
-    commands = [["docker"], ["sudo", "-n", "docker"]]
+def _guess_engine_command():
+    """ Guess a working engine command or raise exception if not found"""
+    commands = []
+
+    if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.PODMAN]:
+        commands += [["podman"]]
+    if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.DOCKER]:
+        commands += [["docker"], ["sudo", "-n", "docker"]]
     for cmd in commands:
         try:
             # docker version will return the client details in stdout
@@ -61,7 +87,7 @@ def _guess_docker_command():
         except OSError:
             pass
     commands_txt = "\n".join(["  " + " ".join(x) for x in commands])
-    raise Exception("Cannot find working docker command. Tried:\n%s" %
+    raise Exception("Cannot find working engine command. Tried:\n%s" %
                     commands_txt)
 
 
@@ -190,7 +216,7 @@ def _dockerfile_preprocess(df):
 class Docker(object):
     """ Running Docker commands """
     def __init__(self):
-        self._command = _guess_docker_command()
+        self._command = _guess_engine_command()
         self._instances = []
         atexit.register(self._kill_instances)
         signal.signal(signal.SIGTERM, self._kill_instances)
@@ -340,6 +366,11 @@ class RunCommand(SubCommand):
         if args.run_as_current_user:
             uid = os.getuid()
             argv = [ "-u", str(uid) ] + argv
+            docker = Docker()
+            if docker._command[0] == "podman":
+                argv = [ "--uidmap", "%d:0:1" % uid,
+                         "--uidmap", "0:1:%d" % uid,
+                         "--uidmap", "%d:%d:64536" % (uid + 1, uid + 1)] + argv
         return Docker().run(argv, args.keep, quiet=args.quiet)
 
 
@@ -507,6 +538,8 @@ class ProbeCommand(SubCommand):
                 print("yes")
             elif docker._command[0] == "sudo":
                 print("sudo")
+            elif docker._command[0] == "podman":
+                print("podman")
         except Exception:
             print("no")
 
@@ -602,9 +635,13 @@ class CheckCommand(SubCommand):
 
 
 def main():
+    global USE_ENGINE
+
     parser = argparse.ArgumentParser(description="A Docker helper",
                                      usage="%s <subcommand> ..." %
                                      os.path.basename(sys.argv[0]))
+    parser.add_argument("--engine", type=EngineEnum.argparse, choices=list(EngineEnum),
+                        help="specify which container engine to use")
     subparsers = parser.add_subparsers(title="subcommands", help=None)
     for cls in SubCommand.__subclasses__():
         cmd = cls()
@@ -613,6 +650,7 @@ def main():
         cmd.args(subp)
         subp.set_defaults(cmdobj=cmd)
     args, argv = parser.parse_known_args()
+    USE_ENGINE = args.engine
     return args.cmdobj.run(args, argv)
 
 
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 3/6] tests/docker: add podman support
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:46   ` Daniel P. Berrangé
                     ` (2 more replies)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind Marc-André Lureau
                   ` (4 subsequent siblings)
  7 siblings, 3 replies; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Allow to specify the container engine to run with ENGINE variable.

By default, ENGINE=auto and will select either podman or docker.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 Makefile                      | 2 +-
 tests/docker/Makefile.include | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 1fcbaed62c..7863bb0cf5 100644
--- a/Makefile
+++ b/Makefile
@@ -1153,7 +1153,7 @@ endif
 	@echo  ''
 	@echo  'Test targets:'
 	@echo  '  check           - Run all tests (check-help for details)'
-	@echo  '  docker          - Help about targets running tests inside Docker containers'
+	@echo  '  docker          - Help about targets running tests inside containers'
 	@echo  '  vm-help         - Help about targets running tests inside VM'
 	@echo  ''
 	@echo  'Documentation targets:'
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index f4226b79d0..3c1aec862a 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -17,7 +17,9 @@ DOCKER_TESTS := $(notdir $(shell \
 
 DOCKER_TOOLS := travis
 
-DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py
+ENGINE := auto
+
+DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE)
 
 TESTS ?= %
 IMAGES ?= %
@@ -146,7 +148,7 @@ $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPR
 )
 
 docker:
-	@echo 'Build QEMU and run tests inside Docker containers'
+	@echo 'Build QEMU and run tests inside Docker or Podman containers'
 	@echo
 	@echo 'Available targets:'
 	@echo
@@ -193,6 +195,8 @@ endif
 	@echo '    EXECUTABLE=<path>    Include executable in image.'
 	@echo '    EXTRA_FILES="<path> [... <path>]"'
 	@echo '                         Include extra files in image.'
+	@echo '    ENGINE=auto/docker/podman'
+	@echo '                         Specify which container engine to run.'
 
 # This rule if for directly running against an arbitrary docker target.
 # It is called by the expanded docker targets (e.g. make
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
                   ` (2 preceding siblings ...)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:37   ` Daniel P. Berrangé
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed Marc-André Lureau
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

getaddrinfo() may succeed with PF_UNSPEC, but fail when more specific.

(this allows to skip some tests that would fail under podman)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/socket-helpers.c | 17 +++++++++++++----
 tests/socket-helpers.h | 11 -----------
 2 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/tests/socket-helpers.c b/tests/socket-helpers.c
index 8112763f5b..19a51e887e 100644
--- a/tests/socket-helpers.c
+++ b/tests/socket-helpers.c
@@ -30,7 +30,16 @@
 # define EAI_ADDRFAMILY 0
 #endif
 
-int socket_can_bind_connect(const char *hostname)
+/*
+ * @hostname: a DNS name or numeric IP address
+ *
+ * Check whether it is possible to bind & connect to ports
+ * on the DNS name or IP address @hostname. If an IP address
+ * is used, it must not be a wildcard address.
+ *
+ * Returns 0 on success, -1 on error with errno set
+ */
+static int socket_can_bind_connect(const char *hostname, int family)
 {
     int lfd = -1, cfd = -1, afd = -1;
     struct addrinfo ai, *res = NULL;
@@ -44,7 +53,7 @@ int socket_can_bind_connect(const char *hostname)
 
     memset(&ai, 0, sizeof(ai));
     ai.ai_flags = AI_CANONNAME | AI_ADDRCONFIG;
-    ai.ai_family = AF_UNSPEC;
+    ai.ai_family = family;
     ai.ai_socktype = SOCK_STREAM;
 
     /* lookup */
@@ -129,7 +138,7 @@ int socket_check_protocol_support(bool *has_ipv4, bool *has_ipv6)
 {
     *has_ipv4 = *has_ipv6 = false;
 
-    if (socket_can_bind_connect("127.0.0.1") < 0) {
+    if (socket_can_bind_connect("127.0.0.1", PF_INET) < 0) {
         if (errno != EADDRNOTAVAIL) {
             return -1;
         }
@@ -137,7 +146,7 @@ int socket_check_protocol_support(bool *has_ipv4, bool *has_ipv6)
         *has_ipv4 = true;
     }
 
-    if (socket_can_bind_connect("::1") < 0) {
+    if (socket_can_bind_connect("::1", PF_INET6) < 0) {
         if (errno != EADDRNOTAVAIL) {
             return -1;
         }
diff --git a/tests/socket-helpers.h b/tests/socket-helpers.h
index 9de0e6b151..512a004811 100644
--- a/tests/socket-helpers.h
+++ b/tests/socket-helpers.h
@@ -20,17 +20,6 @@
 #ifndef TESTS_SOCKET_HELPERS_H
 #define TESTS_SOCKET_HELPERS_H
 
-/*
- * @hostname: a DNS name or numeric IP address
- *
- * Check whether it is possible to bind & connect to ports
- * on the DNS name or IP address @hostname. If an IP address
- * is used, it must not be a wildcard address.
- *
- * Returns 0 on success, -1 on error with errno set
- */
-int socket_can_bind_connect(const char *hostname);
-
 /*
  * @has_ipv4: set to true on return if IPv4 is available
  * @has_ipv6: set to true on return if IPv6 is available
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
                   ` (3 preceding siblings ...)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:38   ` Daniel P. Berrangé
  2019-07-15 16:45   ` Philippe Mathieu-Daudé
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed Marc-André Lureau
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/Makefile.include |  2 +-
 tests/test-char.c      | 17 +++++++++++++----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/tests/Makefile.include b/tests/Makefile.include
index a983dd32da..2bddebaf4b 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -523,7 +523,7 @@ tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
 tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
 tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)
 
-tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y)
+tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y) tests/socket-helpers.o
 tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
 tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
 tests/test-aio-multithread$(EXESUF): tests/test-aio-multithread.o $(test-block-obj-y)
diff --git a/tests/test-char.c b/tests/test-char.c
index f9440cdcfd..2dde620afc 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -15,6 +15,7 @@
 #include "io/channel-socket.h"
 #include "qapi/qobject-input-visitor.h"
 #include "qapi/qapi-visit-sockets.h"
+#include "socket-helpers.h"
 
 static bool quit;
 
@@ -1356,11 +1357,17 @@ static void char_hotswap_test(void)
 
 int main(int argc, char **argv)
 {
+    bool has_ipv4, has_ipv6;
+
     qemu_init_main_loop(&error_abort);
     socket_init();
 
     g_test_init(&argc, &argv, NULL);
 
+    if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
+        return -1;
+    }
+
     module_call_init(MODULE_INIT_QOM);
     qemu_add_opts(&qemu_chardev_opts);
 
@@ -1438,10 +1445,12 @@ int main(int argc, char **argv)
     g_test_add_data_func("/char/socket/client/wait-conn-fdpass/" # name, \
                          &client6 ##name, char_socket_client_test)
 
-    SOCKET_SERVER_TEST(tcp, &tcpaddr);
-    SOCKET_CLIENT_TEST(tcp, &tcpaddr);
-    g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
-                         char_socket_server_two_clients_test);
+    if (has_ipv4) {
+        SOCKET_SERVER_TEST(tcp, &tcpaddr);
+        SOCKET_CLIENT_TEST(tcp, &tcpaddr);
+        g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
+                             char_socket_server_two_clients_test);
+    }
 #ifndef WIN32
     SOCKET_SERVER_TEST(unix, &unixaddr);
     SOCKET_CLIENT_TEST(unix, &unixaddr);
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
                   ` (4 preceding siblings ...)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed Marc-André Lureau
@ 2019-07-13 14:33 ` Marc-André Lureau
  2019-07-15  9:40   ` Daniel P. Berrangé
  2019-07-14  3:20 ` [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support no-reply
  2019-09-05 16:15 ` David Hildenbrand
  7 siblings, 1 reply; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-13 14:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, berrange, Philippe Mathieu-Daudé,
	Gerd Hoffmann, Marc-André Lureau, pbonzini,
	Alex Bennée

Skip the tests if socket_check_protocol_support() failed, but do run
g_test_run() to keep TAP harness happy.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/test-char.c              | 4 +++-
 tests/test-io-channel-socket.c | 4 +++-
 tests/test-util-sockets.c      | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/tests/test-char.c b/tests/test-char.c
index 2dde620afc..b56e43c1eb 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -1365,7 +1365,8 @@ int main(int argc, char **argv)
     g_test_init(&argc, &argv, NULL);
 
     if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
-        return -1;
+        g_printerr("socket_check_protocol_support() failed\n");
+        goto end;
     }
 
     module_call_init(MODULE_INIT_QOM);
@@ -1465,5 +1466,6 @@ int main(int argc, char **argv)
     g_test_add_func("/char/hotswap", char_hotswap_test);
     g_test_add_func("/char/websocket", char_websock_test);
 
+end:
     return g_test_run();
 }
diff --git a/tests/test-io-channel-socket.c b/tests/test-io-channel-socket.c
index d2053c464c..d172f3070f 100644
--- a/tests/test-io-channel-socket.c
+++ b/tests/test-io-channel-socket.c
@@ -566,7 +566,8 @@ int main(int argc, char **argv)
      * with either IPv4 or IPv6 disabled.
      */
     if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
-        return 1;
+        g_printerr("socket_check_protocol_support() failed\n");
+        goto end;
     }
 
     if (has_ipv4) {
@@ -595,5 +596,6 @@ int main(int argc, char **argv)
                     test_io_channel_unix_listen_cleanup);
 #endif /* _WIN32 */
 
+end:
     return g_test_run();
 }
diff --git a/tests/test-util-sockets.c b/tests/test-util-sockets.c
index f1ebffee5a..e2a3a8a093 100644
--- a/tests/test-util-sockets.c
+++ b/tests/test-util-sockets.c
@@ -242,7 +242,8 @@ int main(int argc, char **argv)
      * with either IPv4 or IPv6 disabled.
      */
     if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
-        return 1;
+        g_printerr("socket_check_protocol_support() failed\n");
+        goto end;
     }
 
     if (has_ipv4) {
@@ -264,5 +265,6 @@ int main(int argc, char **argv)
                         test_socket_fd_pass_num_nocli);
     }
 
+end:
     return g_test_run();
 }
-- 
2.22.0.428.g6d5b264208



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
                   ` (5 preceding siblings ...)
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed Marc-André Lureau
@ 2019-07-14  3:20 ` no-reply
  2019-09-05 16:15 ` David Hildenbrand
  7 siblings, 0 replies; 26+ messages in thread
From: no-reply @ 2019-07-14  3:20 UTC (permalink / raw)
  To: marcandre.lureau
  Cc: fam, berrange, alex.bennee, qemu-devel, kraxel, pbonzini,
	marcandre.lureau, philmd

Patchew URL: https://patchew.org/QEMU/20190713143311.17620-1-marcandre.lureau@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
make docker-image-fedora V=1 NETWORK=1
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

PASS 10 check-block-qdict /public/crumple/bad_inputs
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  tests/test-char -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-char" 
=================================================================
==7752==ERROR: AddressSanitizer: stack-use-after-scope on address 0x7fffabaeef50 at pc 0x565175f38de6 bp 0x7fffabaee590 sp 0x7fffabaee588
READ of size 8 at 0x7fffabaeef50 thread T0
PASS 1 test-char /char/null
PASS 2 test-char /char/invalid
---
  Right alloca redzone:    cb
  Shadow gap:              cc
==7752==ABORTING
ERROR - too few tests run (expected 34, got 12)
make: *** [/tmp/qemu-test/src/tests/Makefile.include:902: check-unit] Error 1
make: *** Waiting for unfinished jobs....
PASS 1 endianness-test /x86_64/endianness/pc
---
PASS 1 fdc-test /x86_64/fdc/cmos
PASS 2 fdc-test /x86_64/fdc/no_media_on_start
PASS 3 fdc-test /x86_64/fdc/read_without_media
==7780==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 fdc-test /x86_64/fdc/media_change
PASS 5 fdc-test /x86_64/fdc/sense_interrupt
PASS 6 fdc-test /x86_64/fdc/relative_seek
---
PASS 12 fdc-test /x86_64/fdc/read_no_dma_19
PASS 13 fdc-test /x86_64/fdc/fuzz-registers
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/ide-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ide-test" 
==7791==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 ide-test /x86_64/ide/identify
==7797==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 ide-test /x86_64/ide/flush
==7803==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 ide-test /x86_64/ide/bmdma/simple_rw
==7809==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 ide-test /x86_64/ide/bmdma/trim
==7815==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 ide-test /x86_64/ide/bmdma/short_prdt
==7821==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 ide-test /x86_64/ide/bmdma/one_sector_short_prdt
==7827==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 ide-test /x86_64/ide/bmdma/long_prdt
==7833==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7833==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fff1f263000; bottom 0x7f44e5176000; size: 0x00ba3a0ed000 (799837966336)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 8 ide-test /x86_64/ide/bmdma/no_busmaster
PASS 9 ide-test /x86_64/ide/flush/nodev
==7845==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 10 ide-test /x86_64/ide/flush/empty_drive
==7850==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 11 ide-test /x86_64/ide/flush/retry_pci
==7856==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 12 ide-test /x86_64/ide/flush/retry_isa
==7862==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 13 ide-test /x86_64/ide/cdrom/pio
==7868==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 14 ide-test /x86_64/ide/cdrom/pio_large
==7874==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 15 ide-test /x86_64/ide/cdrom/dma
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/ahci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="ahci-test" 
==7888==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 ahci-test /x86_64/ahci/sanity
==7894==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 ahci-test /x86_64/ahci/pci_spec
==7900==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 ahci-test /x86_64/ahci/pci_enable
==7906==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 ahci-test /x86_64/ahci/hba_spec
==7912==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 ahci-test /x86_64/ahci/hba_enable
==7918==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 ahci-test /x86_64/ahci/identify
==7924==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 ahci-test /x86_64/ahci/max
==7930==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 ahci-test /x86_64/ahci/reset
==7936==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7936==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe8ae47000; bottom 0x7f6be9dfe000; size: 0x0092a1049000 (629766656000)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 9 ahci-test /x86_64/ahci/io/pio/lba28/simple/zero
==7942==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7942==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdbba85000; bottom 0x7f46fcdfe000; size: 0x00b6bec87000 (784884854784)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 10 ahci-test /x86_64/ahci/io/pio/lba28/simple/low
==7948==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7948==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffce616b000; bottom 0x7fbc653fe000; size: 0x004080d6d000 (277039468544)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 11 ahci-test /x86_64/ahci/io/pio/lba28/simple/high
==7954==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7954==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd222ba000; bottom 0x7fe6071fe000; size: 0x00171b0bc000 (99238002688)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 12 ahci-test /x86_64/ahci/io/pio/lba28/double/zero
==7960==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7960==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd9ee70000; bottom 0x7f5115ffe000; size: 0x00ac88e72000 (741031223296)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 13 ahci-test /x86_64/ahci/io/pio/lba28/double/low
==7966==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7966==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdb6532000; bottom 0x7fbc10dfe000; size: 0x0041a5734000 (281948667904)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 14 ahci-test /x86_64/ahci/io/pio/lba28/double/high
==7972==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7972==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd0d08c000; bottom 0x7f9d019fe000; size: 0x00600b68e000 (412508282880)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 15 ahci-test /x86_64/ahci/io/pio/lba28/long/zero
==7978==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7978==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffdde2be000; bottom 0x7fe4949fe000; size: 0x0019498c0000 (108608094208)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 16 ahci-test /x86_64/ahci/io/pio/lba28/long/low
==7984==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==7984==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffea47da000; bottom 0x7fe04ebfe000; size: 0x001e55bdc000 (130287517696)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 17 ahci-test /x86_64/ahci/io/pio/lba28/long/high
==7990==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 18 ahci-test /x86_64/ahci/io/pio/lba28/short/zero
==7996==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 19 ahci-test /x86_64/ahci/io/pio/lba28/short/low
==8002==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 20 ahci-test /x86_64/ahci/io/pio/lba28/short/high
==8008==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8008==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffc9c48d000; bottom 0x7fd84ddfe000; size: 0x00244e68f000 (155934322688)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 21 ahci-test /x86_64/ahci/io/pio/lba48/simple/zero
==8014==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8014==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffea3705000; bottom 0x7faeec1fe000; size: 0x004fb7507000 (342377918464)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 22 ahci-test /x86_64/ahci/io/pio/lba48/simple/low
==8020==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8020==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd75aa8000; bottom 0x7f66069fe000; size: 0x00976f0aa000 (650403028992)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 23 ahci-test /x86_64/ahci/io/pio/lba48/simple/high
==8026==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8026==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffde3632000; bottom 0x7f0db73fe000; size: 0x00f02c234000 (1031532658688)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 24 ahci-test /x86_64/ahci/io/pio/lba48/double/zero
==8032==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8032==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffcce397000; bottom 0x7f44769fe000; size: 0x00b857999000 (791743664128)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 25 ahci-test /x86_64/ahci/io/pio/lba48/double/low
==8038==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8038==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe24682000; bottom 0x7fa2dcdfe000; size: 0x005b47884000 (392042135552)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 26 ahci-test /x86_64/ahci/io/pio/lba48/double/high
==8044==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8044==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7fffe30db000; bottom 0x7fc5a8b7c000; size: 0x003a3a55f000 (250086813696)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 27 ahci-test /x86_64/ahci/io/pio/lba48/long/zero
==8050==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8050==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffe3a080000; bottom 0x7fb16d77c000; size: 0x004ccc904000 (329849520128)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 28 ahci-test /x86_64/ahci/io/pio/lba48/long/low
==8056==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8056==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd40900000; bottom 0x7ff5ccdfe000; size: 0x000773b02000 (32005693440)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 29 ahci-test /x86_64/ahci/io/pio/lba48/long/high
==8062==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 30 ahci-test /x86_64/ahci/io/pio/lba48/short/zero
==8068==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 31 ahci-test /x86_64/ahci/io/pio/lba48/short/low
==8074==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 32 ahci-test /x86_64/ahci/io/pio/lba48/short/high
==8080==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 33 ahci-test /x86_64/ahci/io/dma/lba28/fragmented
==8086==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 34 ahci-test /x86_64/ahci/io/dma/lba28/retry
==8092==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 35 ahci-test /x86_64/ahci/io/dma/lba28/simple/zero
==8098==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 36 ahci-test /x86_64/ahci/io/dma/lba28/simple/low
==8104==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 37 ahci-test /x86_64/ahci/io/dma/lba28/simple/high
==8110==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 38 ahci-test /x86_64/ahci/io/dma/lba28/double/zero
==8116==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 39 ahci-test /x86_64/ahci/io/dma/lba28/double/low
==8122==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 40 ahci-test /x86_64/ahci/io/dma/lba28/double/high
==8128==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 41 ahci-test /x86_64/ahci/io/dma/lba28/long/zero
==8134==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 42 ahci-test /x86_64/ahci/io/dma/lba28/long/low
==8140==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 43 ahci-test /x86_64/ahci/io/dma/lba28/long/high
==8146==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 44 ahci-test /x86_64/ahci/io/dma/lba28/short/zero
==8152==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 45 ahci-test /x86_64/ahci/io/dma/lba28/short/low
==8158==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 46 ahci-test /x86_64/ahci/io/dma/lba28/short/high
==8164==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 47 ahci-test /x86_64/ahci/io/dma/lba48/simple/zero
==8170==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 48 ahci-test /x86_64/ahci/io/dma/lba48/simple/low
==8176==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 49 ahci-test /x86_64/ahci/io/dma/lba48/simple/high
==8182==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 50 ahci-test /x86_64/ahci/io/dma/lba48/double/zero
==8188==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 51 ahci-test /x86_64/ahci/io/dma/lba48/double/low
==8194==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 52 ahci-test /x86_64/ahci/io/dma/lba48/double/high
==8201==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 53 ahci-test /x86_64/ahci/io/dma/lba48/long/zero
==8207==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 54 ahci-test /x86_64/ahci/io/dma/lba48/long/low
==8213==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 55 ahci-test /x86_64/ahci/io/dma/lba48/long/high
==8219==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 56 ahci-test /x86_64/ahci/io/dma/lba48/short/zero
==8225==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 57 ahci-test /x86_64/ahci/io/dma/lba48/short/low
==8231==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 58 ahci-test /x86_64/ahci/io/dma/lba48/short/high
==8237==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 59 ahci-test /x86_64/ahci/io/ncq/simple
==8243==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 60 ahci-test /x86_64/ahci/io/ncq/retry
==8249==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 61 ahci-test /x86_64/ahci/flush/simple
==8255==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 62 ahci-test /x86_64/ahci/flush/retry
==8261==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8266==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 63 ahci-test /x86_64/ahci/flush/migrate
==8275==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8280==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 64 ahci-test /x86_64/ahci/migrate/sanity
==8289==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8294==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 65 ahci-test /x86_64/ahci/migrate/dma/simple
==8304==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8309==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 66 ahci-test /x86_64/ahci/migrate/dma/halted
==8318==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8323==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 67 ahci-test /x86_64/ahci/migrate/ncq/simple
==8332==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8337==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 68 ahci-test /x86_64/ahci/migrate/ncq/halted
==8346==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 69 ahci-test /x86_64/ahci/cdrom/eject
==8351==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 70 ahci-test /x86_64/ahci/cdrom/dma/single
==8357==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 71 ahci-test /x86_64/ahci/cdrom/dma/multi
==8363==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 72 ahci-test /x86_64/ahci/cdrom/pio/single
==8369==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
==8369==WARNING: ASan is ignoring requested __asan_handle_no_return: stack top: 0x7ffd119c3000; bottom 0x7f4e03bfe000; size: 0x00af0ddc5000 (751851819008)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
PASS 73 ahci-test /x86_64/ahci/cdrom/pio/multi
==8375==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 74 ahci-test /x86_64/ahci/cdrom/pio/bcl
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/hd-geo-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="hd-geo-test" 
PASS 1 hd-geo-test /x86_64/hd-geo/ide/none
==8389==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 hd-geo-test /x86_64/hd-geo/ide/drive/cd_0
==8395==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/blank
==8401==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/lba
==8407==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 hd-geo-test /x86_64/hd-geo/ide/drive/mbr/chs
==8413==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 hd-geo-test /x86_64/hd-geo/ide/device/mbr/blank
==8419==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 hd-geo-test /x86_64/hd-geo/ide/device/mbr/lba
==8425==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 hd-geo-test /x86_64/hd-geo/ide/device/mbr/chs
==8431==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 9 hd-geo-test /x86_64/hd-geo/ide/device/user/chs
==8436==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 10 hd-geo-test /x86_64/hd-geo/ide/device/user/chst
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/boot-order-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-order-test" 
PASS 1 boot-order-test /x86_64/boot-order/pc
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8504==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 bios-tables-test /x86_64/acpi/piix4
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8510==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 bios-tables-test /x86_64/acpi/q35
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8516==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 bios-tables-test /x86_64/acpi/piix4/bridge
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8522==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 bios-tables-test /x86_64/acpi/piix4/ipmi
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8528==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 5 bios-tables-test /x86_64/acpi/piix4/cpuhp
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8535==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 bios-tables-test /x86_64/acpi/piix4/memhp
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8541==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 bios-tables-test /x86_64/acpi/piix4/numamem
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8547==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 bios-tables-test /x86_64/acpi/piix4/dimmpxm
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8556==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 9 bios-tables-test /x86_64/acpi/q35/bridge
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8562==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 10 bios-tables-test /x86_64/acpi/q35/mmio64
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8568==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 11 bios-tables-test /x86_64/acpi/q35/ipmi
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8574==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 12 bios-tables-test /x86_64/acpi/q35/cpuhp
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8581==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 13 bios-tables-test /x86_64/acpi/q35/memhp
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8587==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 14 bios-tables-test /x86_64/acpi/q35/numamem
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==8593==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 15 bios-tables-test /x86_64/acpi/q35/dimmpxm
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/boot-serial-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="boot-serial-test" 
PASS 1 boot-serial-test /x86_64/boot-serial/isapc
---
PASS 1 i440fx-test /x86_64/i440fx/defaults
PASS 2 i440fx-test /x86_64/i440fx/pam
PASS 3 i440fx-test /x86_64/i440fx/firmware/bios
==8677==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 i440fx-test /x86_64/i440fx/firmware/pflash
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/fw_cfg-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="fw_cfg-test" 
PASS 1 fw_cfg-test /x86_64/fw_cfg/signature
---
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/drive_del-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="drive_del-test" 
PASS 1 drive_del-test /x86_64/drive_del/without-dev
PASS 2 drive_del-test /x86_64/drive_del/after_failed_device_add
==8765==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 drive_del-test /x86_64/blockdev/drive_del_device_del
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/wdt_ib700-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="wdt_ib700-test" 
PASS 1 wdt_ib700-test /x86_64/wdt_ib700/pause
---
PASS 1 usb-hcd-uhci-test /x86_64/uhci/pci/init
PASS 2 usb-hcd-uhci-test /x86_64/uhci/pci/port1
PASS 3 usb-hcd-uhci-test /x86_64/uhci/pci/hotplug
==8960==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 usb-hcd-uhci-test /x86_64/uhci/pci/hotplug/usb-storage
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/usb-hcd-xhci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="usb-hcd-xhci-test" 
PASS 1 usb-hcd-xhci-test /x86_64/xhci/pci/init
PASS 2 usb-hcd-xhci-test /x86_64/xhci/pci/hotplug
==8969==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 usb-hcd-xhci-test /x86_64/xhci/pci/hotplug/usb-uas
PASS 4 usb-hcd-xhci-test /x86_64/xhci/pci/hotplug/usb-ccid
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/cpu-plug-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="cpu-plug-test" 
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9075==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 1 vmgenid-test /x86_64/vmgenid/vmgenid/set-guid
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9081==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 vmgenid-test /x86_64/vmgenid/vmgenid/set-guid-auto
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9087==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 vmgenid-test /x86_64/vmgenid/vmgenid/query-monitor
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/tpm-crb-swtpm-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="tpm-crb-swtpm-test" 
SKIP 1 tpm-crb-swtpm-test /x86_64/tpm/crb-swtpm/test # SKIP swtpm not in PATH or missing --tpm2 support
---
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9192==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9197==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 3 migration-test /x86_64/migration/fd_proto
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9205==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9210==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 4 migration-test /x86_64/migration/postcopy/unix
PASS 5 migration-test /x86_64/migration/postcopy/recovery
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9240==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9245==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 6 migration-test /x86_64/migration/precopy/unix
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9254==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9259==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 7 migration-test /x86_64/migration/precopy/tcp
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9268==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
==9273==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 8 migration-test /x86_64/migration/xbzrle/unix
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/test-x86-cpuid-compat -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="test-x86-cpuid-compat" 
PASS 1 test-x86-cpuid-compat /x86/cpuid/parsing-plus-minus
---
PASS 6 numa-test /x86_64/numa/pc/dynamic/cpu
MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}  QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 QTEST_QEMU_IMG=qemu-img tests/qmp-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl --test-name="qmp-test" 
PASS 1 qmp-test /x86_64/qmp/protocol
==9602==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 2 qmp-test /x86_64/qmp/oob
PASS 3 qmp-test /x86_64/qmp/preconfig
PASS 4 qmp-test /x86_64/qmp/missing-any-arg
---
PASS 6 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/sdhci-pci/sdhci/sdhci-tests/registers
PASS 7 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/tpci200/ipack/ipoctal232/ipoctal232-tests/nop
PASS 8 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/tpci200/pci-device/pci-device-tests/nop
==10011==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 9 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-9p-pci/pci-device/pci-device-tests/nop
PASS 10 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-9p-pci/virtio/virtio-tests/nop
PASS 11 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/config
---
PASS 20 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-9p-pci/virtio-9p/virtio-9p-tests/fs/flush/ignored
PASS 21 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-balloon-pci/pci-device/pci-device-tests/nop
PASS 22 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-balloon-pci/virtio/virtio-tests/nop
==10024==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 23 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/indirect
==10031==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 24 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/config
==10038==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 25 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/basic
==10045==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 26 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk/virtio-blk-tests/resize
==10052==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 27 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk-pci-tests/msix
==10059==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 28 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk-pci-tests/idx
==10066==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 29 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk-pci-tests/nxvirtq
==10073==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 30 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-blk-pci/virtio-blk-pci-tests/hotplug
PASS 31 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-net-pci/virtio-net/virtio-net-tests/basic
PASS 32 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-net-pci/virtio-net/virtio-net-tests/rx_stop_cont
---
PASS 40 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-rng-pci/pci-device/pci-device-tests/nop
PASS 41 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-rng-pci/virtio/virtio-tests/nop
PASS 42 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-rng-pci/virtio-rng-pci-tests/hotplug
==10184==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 43 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-scsi-pci/pci-device/pci-device-tests/nop
==10190==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 44 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-scsi-pci/virtio-scsi/virtio-scsi-tests/hotplug
==10196==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 45 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-scsi-pci/virtio-scsi/virtio-scsi-tests/unaligned-write-same
==10202==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 46 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-scsi-pci/virtio-scsi-pci-tests/iothread-attach-node
PASS 47 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-serial-pci/pci-device/pci-device-tests/nop
PASS 48 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/virtio-serial-pci/virtio/virtio-tests/nop
---
PASS 67 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/i82562/pci-device/pci-device-tests/nop
PASS 68 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/i82801/pci-device/pci-device-tests/nop
PASS 69 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/ES1370/pci-device/pci-device-tests/nop
==10347==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 70 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/megasas/pci-device/pci-device-tests/nop
PASS 71 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/megasas/megasas-tests/dcmd/pd-get-info/fuzz
PASS 72 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/ne2k_pci/pci-device/pci-device-tests/nop
PASS 73 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/nvme/pci-device/pci-device-tests/nop
==10359==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 74 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/nvme/nvme-tests/oob-cmb-access
==10365==WARNING: ASan doesn't fully support makecontext/swapcontext functions and may produce false positives in some cases!
PASS 75 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/pcnet/pci-device/pci-device-tests/nop
PASS 76 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/pci-ohci/pci-device/pci-device-tests/nop
PASS 77 qos-test /x86_64/pc/i440FX-pcihost/pci-bus-pc/pci-bus/pci-ohci/pci-ohci-tests/ohci_pci-test-hotplug


The full log is available at
http://patchew.org/logs/20190713143311.17620-1-marcandre.lureau@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind Marc-André Lureau
@ 2019-07-15  9:37   ` Daniel P. Berrangé
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:37 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On Sat, Jul 13, 2019 at 06:33:09PM +0400, Marc-André Lureau wrote:
> getaddrinfo() may succeed with PF_UNSPEC, but fail when more specific.
> 
> (this allows to skip some tests that would fail under podman)
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/socket-helpers.c | 17 +++++++++++++----
>  tests/socket-helpers.h | 11 -----------
>  2 files changed, 13 insertions(+), 15 deletions(-)

I'm trying to think of why I would have picked AF_UNSPEC in the
first place, and can't find a reason, so

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed Marc-André Lureau
@ 2019-07-15  9:38   ` Daniel P. Berrangé
  2019-07-15 16:45   ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:38 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On Sat, Jul 13, 2019 at 06:33:10PM +0400, Marc-André Lureau wrote:
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/Makefile.include |  2 +-
>  tests/test-char.c      | 17 +++++++++++++----
>  2 files changed, 14 insertions(+), 5 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed Marc-André Lureau
@ 2019-07-15  9:40   ` Daniel P. Berrangé
  2019-07-15 10:25     ` Marc-André Lureau
  0 siblings, 1 reply; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:40 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On Sat, Jul 13, 2019 at 06:33:11PM +0400, Marc-André Lureau wrote:
> Skip the tests if socket_check_protocol_support() failed, but do run
> g_test_run() to keep TAP harness happy.

Did you actually find a scenario in which it failed, or is this just
doing the change for the sake of strict correctness ?

In any case

  Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 3/6] tests/docker: add podman support
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
@ 2019-07-15  9:46   ` Daniel P. Berrangé
  2019-07-15 14:39   ` Alex Bennée
  2019-08-23 12:26   ` Markus Armbruster
  2 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:46 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Philippe Mathieu-Daudé,
	qemu-devel, Gerd Hoffmann, pbonzini, Alex Bennée

On Sat, Jul 13, 2019 at 06:33:08PM +0400, Marc-André Lureau wrote:
> Allow to specify the container engine to run with ENGINE variable.
> 
> By default, ENGINE=auto and will select either podman or docker.
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  Makefile                      | 2 +-
>  tests/docker/Makefile.include | 8 ++++++--
>  2 files changed, 7 insertions(+), 3 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> 
> diff --git a/Makefile b/Makefile
> index 1fcbaed62c..7863bb0cf5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1153,7 +1153,7 @@ endif
>  	@echo  ''
>  	@echo  'Test targets:'
>  	@echo  '  check           - Run all tests (check-help for details)'
> -	@echo  '  docker          - Help about targets running tests inside Docker containers'
> +	@echo  '  docker          - Help about targets running tests inside containers'
>  	@echo  '  vm-help         - Help about targets running tests inside VM'
>  	@echo  ''
>  	@echo  'Documentation targets:'

I guess the target could be renamed to "cont" to parallel with "vm"
name too - fact either either "cont-help" and "vm-help" for both
or justr "cont" and "vm" for both,

Doesn't need to be done in this commit though.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
@ 2019-07-15  9:57   ` Daniel P. Berrangé
  2019-07-15 14:38   ` Alex Bennée
  2019-07-15 16:43   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:57 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On Sat, Jul 13, 2019 at 06:33:06PM +0400, Marc-André Lureau wrote:
> Podman will need further tweaks.
> 
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/Makefile.include | 2 +-
>  tests/docker/docker.py        | 5 +++++
>  2 files changed, 6 insertions(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support Marc-André Lureau
@ 2019-07-15  9:58   ` Daniel P. Berrangé
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15  9:58 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On Sat, Jul 13, 2019 at 06:33:07PM +0400, Marc-André Lureau wrote:
> Add a --engine option to select either docker, podman or auto.
> 
> Among other advantages, podman allows to run rootless & daemonless
> containers, fortunately sharing compatible CLI with docker.
> 
> With current podman, we have to use a uidmap trick in order to be able
> to rw-share the ccache directory with the container user.
> 
> With a user 1000, the default mapping is:                                                                                                                                                                         1000 (host) -> 0 (container).
> So write access to /var/tmp/ccache ends will end with permission
> denied error.
> 
> With "--uidmap 1000:0:1 --uidmap 0:1:1000", the mapping is:
> 1000 (host) -> 0 (container, 1st namespace) -> 1000 (container, 2nd namespace).
> (the rest is mumbo jumbo to avoid holes in the range of UIDs)
> 
> A future podman version may have an option such as --userns-keep-uid.
> Thanks to Debarshi Ray <rishi@redhat.com> for the help!
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Acked-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  tests/docker/docker.py | 48 +++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 43 insertions(+), 5 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed
  2019-07-15  9:40   ` Daniel P. Berrangé
@ 2019-07-15 10:25     ` Marc-André Lureau
  2019-07-15 10:29       ` Daniel P. Berrangé
  0 siblings, 1 reply; 26+ messages in thread
From: Marc-André Lureau @ 2019-07-15 10:25 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, Bonzini,
	Paolo, Philippe Mathieu-Daudé

Hi

On Mon, Jul 15, 2019 at 1:40 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Sat, Jul 13, 2019 at 06:33:11PM +0400, Marc-André Lureau wrote:
> > Skip the tests if socket_check_protocol_support() failed, but do run
> > g_test_run() to keep TAP harness happy.
>
> Did you actually find a scenario in which it failed, or is this just
> doing the change for the sake of strict correctness ?

It fails under podman atm (https://github.com/containers/libpod/issues/3535)

>
> In any case
>
>   Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>

thanks

>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed
  2019-07-15 10:25     ` Marc-André Lureau
@ 2019-07-15 10:29       ` Daniel P. Berrangé
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-15 10:29 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, Alex Bennée, qemu-devel, Gerd Hoffmann, Bonzini,
	Paolo, Philippe Mathieu-Daudé

On Mon, Jul 15, 2019 at 02:25:03PM +0400, Marc-André Lureau wrote:
> Hi
> 
> On Mon, Jul 15, 2019 at 1:40 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > On Sat, Jul 13, 2019 at 06:33:11PM +0400, Marc-André Lureau wrote:
> > > Skip the tests if socket_check_protocol_support() failed, but do run
> > > g_test_run() to keep TAP harness happy.
> >
> > Did you actually find a scenario in which it failed, or is this just
> > doing the change for the sake of strict correctness ?
> 
> It fails under podman atm (https://github.com/containers/libpod/issues/3535)

Oh i see. I wonder if a better strategy is to simply set

  has_ipv4 = has_ipv6 = false

if getaddrinfo() returns an error and make socket_check_protocol_support
return void.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
  2019-07-15  9:57   ` Daniel P. Berrangé
@ 2019-07-15 14:38   ` Alex Bennée
  2019-07-15 16:43   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 26+ messages in thread
From: Alex Bennée @ 2019-07-15 14:38 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, berrange, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé


Marc-André Lureau <marcandre.lureau@redhat.com> writes:

> Podman will need further tweaks.
>
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  tests/docker/Makefile.include | 2 +-
>  tests/docker/docker.py        | 5 +++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index aaf5396b85..f4226b79d0 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -212,7 +212,7 @@ docker-run: docker-qemu-src
>  			"  COPYING $(EXECUTABLE) to $(IMAGE)"))
>  	$(call quiet-command,						\
>  		$(DOCKER_SCRIPT) run 					\
> -			$(if $(NOUSER),,-u $(shell id -u)) 		\
> +			$(if $(NOUSER),,--run-as-current-user) 		\
>  			--security-opt seccomp=unconfined		\
>  			$(if $V,,--rm) 					\
>  			$(if $(DEBUG),-ti,)				\
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index 53a8c9c801..f15545aeea 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -333,8 +333,13 @@ class RunCommand(SubCommand):
>      def args(self, parser):
>          parser.add_argument("--keep", action="store_true",
>                              help="Don't remove image when command completes")
> +        parser.add_argument("--run-as-current-user", action="store_true",
> +                            help="Run container using the current user's uid")
>
>      def run(self, args, argv):
> +        if args.run_as_current_user:
> +            uid = os.getuid()
> +            argv = [ "-u", str(uid) ] + argv
>          return Docker().run(argv, args.keep, quiet=args.quiet)


--
Alex Bennée


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 3/6] tests/docker: add podman support
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
  2019-07-15  9:46   ` Daniel P. Berrangé
@ 2019-07-15 14:39   ` Alex Bennée
  2019-08-23 12:26   ` Markus Armbruster
  2 siblings, 0 replies; 26+ messages in thread
From: Alex Bennée @ 2019-07-15 14:39 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, berrange, qemu-devel, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé


Marc-André Lureau <marcandre.lureau@redhat.com> writes:

> Allow to specify the container engine to run with ENGINE variable.
>
> By default, ENGINE=auto and will select either podman or docker.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> ---
>  Makefile                      | 2 +-
>  tests/docker/Makefile.include | 8 ++++++--
>  2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 1fcbaed62c..7863bb0cf5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1153,7 +1153,7 @@ endif
>  	@echo  ''
>  	@echo  'Test targets:'
>  	@echo  '  check           - Run all tests (check-help for details)'
> -	@echo  '  docker          - Help about targets running tests inside Docker containers'
> +	@echo  '  docker          - Help about targets running tests inside containers'
>  	@echo  '  vm-help         - Help about targets running tests inside VM'
>  	@echo  ''
>  	@echo  'Documentation targets:'
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index f4226b79d0..3c1aec862a 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -17,7 +17,9 @@ DOCKER_TESTS := $(notdir $(shell \
>
>  DOCKER_TOOLS := travis
>
> -DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py
> +ENGINE := auto
> +
> +DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE)
>
>  TESTS ?= %
>  IMAGES ?= %
> @@ -146,7 +148,7 @@ $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPR
>  )
>
>  docker:
> -	@echo 'Build QEMU and run tests inside Docker containers'
> +	@echo 'Build QEMU and run tests inside Docker or Podman containers'
>  	@echo
>  	@echo 'Available targets:'
>  	@echo
> @@ -193,6 +195,8 @@ endif
>  	@echo '    EXECUTABLE=<path>    Include executable in image.'
>  	@echo '    EXTRA_FILES="<path> [... <path>]"'
>  	@echo '                         Include extra files in image.'
> +	@echo '    ENGINE=auto/docker/podman'
> +	@echo '                         Specify which container engine to run.'
>
>  # This rule if for directly running against an arbitrary docker target.
>  # It is called by the expanded docker targets (e.g. make


--
Alex Bennée


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
  2019-07-15  9:57   ` Daniel P. Berrangé
  2019-07-15 14:38   ` Alex Bennée
@ 2019-07-15 16:43   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 26+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-07-15 16:43 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel
  Cc: Fam Zheng, pbonzini, berrange, Gerd Hoffmann, Alex Bennée



On 7/13/19 4:33 PM, Marc-André Lureau wrote:
> Podman will need further tweaks.
> 
> Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/docker/Makefile.include | 2 +-
>  tests/docker/docker.py        | 5 +++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index aaf5396b85..f4226b79d0 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -212,7 +212,7 @@ docker-run: docker-qemu-src
>  			"  COPYING $(EXECUTABLE) to $(IMAGE)"))
>  	$(call quiet-command,						\
>  		$(DOCKER_SCRIPT) run 					\
> -			$(if $(NOUSER),,-u $(shell id -u)) 		\
> +			$(if $(NOUSER),,--run-as-current-user) 		\
>  			--security-opt seccomp=unconfined		\
>  			$(if $V,,--rm) 					\
>  			$(if $(DEBUG),-ti,)				\
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index 53a8c9c801..f15545aeea 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -333,8 +333,13 @@ class RunCommand(SubCommand):
>      def args(self, parser):
>          parser.add_argument("--keep", action="store_true",
>                              help="Don't remove image when command completes")
> +        parser.add_argument("--run-as-current-user", action="store_true",
> +                            help="Run container using the current user's uid")
>  
>      def run(self, args, argv):
> +        if args.run_as_current_user:
> +            uid = os.getuid()
> +            argv = [ "-u", str(uid) ] + argv
>          return Docker().run(argv, args.keep, quiet=args.quiet)
>  

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed Marc-André Lureau
  2019-07-15  9:38   ` Daniel P. Berrangé
@ 2019-07-15 16:45   ` Philippe Mathieu-Daudé
  2019-07-16 10:24     ` Daniel P. Berrangé
  1 sibling, 1 reply; 26+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-07-15 16:45 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel
  Cc: Fam Zheng, pbonzini, berrange, Gerd Hoffmann, Alex Bennée

On 7/13/19 4:33 PM, Marc-André Lureau wrote:
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  tests/Makefile.include |  2 +-
>  tests/test-char.c      | 17 +++++++++++++----
>  2 files changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index a983dd32da..2bddebaf4b 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -523,7 +523,7 @@ tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
>  tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
>  tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)
>  
> -tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y)
> +tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y) tests/socket-helpers.o
>  tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
>  tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
>  tests/test-aio-multithread$(EXESUF): tests/test-aio-multithread.o $(test-block-obj-y)
> diff --git a/tests/test-char.c b/tests/test-char.c
> index f9440cdcfd..2dde620afc 100644
> --- a/tests/test-char.c
> +++ b/tests/test-char.c
> @@ -15,6 +15,7 @@
>  #include "io/channel-socket.h"
>  #include "qapi/qobject-input-visitor.h"
>  #include "qapi/qapi-visit-sockets.h"
> +#include "socket-helpers.h"
>  
>  static bool quit;
>  
> @@ -1356,11 +1357,17 @@ static void char_hotswap_test(void)
>  
>  int main(int argc, char **argv)
>  {
> +    bool has_ipv4, has_ipv6;
> +
>      qemu_init_main_loop(&error_abort);
>      socket_init();
>  
>      g_test_init(&argc, &argv, NULL);
>  
> +    if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
> +        return -1;
> +    }
> +
>      module_call_init(MODULE_INIT_QOM);
>      qemu_add_opts(&qemu_chardev_opts);
>  
> @@ -1438,10 +1445,12 @@ int main(int argc, char **argv)
>      g_test_add_data_func("/char/socket/client/wait-conn-fdpass/" # name, \
>                           &client6 ##name, char_socket_client_test)
>  
> -    SOCKET_SERVER_TEST(tcp, &tcpaddr);
> -    SOCKET_CLIENT_TEST(tcp, &tcpaddr);
> -    g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
> -                         char_socket_server_two_clients_test);
> +    if (has_ipv4) {

Why not if(has_ipv4 || has_ipv6) ?

> +        SOCKET_SERVER_TEST(tcp, &tcpaddr);
> +        SOCKET_CLIENT_TEST(tcp, &tcpaddr);
> +        g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
> +                             char_socket_server_two_clients_test);
> +    }
>  #ifndef WIN32
>      SOCKET_SERVER_TEST(unix, &unixaddr);
>      SOCKET_CLIENT_TEST(unix, &unixaddr);
> 


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed
  2019-07-15 16:45   ` Philippe Mathieu-Daudé
@ 2019-07-16 10:24     ` Daniel P. Berrangé
  0 siblings, 0 replies; 26+ messages in thread
From: Daniel P. Berrangé @ 2019-07-16 10:24 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, qemu-devel, Gerd Hoffmann, pbonzini,
	Marc-André Lureau, Alex Bennée

On Mon, Jul 15, 2019 at 06:45:28PM +0200, Philippe Mathieu-Daudé wrote:
> On 7/13/19 4:33 PM, Marc-André Lureau wrote:
> > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> > ---
> >  tests/Makefile.include |  2 +-
> >  tests/test-char.c      | 17 +++++++++++++----
> >  2 files changed, 14 insertions(+), 5 deletions(-)
> > 
> > diff --git a/tests/Makefile.include b/tests/Makefile.include
> > index a983dd32da..2bddebaf4b 100644
> > --- a/tests/Makefile.include
> > +++ b/tests/Makefile.include
> > @@ -523,7 +523,7 @@ tests/check-qlit$(EXESUF): tests/check-qlit.o $(test-util-obj-y)
> >  tests/check-qom-interface$(EXESUF): tests/check-qom-interface.o $(test-qom-obj-y)
> >  tests/check-qom-proplist$(EXESUF): tests/check-qom-proplist.o $(test-qom-obj-y)
> >  
> > -tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y)
> > +tests/test-char$(EXESUF): tests/test-char.o $(test-util-obj-y) $(qtest-obj-y) $(test-io-obj-y) $(chardev-obj-y) tests/socket-helpers.o
> >  tests/test-coroutine$(EXESUF): tests/test-coroutine.o $(test-block-obj-y)
> >  tests/test-aio$(EXESUF): tests/test-aio.o $(test-block-obj-y)
> >  tests/test-aio-multithread$(EXESUF): tests/test-aio-multithread.o $(test-block-obj-y)
> > diff --git a/tests/test-char.c b/tests/test-char.c
> > index f9440cdcfd..2dde620afc 100644
> > --- a/tests/test-char.c
> > +++ b/tests/test-char.c
> > @@ -15,6 +15,7 @@
> >  #include "io/channel-socket.h"
> >  #include "qapi/qobject-input-visitor.h"
> >  #include "qapi/qapi-visit-sockets.h"
> > +#include "socket-helpers.h"
> >  
> >  static bool quit;
> >  
> > @@ -1356,11 +1357,17 @@ static void char_hotswap_test(void)
> >  
> >  int main(int argc, char **argv)
> >  {
> > +    bool has_ipv4, has_ipv6;
> > +
> >      qemu_init_main_loop(&error_abort);
> >      socket_init();
> >  
> >      g_test_init(&argc, &argv, NULL);
> >  
> > +    if (socket_check_protocol_support(&has_ipv4, &has_ipv6) < 0) {
> > +        return -1;
> > +    }
> > +
> >      module_call_init(MODULE_INIT_QOM);
> >      qemu_add_opts(&qemu_chardev_opts);
> >  
> > @@ -1438,10 +1445,12 @@ int main(int argc, char **argv)
> >      g_test_add_data_func("/char/socket/client/wait-conn-fdpass/" # name, \
> >                           &client6 ##name, char_socket_client_test)
> >  
> > -    SOCKET_SERVER_TEST(tcp, &tcpaddr);
> > -    SOCKET_CLIENT_TEST(tcp, &tcpaddr);
> > -    g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
> > -                         char_socket_server_two_clients_test);
> > +    if (has_ipv4) {
> 
> Why not if(has_ipv4 || has_ipv6) ?

The 'tcpaddr' data is initialized with an IPv4 address only.

> 
> > +        SOCKET_SERVER_TEST(tcp, &tcpaddr);
> > +        SOCKET_CLIENT_TEST(tcp, &tcpaddr);
> > +        g_test_add_data_func("/char/socket/server/two-clients/tcp", &tcpaddr,
> > +                             char_socket_server_two_clients_test);
> > +    }
> >  #ifndef WIN32
> >      SOCKET_SERVER_TEST(unix, &unixaddr);
> >      SOCKET_CLIENT_TEST(unix, &unixaddr);
> > 

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 3/6] tests/docker: add podman support
  2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
  2019-07-15  9:46   ` Daniel P. Berrangé
  2019-07-15 14:39   ` Alex Bennée
@ 2019-08-23 12:26   ` Markus Armbruster
  2019-08-23 12:28     ` Markus Armbruster
  2 siblings, 1 reply; 26+ messages in thread
From: Markus Armbruster @ 2019-08-23 12:26 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, berrange, Alex Bennée, qemu-devel, Gerd Hoffmann,
	pbonzini, Philippe Mathieu-Daudé

Just saw this land in master, awesome.  Suggestion inline.

Marc-André Lureau <marcandre.lureau@redhat.com> writes:

> Allow to specify the container engine to run with ENGINE variable.
>
> By default, ENGINE=auto and will select either podman or docker.
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  Makefile                      | 2 +-
>  tests/docker/Makefile.include | 8 ++++++--
>  2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 1fcbaed62c..7863bb0cf5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1153,7 +1153,7 @@ endif
>  	@echo  ''
>  	@echo  'Test targets:'
>  	@echo  '  check           - Run all tests (check-help for details)'
> -	@echo  '  docker          - Help about targets running tests inside Docker containers'
> +	@echo  '  docker          - Help about targets running tests inside containers'
>  	@echo  '  vm-help         - Help about targets running tests inside VM'

Let's rename target docker to something like container-help, for
symmetry with vm-help, and because calling the target to get help on X X
is in poor taste.

See also
commit 4f2f62762f8119886fbb65920931613cd87840b3
Author: Philippe Mathieu-Daudé <philmd@redhat.com>
Date:   Fri May 31 08:43:41 2019 +0200

    Makefile: Rename the 'vm-test' target as 'vm-help'
    
    We already have 'make check-help', use the 'make vm-help' form
    to display helps about VM testing. Keep the old target to not
    bother old customs.
    
    Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
    Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
    Message-Id: <20190531064341.29730-1-philmd@redhat.com>
    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>  	@echo  ''
>  	@echo  'Documentation targets:'
> diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
> index f4226b79d0..3c1aec862a 100644
> --- a/tests/docker/Makefile.include
> +++ b/tests/docker/Makefile.include
> @@ -17,7 +17,9 @@ DOCKER_TESTS := $(notdir $(shell \
>  
>  DOCKER_TOOLS := travis
>  
> -DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py
> +ENGINE := auto
> +
> +DOCKER_SCRIPT=$(SRC_PATH)/tests/docker/docker.py --engine $(ENGINE)
>  
>  TESTS ?= %
>  IMAGES ?= %
> @@ -146,7 +148,7 @@ $(foreach i,$(filter-out $(DOCKER_PARTIAL_IMAGES),$(DOCKER_IMAGES) $(DOCKER_DEPR
>  )
>  
>  docker:
> -	@echo 'Build QEMU and run tests inside Docker containers'
> +	@echo 'Build QEMU and run tests inside Docker or Podman containers'
>  	@echo
>  	@echo 'Available targets:'
>  	@echo
> @@ -193,6 +195,8 @@ endif
>  	@echo '    EXECUTABLE=<path>    Include executable in image.'
>  	@echo '    EXTRA_FILES="<path> [... <path>]"'
>  	@echo '                         Include extra files in image.'
> +	@echo '    ENGINE=auto/docker/podman'

Your | are listing.

> +	@echo '                         Specify which container engine to run.'
>  
>  # This rule if for directly running against an arbitrary docker target.
>  # It is called by the expanded docker targets (e.g. make


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 3/6] tests/docker: add podman support
  2019-08-23 12:26   ` Markus Armbruster
@ 2019-08-23 12:28     ` Markus Armbruster
  0 siblings, 0 replies; 26+ messages in thread
From: Markus Armbruster @ 2019-08-23 12:28 UTC (permalink / raw)
  To: Marc-André Lureau
  Cc: Fam Zheng, berrange, Alex Bennée, qemu-devel, Gerd Hoffmann,
	pbonzini, Philippe Mathieu-Daudé

One more: does docs/devel/testing.rst need an update?


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support
  2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
                   ` (6 preceding siblings ...)
  2019-07-14  3:20 ` [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support no-reply
@ 2019-09-05 16:15 ` David Hildenbrand
  2019-09-05 16:19   ` David Hildenbrand
  2019-09-05 16:33   ` Alex Bennée
  7 siblings, 2 replies; 26+ messages in thread
From: David Hildenbrand @ 2019-09-05 16:15 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel
  Cc: Fam Zheng, berrange, Alex Bennée, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On 13.07.19 16:33, Marc-André Lureau wrote:
> Hi,
> 
> podman allows to run containers in a similar fashion as docker, but
> without daemon or root privileges. Thank you podman!
> 
> There is a weird issue with getaddrinfo(), that I reported upstream
> https://github.com/containers/libpod/issues/3535. For now, it is
> worked around with extra socket_check_protocol_support() checks.
> 
> thanks
> 
> v3:
> - add --run-as-current-user, suggest by Paolo
> - move podman user tweaks to docker.py
> - rebasing
> 
> v2:
> - add socket_check_protocol_support() to test-char
> - keep TAP harness happy when socket_check_protocol_support() fails
> - removed bad AI_ADDRCONFIG patch
> - rebased
> 
> Marc-André Lureau (6):
>   docker.py: add --run-as-current-user
>   docker.py: add podman support
>   tests/docker: add podman support
>   tests: specify the address family when checking bind
>   test-char: skip tcp tests if ipv4 check failed
>   test: skip tests if socket_check_protocol_support() failed
> 
>  Makefile                       |  2 +-
>  tests/Makefile.include         |  2 +-
>  tests/docker/Makefile.include  | 10 +++++--
>  tests/docker/docker.py         | 53 ++++++++++++++++++++++++++++++----
>  tests/socket-helpers.c         | 17 ++++++++---
>  tests/socket-helpers.h         | 11 -------
>  tests/test-char.c              | 19 +++++++++---
>  tests/test-io-channel-socket.c |  4 ++-
>  tests/test-util-sockets.c      |  4 ++-
>  9 files changed, 91 insertions(+), 31 deletions(-)
> 

Most probably not related to this series. I assume I am once again doing
something very wrong (although this used to work). I am on Fedora 30 -
hope somebody can help me:

t460s: ~/git/qemu mvc $ docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
no

t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
[...]
docker            no
[...]

So docker is working but the configure script says I don't have docker.
What am I missing? (I only want to run tcg tests)

-- 

Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support
  2019-09-05 16:15 ` David Hildenbrand
@ 2019-09-05 16:19   ` David Hildenbrand
  2019-09-05 16:33   ` Alex Bennée
  1 sibling, 0 replies; 26+ messages in thread
From: David Hildenbrand @ 2019-09-05 16:19 UTC (permalink / raw)
  To: Marc-André Lureau, qemu-devel
  Cc: Fam Zheng, berrange, Alex Bennée, Gerd Hoffmann, pbonzini,
	Philippe Mathieu-Daudé

On 05.09.19 18:15, David Hildenbrand wrote:
> On 13.07.19 16:33, Marc-André Lureau wrote:
>> Hi,
>>
>> podman allows to run containers in a similar fashion as docker, but
>> without daemon or root privileges. Thank you podman!
>>
>> There is a weird issue with getaddrinfo(), that I reported upstream
>> https://github.com/containers/libpod/issues/3535. For now, it is
>> worked around with extra socket_check_protocol_support() checks.
>>
>> thanks
>>
>> v3:
>> - add --run-as-current-user, suggest by Paolo
>> - move podman user tweaks to docker.py
>> - rebasing
>>
>> v2:
>> - add socket_check_protocol_support() to test-char
>> - keep TAP harness happy when socket_check_protocol_support() fails
>> - removed bad AI_ADDRCONFIG patch
>> - rebased
>>
>> Marc-André Lureau (6):
>>   docker.py: add --run-as-current-user
>>   docker.py: add podman support
>>   tests/docker: add podman support
>>   tests: specify the address family when checking bind
>>   test-char: skip tcp tests if ipv4 check failed
>>   test: skip tests if socket_check_protocol_support() failed
>>
>>  Makefile                       |  2 +-
>>  tests/Makefile.include         |  2 +-
>>  tests/docker/Makefile.include  | 10 +++++--
>>  tests/docker/docker.py         | 53 ++++++++++++++++++++++++++++++----
>>  tests/socket-helpers.c         | 17 ++++++++---
>>  tests/socket-helpers.h         | 11 -------
>>  tests/test-char.c              | 19 +++++++++---
>>  tests/test-io-channel-socket.c |  4 ++-
>>  tests/test-util-sockets.c      |  4 ++-
>>  9 files changed, 91 insertions(+), 31 deletions(-)
>>
> 
> Most probably not related to this series. I assume I am once again doing
> something very wrong (although this used to work). I am on Fedora 30 -
> hope somebody can help me:
> 
> t460s: ~/git/qemu mvc $ docker run hello-world
> 
> Hello from Docker!
> This message shows that your installation appears to be working correctly.
> [...]
> 
> t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
> no
> 
> t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
> [...]
> docker            no
> [...]
> 
> So docker is working but the configure script says I don't have docker.
> What am I missing? (I only want to run tcg tests)
> 

FWIW, reverting

commit 9459f754134bb786edf85ca9fc00f1805e67bd74
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date:   Fri Jul 12 16:46:13 2019 +0400

    docker.py: add podman support

    Add a --engine option to select either docker, podman or auto.


fixes it for me

t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
yes


So there is something wrong about that patch.

-- 

Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support
  2019-09-05 16:15 ` David Hildenbrand
  2019-09-05 16:19   ` David Hildenbrand
@ 2019-09-05 16:33   ` Alex Bennée
  1 sibling, 0 replies; 26+ messages in thread
From: Alex Bennée @ 2019-09-05 16:33 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Fam Zheng, berrange, qemu-devel, Gerd Hoffmann, pbonzini,
	Marc-André Lureau, Philippe Mathieu-Daudé


David Hildenbrand <david@redhat.com> writes:

> On 13.07.19 16:33, Marc-André Lureau wrote:
>> Hi,
>>
>> podman allows to run containers in a similar fashion as docker, but
>> without daemon or root privileges. Thank you podman!
>>
>> There is a weird issue with getaddrinfo(), that I reported upstream
>> https://github.com/containers/libpod/issues/3535. For now, it is
>> worked around with extra socket_check_protocol_support() checks.
>>
>> thanks
>>
>> v3:
>> - add --run-as-current-user, suggest by Paolo
>> - move podman user tweaks to docker.py
>> - rebasing
>>
>> v2:
>> - add socket_check_protocol_support() to test-char
>> - keep TAP harness happy when socket_check_protocol_support() fails
>> - removed bad AI_ADDRCONFIG patch
>> - rebased
>>
>> Marc-André Lureau (6):
>>   docker.py: add --run-as-current-user
>>   docker.py: add podman support
>>   tests/docker: add podman support
>>   tests: specify the address family when checking bind
>>   test-char: skip tcp tests if ipv4 check failed
>>   test: skip tests if socket_check_protocol_support() failed
>>
>>  Makefile                       |  2 +-
>>  tests/Makefile.include         |  2 +-
>>  tests/docker/Makefile.include  | 10 +++++--
>>  tests/docker/docker.py         | 53 ++++++++++++++++++++++++++++++----
>>  tests/socket-helpers.c         | 17 ++++++++---
>>  tests/socket-helpers.h         | 11 -------
>>  tests/test-char.c              | 19 +++++++++---
>>  tests/test-io-channel-socket.c |  4 ++-
>>  tests/test-util-sockets.c      |  4 ++-
>>  9 files changed, 91 insertions(+), 31 deletions(-)
>>
>
> Most probably not related to this series. I assume I am once again doing
> something very wrong (although this used to work). I am on Fedora 30 -
> hope somebody can help me:
>
> t460s: ~/git/qemu mvc $ docker run hello-world
>
> Hello from Docker!
> This message shows that your installation appears to be working correctly.
> [...]
>
> t460s: ~/git/qemu mvc $ tests/docker/docker.py probe
> no
>
> t460s: ~/git/qemu mvc $ ./configure --target-list=i386-softmmu,...
> [...]
> docker            no
> [...]
>
> So docker is working but the configure script says I don't have docker.
> What am I missing? (I only want to run tcg tests)

See:

  Subject: [PATCH  v1 02/42] configure: clean-up container cross compile detect
  Date: Wed,  4 Sep 2019 21:29:33 +0100
  Message-Id: <20190904203013.9028-3-alex.bennee@linaro.org>
  In-Reply-To: <20190904203013.9028-1-alex.bennee@linaro.org>

But there are other fixes in that series to make it work with check-tcg
better.

--
Alex Bennée


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2019-09-05 16:34 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-13 14:33 [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support Marc-André Lureau
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 1/6] docker.py: add --run-as-current-user Marc-André Lureau
2019-07-15  9:57   ` Daniel P. Berrangé
2019-07-15 14:38   ` Alex Bennée
2019-07-15 16:43   ` Philippe Mathieu-Daudé
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 2/6] docker.py: add podman support Marc-André Lureau
2019-07-15  9:58   ` Daniel P. Berrangé
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 3/6] tests/docker: " Marc-André Lureau
2019-07-15  9:46   ` Daniel P. Berrangé
2019-07-15 14:39   ` Alex Bennée
2019-08-23 12:26   ` Markus Armbruster
2019-08-23 12:28     ` Markus Armbruster
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 4/6] tests: specify the address family when checking bind Marc-André Lureau
2019-07-15  9:37   ` Daniel P. Berrangé
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 5/6] test-char: skip tcp tests if ipv4 check failed Marc-André Lureau
2019-07-15  9:38   ` Daniel P. Berrangé
2019-07-15 16:45   ` Philippe Mathieu-Daudé
2019-07-16 10:24     ` Daniel P. Berrangé
2019-07-13 14:33 ` [Qemu-devel] [PATCH v3 6/6] test: skip tests if socket_check_protocol_support() failed Marc-André Lureau
2019-07-15  9:40   ` Daniel P. Berrangé
2019-07-15 10:25     ` Marc-André Lureau
2019-07-15 10:29       ` Daniel P. Berrangé
2019-07-14  3:20 ` [Qemu-devel] [PATCH v3 0/6] tests/docker: add podman support no-reply
2019-09-05 16:15 ` David Hildenbrand
2019-09-05 16:19   ` David Hildenbrand
2019-09-05 16:33   ` Alex Bennée

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.