* [PATCH v7 18/25] tests: Convert g_free to g_autofree macro in test-logging.c
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 19/25] tests: Fixes test-io-channel-socket.c tests under msys2/mingw Yonggang Luo
` (7 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Daniel P . Berrangé, Ed Maste, Michael Roth,
qemu-block, Stefan Weil, Xie Changlong, Richard Henderson,
Markus Armbruster, Max Reitz, Yonggang Luo, Gerd Hoffmann,
Wen Congyang, Paolo Bonzini, Philippe Mathieu-Daudé,
Li-Wen Hsu, Peter Lieven
g_autofree are prefer than g_free when possible.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/test-logging.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tests/test-logging.c b/tests/test-logging.c
index 8a1161de1d..783fe09a27 100644
--- a/tests/test-logging.c
+++ b/tests/test-logging.c
@@ -196,7 +196,7 @@ static void rmdir_full(gchar const *root)
int main(int argc, char **argv)
{
- gchar *tmp_path = g_dir_make_tmp("qemu-test-logging.XXXXXX", NULL);
+ g_autofree gchar *tmp_path = g_dir_make_tmp("qemu-test-logging.XXXXXX", NULL);
int rc;
g_test_init(&argc, &argv, NULL);
@@ -212,6 +212,5 @@ int main(int argc, char **argv)
rc = g_test_run();
rmdir_full(tmp_path);
- g_free(tmp_path);
return rc;
}
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 19/25] tests: Fixes test-io-channel-socket.c tests under msys2/mingw
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 18/25] tests: Convert g_free to g_autofree macro in test-logging.c Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 20/25] tests: fixes aio-win32 about aio_remove_fd_handler, get it consistence with aio-posix.c Yonggang Luo
` (6 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Daniel P . Berrangé, Ed Maste, Michael Roth,
qemu-block, Stefan Weil, Xie Changlong, Richard Henderson,
Markus Armbruster, Max Reitz, Yonggang Luo, Gerd Hoffmann,
Wen Congyang, Paolo Bonzini, Li-Wen Hsu, Peter Lieven
Currently test-io-channel-socket doesn't init with
qemu_init_main_loop
and that's cause the qemu_aio_context not inited,
and the following is the stack when null pointer accessed:
qemu_fd_register (c:\work\xemu\qemu\util\main-loop.c:336)
qemu_try_set_nonblock (c:\work\xemu\qemu\util\oslib-win32.c:224)
qemu_set_nonblock (c:\work\xemu\qemu\util\oslib-win32.c:230)
socket_can_bind_connect (c:\work\xemu\qemu\tests\socket-helpers.c:93)
socket_check_protocol_support (c:\work\xemu\qemu\tests\socket-helpers.c:141)
main (c:\work\xemu\qemu\tests\test-io-channel-socket.c:568)
__tmainCRTStartup (@__tmainCRTStartup:142)
mainCRTStartup (@1400014f6..140001539:3)
BaseThreadInitThunk (@BaseThreadInitThunk:9)
RtlUserThreadStart (@RtlUserThreadStart:12)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/test-io-channel-socket.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/test-io-channel-socket.c b/tests/test-io-channel-socket.c
index d43083a766..743577d744 100644
--- a/tests/test-io-channel-socket.c
+++ b/tests/test-io-channel-socket.c
@@ -25,6 +25,7 @@
#include "socket-helpers.h"
#include "qapi/error.h"
#include "qemu/module.h"
+#include "qemu/main-loop.h"
static void test_io_channel_set_socket_bufs(QIOChannel *src,
@@ -556,6 +557,7 @@ int main(int argc, char **argv)
bool has_ipv4, has_ipv6;
module_call_init(MODULE_INIT_QOM);
+ qemu_init_main_loop(&error_abort);
socket_init();
g_test_init(&argc, &argv, NULL);
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 20/25] tests: fixes aio-win32 about aio_remove_fd_handler, get it consistence with aio-posix.c
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 18/25] tests: Convert g_free to g_autofree macro in test-logging.c Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 19/25] tests: Fixes test-io-channel-socket.c tests under msys2/mingw Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 21/25] tests: Fixes test-io-channel-file by mask only owner file state mask bits Yonggang Luo
` (5 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, Markus Armbruster, Max Reitz,
Yonggang Luo, Gerd Hoffmann, Wen Congyang, Paolo Bonzini,
Li-Wen Hsu, Peter Lieven
This is a fixes for
(C:\work\xemu\qemu\build\tests\test-aio-multithread.exe:19100): GLib-CRITICAL **: 23:03:24.965: g_source_remove_poll: assertion '!SOURCE_DESTROYED (source)' failed
ERROR test-aio-multithread - Bail out! GLib-FATAL-CRITICAL: g_source_remove_poll: assertion '!SOURCE_DESTROYED (source)' failed
(C:\work\xemu\qemu\build\tests\test-bdrv-drain.exe:21036): GLib-CRITICAL **: 23:03:29.861: g_source_remove_poll: assertion '!SOURCE_DESTROYED (source)' failed
ERROR test-bdrv-drain - Bail out! GLib-FATAL-CRITICAL: g_source_remove_poll: assertion '!SOURCE_DESTROYED (source)' failed
And the idea comes from https://patchwork.kernel.org/patch/9975239/
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
util/aio-win32.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/util/aio-win32.c b/util/aio-win32.c
index 953c56ab48..9899546a8a 100644
--- a/util/aio-win32.c
+++ b/util/aio-win32.c
@@ -37,6 +37,15 @@ struct AioHandler {
static void aio_remove_fd_handler(AioContext *ctx, AioHandler *node)
{
+ /* If the GSource is in the process of being destroyed then
+ * g_source_remove_poll() causes an assertion failure. Skip
+ * removal in that case, because glib cleans up its state during
+ * destruction anyway.
+ */
+ if (!g_source_is_destroyed(&ctx->source)) {
+ g_source_remove_poll(&ctx->source, &node->pfd);
+ }
+
/* If aio_poll is in progress, just mark the node as deleted */
if (qemu_lockcnt_count(&ctx->list_lock)) {
node->deleted = 1;
@@ -139,8 +148,6 @@ void aio_set_event_notifier(AioContext *ctx,
/* Are we deleting the fd handler? */
if (!io_notify) {
if (node) {
- g_source_remove_poll(&ctx->source, &node->pfd);
-
aio_remove_fd_handler(ctx, node);
}
} else {
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 21/25] tests: Fixes test-io-channel-file by mask only owner file state mask bits
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (2 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 20/25] tests: fixes aio-win32 about aio_remove_fd_handler, get it consistence with aio-posix.c Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 22/25] tests: fix test-util-sockets.c Yonggang Luo
` (4 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, Markus Armbruster, Max Reitz,
Yonggang Luo, Gerd Hoffmann, Wen Congyang, Paolo Bonzini,
Li-Wen Hsu, Peter Lieven
This is the error on msys2/mingw
Running test test-io-channel-file
**
ERROR:../tests/test-io-channel-file.c:59:test_io_channel_file_helper: assertion failed (TEST_MASK & ~mask == st.st_mode & 0777): (384 == 438)
ERROR test-io-channel-file - Bail out! ERROR:../tests/test-io-channel-file.c:59:test_io_channel_file_helper: assertion failed (TEST_MASK & ~mask == st.st_mode & 0777): (384 == 438)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-io-channel-file.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tests/test-io-channel-file.c b/tests/test-io-channel-file.c
index bac2b07562..1b0e8d7c1b 100644
--- a/tests/test-io-channel-file.c
+++ b/tests/test-io-channel-file.c
@@ -28,6 +28,12 @@
#define TEST_FILE "tests/test-io-channel-file.txt"
#define TEST_MASK 0600
+#ifdef _WIN32
+#define TEST_MASK_EXPECT 0700
+#else
+#define TEST_MASK_EXPECT 0777
+#endif
+
static void test_io_channel_file_helper(int flags)
{
QIOChannel *src, *dst;
@@ -56,7 +62,9 @@ static void test_io_channel_file_helper(int flags)
umask(mask);
ret = stat(TEST_FILE, &st);
g_assert_cmpint(ret, >, -1);
- g_assert_cmpuint(TEST_MASK & ~mask, ==, st.st_mode & 0777);
+ /* On Windows the stat() function in the C library checks only
+ the FAT-style READONLY attribute and does not look at the ACL at all. */
+ g_assert_cmpuint(TEST_MASK & ~mask, ==, st.st_mode & TEST_MASK_EXPECT);
unlink(TEST_FILE);
object_unref(OBJECT(src));
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 22/25] tests: fix test-util-sockets.c
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (3 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 21/25] tests: Fixes test-io-channel-file by mask only owner file state mask bits Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 23/25] tests: Fixes test-qdev-global-props.c Yonggang Luo
` (3 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Daniel P . Berrangé, Ed Maste, Michael Roth,
qemu-block, Stefan Weil, Xie Changlong, Richard Henderson,
Markus Armbruster, Max Reitz, Yonggang Luo, Gerd Hoffmann,
Wen Congyang, Paolo Bonzini, Li-Wen Hsu, Peter Lieven
Fixes following errors:
Running test test-util-sockets
ERROR test-util-sockets - missing test plan
# Start of name tests
**
ERROR:../tests/test-util-sockets.c:93:test_socket_fd_pass_name_good: assertion failed (fd != -1): (-1 != -1)
Bail out! ERROR:../tests/test-util-sockets.c:93:test_socket_fd_pass_name_good: assertion failed (fd != -1): (-1 != -1)
First should call to qemu_init_main_loop before socket_init,
then on win32 doesn't support for SOCKET_ADDRESS_TYPE_FD socket type
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/test-util-sockets.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/test-util-sockets.c b/tests/test-util-sockets.c
index af9f5c0c70..1bbb16d9b1 100644
--- a/tests/test-util-sockets.c
+++ b/tests/test-util-sockets.c
@@ -75,7 +75,7 @@ int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) { abort(); }
void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp) {}
void monitor_init_hmp(Chardev *chr, bool use_readline, Error **errp) {}
-
+#ifndef _WIN32
static void test_socket_fd_pass_name_good(void)
{
SocketAddress addr;
@@ -227,6 +227,7 @@ static void test_socket_fd_pass_num_nocli(void)
g_free(addr.u.fd.str);
}
+#endif
#ifdef __linux__
static gchar *abstract_sock_name;
@@ -321,6 +322,7 @@ 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);
@@ -340,6 +342,7 @@ int main(int argc, char **argv)
test_fd_is_socket_bad);
g_test_add_func("/util/socket/is-socket/good",
test_fd_is_socket_good);
+#ifndef _WIN32
g_test_add_func("/socket/fd-pass/name/good",
test_socket_fd_pass_name_good);
g_test_add_func("/socket/fd-pass/name/bad",
@@ -352,6 +355,7 @@ int main(int argc, char **argv)
test_socket_fd_pass_num_bad);
g_test_add_func("/socket/fd-pass/num/nocli",
test_socket_fd_pass_num_nocli);
+#endif
}
#ifdef __linux__
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 23/25] tests: Fixes test-qdev-global-props.c
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (4 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 22/25] tests: fix test-util-sockets.c Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 24/25] rcu: fixes test-logging.c by call drain_call_rcu before rmdir_full Yonggang Luo
` (2 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Daniel P . Berrangé, Ed Maste, Michael Roth,
qemu-block, Stefan Weil, Xie Changlong, Richard Henderson,
Markus Armbruster, Max Reitz, Yonggang Luo, Gerd Hoffmann,
Wen Congyang, Paolo Bonzini, Li-Wen Hsu, Peter Lieven
On win32 the line ending are \r\n, so we skip the \n in function test_dynamic_globalprop
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
tests/test-qdev-global-props.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c
index 1e6b0f33ff..d8762a9756 100644
--- a/tests/test-qdev-global-props.c
+++ b/tests/test-qdev-global-props.c
@@ -250,10 +250,10 @@ static void test_dynamic_globalprop(void)
g_test_trap_assert_passed();
g_test_trap_assert_stderr_unmatched("*prop1*");
g_test_trap_assert_stderr_unmatched("*prop2*");
- g_test_trap_assert_stderr("*warning: global dynamic-prop-type-bad.prop3 has invalid class name\n*");
+ g_test_trap_assert_stderr("*warning: global dynamic-prop-type-bad.prop3 has invalid class name*");
g_test_trap_assert_stderr_unmatched("*prop4*");
- g_test_trap_assert_stderr("*warning: global nohotplug-type.prop5=105 not used\n*");
- g_test_trap_assert_stderr("*warning: global nondevice-type.prop6 has invalid class name\n*");
+ g_test_trap_assert_stderr("*warning: global nohotplug-type.prop5=105 not used*");
+ g_test_trap_assert_stderr("*warning: global nondevice-type.prop6 has invalid class name*");
g_test_trap_assert_stdout("");
}
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 24/25] rcu: fixes test-logging.c by call drain_call_rcu before rmdir_full
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (5 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 23/25] tests: Fixes test-qdev-global-props.c Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 10:37 ` [PATCH v7 25/25] ci: Enable msys2 ci in cirrus Yonggang Luo
2020-09-10 14:18 ` [PATCH v7 17/25] cirrus: Building freebsd in a single short Thomas Huth
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, Markus Armbruster, Max Reitz,
Yonggang Luo, Gerd Hoffmann, Wen Congyang, Paolo Bonzini,
Li-Wen Hsu, Peter Lieven
drain_call_rcu is necessary on win32, because under win32, if you
don't close the file before remove it, the remove would be fail.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-logging.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/test-logging.c b/tests/test-logging.c
index 783fe09a27..8b1522cfed 100644
--- a/tests/test-logging.c
+++ b/tests/test-logging.c
@@ -210,6 +210,8 @@ int main(int argc, char **argv)
tmp_path, test_logfile_lock);
rc = g_test_run();
+ qemu_log_close();
+ drain_call_rcu();
rmdir_full(tmp_path);
return rc;
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v7 25/25] ci: Enable msys2 ci in cirrus
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (6 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 24/25] rcu: fixes test-logging.c by call drain_call_rcu before rmdir_full Yonggang Luo
@ 2020-09-10 10:37 ` Yonggang Luo
2020-09-10 14:18 ` [PATCH v7 17/25] cirrus: Building freebsd in a single short Thomas Huth
8 siblings, 0 replies; 12+ messages in thread
From: Yonggang Luo @ 2020-09-10 10:37 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Daniel P . Berrangé, Ed Maste, Michael Roth,
qemu-block, Stefan Weil, Xie Changlong, Richard Henderson,
Markus Armbruster, Max Reitz, Yonggang Luo, Gerd Hoffmann,
Wen Congyang, Paolo Bonzini, Li-Wen Hsu, Peter Lieven
Install msys2 in a proper way refer to https://github.com/cirruslabs/cirrus-ci-docs/issues/699
The https://wiki.qemu.org/Hosts/W32#Native_builds_with_MSYS2 need to be updated.
There is no need of --cross-prefix, open mingw64.exe instead of msys2.exe then we don't
need the --cross-prefix, besides we using environment variable settings:
MSYS: winsymlinks:nativestrict
MSYSTEM: MINGW64
CHERE_INVOKING: 1
to opening mingw64 native shell.
We now running tests with make -i check to skip tests errors.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
.cirrus.yml | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 60 insertions(+)
diff --git a/.cirrus.yml b/.cirrus.yml
index 690c6882e8..1ff9f0a72f 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -44,3 +44,63 @@ macos_xcode_task:
--enable-werror --cc=clang || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake check
+
+windows_msys2_task:
+ windows_container:
+ image: cirrusci/windowsservercore:cmake
+ os_version: 2019
+ cpu: 8
+ memory: 8G
+ env:
+ MSYS: winsymlinks:nativestrict
+ MSYSTEM: MINGW64
+ CHERE_INVOKING: 1
+ printenv_script:
+ - C:\tools\msys64\usr\bin\bash.exe -lc 'printenv'
+ install_script:
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd /c/tools && pacman -U --noconfirm msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "pacman -Sy --noconfirm"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --needed --noconfirm -S bash pacman pacman-mirrors msys2-runtime"
+ - taskkill /F /IM gpg-agent.exe
+ - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -Su"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "pacman --noconfirm -S --needed
+ base-devel
+ git
+ mingw-w64-x86_64-python
+ mingw-w64-x86_64-python-setuptools
+ mingw-w64-x86_64-toolchain
+ mingw-w64-x86_64-SDL2
+ mingw-w64-x86_64-SDL2_image
+ mingw-w64-x86_64-gtk3
+ mingw-w64-x86_64-glib2
+ mingw-w64-x86_64-ninja
+ mingw-w64-x86_64-make
+ mingw-w64-x86_64-jemalloc
+ mingw-w64-x86_64-lzo2
+ mingw-w64-x86_64-zstd
+ mingw-w64-x86_64-libjpeg-turbo
+ mingw-w64-x86_64-pixman
+ mingw-w64-x86_64-libgcrypt
+ mingw-w64-x86_64-capstone
+ mingw-w64-x86_64-libpng
+ mingw-w64-x86_64-libssh
+ mingw-w64-x86_64-libxml2
+ mingw-w64-x86_64-snappy
+ mingw-w64-x86_64-libusb
+ mingw-w64-x86_64-usbredir
+ mingw-w64-x86_64-libtasn1
+ mingw-w64-x86_64-libnfs
+ mingw-w64-x86_64-nettle
+ mingw-w64-x86_64-cyrus-sasl
+ mingw-w64-x86_64-curl
+ mingw-w64-x86_64-gnutls
+ mingw-w64-x86_64-zstd"
+ script:
+ - C:\tools\msys64\usr\bin\bash.exe -lc "mkdir build"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && ../configure --python=python3 --ninja=ninja"
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make -j$NUMBER_OF_PROCESSORS"
+ test_script:
+ - C:\tools\msys64\usr\bin\bash.exe -lc "cd build && make V=1 check"
+
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v7 17/25] cirrus: Building freebsd in a single short
2020-09-10 10:37 [PATCH v7 17/25] cirrus: Building freebsd in a single short Yonggang Luo
` (7 preceding siblings ...)
2020-09-10 10:37 ` [PATCH v7 25/25] ci: Enable msys2 ci in cirrus Yonggang Luo
@ 2020-09-10 14:18 ` Thomas Huth
2020-09-10 17:30 ` 罗勇刚(Yonggang Luo)
2020-09-10 18:00 ` Daniel P. Berrangé
8 siblings, 2 replies; 12+ messages in thread
From: Thomas Huth @ 2020-09-10 14:18 UTC (permalink / raw)
To: Yonggang Luo, qemu-devel
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, Michael Roth, Markus Armbruster, Paolo Bonzini,
Gerd Hoffmann, Wen Congyang, Daniel P . Berrangé, Max Reitz,
Li-Wen Hsu, Peter Lieven
On 10/09/2020 12.37, Yonggang Luo wrote:
> This reverts commit 45f7b7b9f38f5c4d1529a37c93dedfc26a231bba
> ("cirrus.yml: Split FreeBSD job into two parts").
>
> freebsd 1 hour limit not hit anymore
>
> I think we going to a wrong direction, I think there is some tests a stall the test runner,
> please look at
> https://cirrus-ci.com/task/5110577531977728
> When its running properly, the consumed time are little, but when tests running too long,
> look at the cpu usage, the cpu usage are nearly zero. doesn't consuming time.
>
> And look at
> https://cirrus-ci.com/task/6119341601062912
>
> If the tests running properly, the time consuming are little
> We should not hide the error by split them
Ok, but before we merge this patch, I'd like to understand (and fix if
necessary) what is/was causing the slowdowns. Otherwise we'll continue
to see failing CI runs, which is very annoying.
Thomas
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7 17/25] cirrus: Building freebsd in a single short
2020-09-10 14:18 ` [PATCH v7 17/25] cirrus: Building freebsd in a single short Thomas Huth
@ 2020-09-10 17:30 ` 罗勇刚(Yonggang Luo)
2020-09-10 18:00 ` Daniel P. Berrangé
1 sibling, 0 replies; 12+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-10 17:30 UTC (permalink / raw)
To: Thomas Huth
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Paolo Bonzini,
Gerd Hoffmann, Wen Congyang, Daniel P . Berrangé, Max Reitz,
Li-Wen Hsu, Markus Armbruster, Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 1313 bytes --]
On Thu, Sep 10, 2020 at 10:18 PM Thomas Huth <thuth@redhat.com> wrote:
> On 10/09/2020 12.37, Yonggang Luo wrote:
> > This reverts commit 45f7b7b9f38f5c4d1529a37c93dedfc26a231bba
> > ("cirrus.yml: Split FreeBSD job into two parts").
> >
> > freebsd 1 hour limit not hit anymore
> >
> > I think we going to a wrong direction, I think there is some tests a
> stall the test runner,
> > please look at
> > https://cirrus-ci.com/task/5110577531977728
> > When its running properly, the consumed time are little, but when tests
> running too long,
> > look at the cpu usage, the cpu usage are nearly zero. doesn't consuming
> time.
> >
> > And look at
> > https://cirrus-ci.com/task/6119341601062912
> >
> > If the tests running properly, the time consuming are little
> > We should not hide the error by split them
>
> Ok, but before we merge this patch, I'd like to understand (and fix if
> necessary) what is/was causing the slowdowns. Otherwise we'll continue
> to see failing CI runs, which is very annoying.
>
> Then I need to apply your idea first, but I found
make check are rather slow without the make -j8 check.
And even make V=1 check would be slightly slower than make check.
> Thomas
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 2173 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v7 17/25] cirrus: Building freebsd in a single short
2020-09-10 14:18 ` [PATCH v7 17/25] cirrus: Building freebsd in a single short Thomas Huth
2020-09-10 17:30 ` 罗勇刚(Yonggang Luo)
@ 2020-09-10 18:00 ` Daniel P. Berrangé
1 sibling, 0 replies; 12+ messages in thread
From: Daniel P. Berrangé @ 2020-09-10 18:00 UTC (permalink / raw)
To: Thomas Huth
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-devel, Michael Roth, Yonggang Luo,
Gerd Hoffmann, Wen Congyang, Paolo Bonzini, Max Reitz, Li-Wen Hsu,
Markus Armbruster, Peter Lieven
On Thu, Sep 10, 2020 at 04:18:10PM +0200, Thomas Huth wrote:
> On 10/09/2020 12.37, Yonggang Luo wrote:
> > This reverts commit 45f7b7b9f38f5c4d1529a37c93dedfc26a231bba
> > ("cirrus.yml: Split FreeBSD job into two parts").
> >
> > freebsd 1 hour limit not hit anymore
> >
> > I think we going to a wrong direction, I think there is some tests a stall the test runner,
> > please look at
> > https://cirrus-ci.com/task/5110577531977728
> > When its running properly, the consumed time are little, but when tests running too long,
> > look at the cpu usage, the cpu usage are nearly zero. doesn't consuming time.
> >
> > And look at
> > https://cirrus-ci.com/task/6119341601062912
> >
> > If the tests running properly, the time consuming are little
> > We should not hide the error by split them
>
> Ok, but before we merge this patch, I'd like to understand (and fix if
> necessary) what is/was causing the slowdowns. Otherwise we'll continue
> to see failing CI runs, which is very annoying.
I think we need the test harness to print out the time duration for
each test in order to stand a chance of find the slow one.
A hack like this could be sufficient:
diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py
index 9cbb2e374d..9103ae65b9 100644
--- a/scripts/mtest2make.py
+++ b/scripts/mtest2make.py
@@ -20,7 +20,7 @@ print('''
SPEED = quick
# $1 = environment, $2 = test command, $3 = test name, $4 = dir
-.test-human-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | ./scripts/tap-driver.pl --test-name="$3" $(if $(V),,--show-failures-only)
+.test-human-tap = export then=`date +%s` ; $1 $(if $4,(cd $4 && $2),$2) < /dev/null | ./scripts/tap-driver.pl --test-name="$3" $(if $(V),,--show-failures-only) ; export now=`date +%s` ; delta=`expr $$now - $$then` ; $(if $(V),echo "TIME $$delta seconds",true)
.test-human-exitcode = $1 $(PYTHON) scripts/test-driver.py $(if $4,-C$4) $(if $(V),--verbose) -- $2 < /dev/null
.test-tap-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | sed "s/^[a-z][a-z]* [0-9]*/& $3/" || true
.test-tap-exitcode = printf "%s\\n" 1..1 "`$1 $(if $4,(cd $4 && $2),$2) < /dev/null > /dev/null || echo "not "`ok 1 $3"
not sure if there is a nicer way todo this but itworks ok for make check-unit
at least
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 related [flat|nested] 12+ messages in thread