* [PATCH 00/16] W32, W64 patches
@ 2020-09-08 19:48 Yonggang Luo
2020-09-08 19:48 ` [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
` (16 more replies)
0 siblings, 17 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
It first introduce msys2 CI on cirrus by fixes nfs, capstone, curses and
disable partial test-char tests.
And then fixes a number of unit tests failure on msys2/mingw
Yonggang Luo (16):
block: Fixes nfs compiling error on msys2/mingw
ci: fixes msys2 build by upgrading capstone to 4.0.2
configure: Fixes ncursesw detection under msys2/mingw and enable
curses
curses: Fixes curses compiling errors.
tests: disable /char/stdio/* tests in test-char.c on win32
ci: Enable msys2 ci in cirrus
tests: Trying fixes test-replication.c on msys2/mingw.
block: get file-win32.c handle locking option consistence with
file-posix.c
osdep: These function are only available on Non-Win32 system.
meson: Use -b to ignore CR vs. CR-LF issues on Windows
meson: disable crypto tests are empty under win32
meson: remove empty else and duplicated gio deps
vmstate: Fixes test-vmstate.c on msys2/mingw
cirrus: Building freebsd in a single short
logging: Fixes memory leak in test-logging.c
rcu: add uninit destructor for rcu
.cirrus.yml | 59 ++++++++++++++++-------------
block/file-win32.c | 23 ++++++++++-
block/nfs.c | 26 ++++++++-----
capstone | 2 +-
configure | 11 ++----
include/qemu/osdep.h | 2 +-
include/qemu/rcu.h | 5 +++
meson.build | 6 ---
scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++
scripts/ci/windows/msys2-install.sh | 33 ++++++++++++++++
tests/meson.build | 3 +-
tests/qapi-schema/meson.build | 2 +-
tests/test-char.c | 4 ++
tests/test-logging.c | 4 +-
tests/test-replication.c | 13 +++++--
tests/test-vmstate.c | 2 +-
ui/curses.c | 14 +++----
util/rcu.c | 37 +++++++++++++++++-
18 files changed, 205 insertions(+), 69 deletions(-)
create mode 100644 scripts/ci/windows/msys2-build.sh
create mode 100644 scripts/ci/windows/msys2-install.sh
--
2.28.0.windows.1
^ permalink raw reply [flat|nested] 43+ messages in thread
* [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 19:48 ` [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
` (15 subsequent siblings)
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
These compiling errors are fixed:
../block/nfs.c:27:10: fatal error: poll.h: No such file or directory
27 | #include <poll.h>
| ^~~~~~~~
compilation terminated.
../block/nfs.c:63:5: error: unknown type name 'blkcnt_t'
63 | blkcnt_t st_blocks;
| ^~~~~~~~
../block/nfs.c: In function 'nfs_client_open':
../block/nfs.c:550:27: error: 'struct _stat64' has no member named 'st_blocks'
550 | client->st_blocks = st.st_blocks;
| ^
../block/nfs.c: In function 'nfs_get_allocated_file_size':
../block/nfs.c:751:41: error: 'struct _stat64' has no member named 'st_blocks'
751 | return (task.ret < 0 ? task.ret : st.st_blocks * 512);
| ^
../block/nfs.c: In function 'nfs_reopen_prepare':
../block/nfs.c:805:31: error: 'struct _stat64' has no member named 'st_blocks'
805 | client->st_blocks = st.st_blocks;
| ^
../block/nfs.c: In function 'nfs_get_allocated_file_size':
../block/nfs.c:752:1: error: control reaches end of non-void function [-Werror=return-type]
752 | }
| ^
On msys2/mingw, there is no st_blocks in struct _stat64, so we use consistence st_size instead.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
block/nfs.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/block/nfs.c b/block/nfs.c
index 61a249a9fc..34b2cd5708 100644
--- a/block/nfs.c
+++ b/block/nfs.c
@@ -24,7 +24,9 @@
#include "qemu/osdep.h"
+#if !defined(_WIN32)
#include <poll.h>
+#endif
#include "qemu/config-file.h"
#include "qemu/error-report.h"
#include "qapi/error.h"
@@ -51,6 +53,12 @@
#define QEMU_NFS_MAX_PAGECACHE_SIZE (8388608 / NFS_BLKSIZE)
#define QEMU_NFS_MAX_DEBUG_LEVEL 2
+#if defined (_WIN32)
+#define nfs_stat __stat64
+#else
+#define nfs_stat stat
+#endif
+
typedef struct NFSClient {
struct nfs_context *context;
struct nfsfh *fh;
@@ -58,7 +66,7 @@ typedef struct NFSClient {
bool has_zero_init;
AioContext *aio_context;
QemuMutex mutex;
- blkcnt_t st_blocks;
+ int64_t st_size;
bool cache_used;
NFSServer *server;
char *path;
@@ -70,7 +78,7 @@ typedef struct NFSRPC {
int ret;
int complete;
QEMUIOVector *iov;
- struct stat *st;
+ struct nfs_stat *st;
Coroutine *co;
NFSClient *client;
} NFSRPC;
@@ -419,7 +427,7 @@ static int64_t nfs_client_open(NFSClient *client, BlockdevOptionsNfs *opts,
int flags, int open_flags, Error **errp)
{
int64_t ret = -EINVAL;
- struct stat st;
+ struct nfs_stat st;
char *file = NULL, *strp = NULL;
qemu_mutex_init(&client->mutex);
@@ -545,7 +553,7 @@ static int64_t nfs_client_open(NFSClient *client, BlockdevOptionsNfs *opts,
}
ret = DIV_ROUND_UP(st.st_size, BDRV_SECTOR_SIZE);
- client->st_blocks = st.st_blocks;
+ client->st_size = st.st_size;
client->has_zero_init = S_ISREG(st.st_mode);
*strp = '/';
goto out;
@@ -729,11 +737,11 @@ static int64_t nfs_get_allocated_file_size(BlockDriverState *bs)
{
NFSClient *client = bs->opaque;
NFSRPC task = {0};
- struct stat st;
+ struct nfs_stat st;
if (bdrv_is_read_only(bs) &&
!(bs->open_flags & BDRV_O_NOCACHE)) {
- return client->st_blocks * 512;
+ return client->st_size;
}
task.bs = bs;
@@ -746,7 +754,7 @@ static int64_t nfs_get_allocated_file_size(BlockDriverState *bs)
nfs_set_events(client);
BDRV_POLL_WHILE(bs, !task.complete);
- return (task.ret < 0 ? task.ret : st.st_blocks * 512);
+ return (task.ret < 0 ? task.ret : st.st_size);
}
static int coroutine_fn
@@ -778,7 +786,7 @@ static int nfs_reopen_prepare(BDRVReopenState *state,
BlockReopenQueue *queue, Error **errp)
{
NFSClient *client = state->bs->opaque;
- struct stat st;
+ struct nfs_stat st;
int ret = 0;
if (state->flags & BDRV_O_RDWR && bdrv_is_read_only(state->bs)) {
@@ -800,7 +808,7 @@ static int nfs_reopen_prepare(BDRVReopenState *state,
nfs_get_error(client->context));
return ret;
}
- client->st_blocks = st.st_blocks;
+ client->st_size = st.st_size;
}
return 0;
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
2020-09-08 19:48 ` [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 20:36 ` Peter Maydell
2020-09-08 19:48 ` [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
` (14 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
The currently random version capstone have the following compiling issue:
CC /c/work/xemu/qemu/build/slirp/src/arp_table.o
make[1]: *** No rule to make target “/c/work/xemu/qemu/build/capstone/capstone.lib”。 Stop.
Subproject commit 1d230532840a37ac032c6ab80128238fc930c6c1 are the tagged version 4.0.2
when upgrading to this version, the folder structure of include are changed to
qemu\capstone\include
│ platform.h
│
├─capstone
│ arm.h
│ arm64.h
│ capstone.h
│ evm.h
│ m680x.h
│ m68k.h
│ mips.h
│ platform.h
│ ppc.h
│ sparc.h
│ systemz.h
│ tms320c64x.h
│ x86.h
│ xcore.h
│
└─windowsce
intrin.h
stdint.h
in capstone. so we need add extra include path -I${source_path}/capstone/include/capstone
for directly #include <capstone.h>, and the exist include path should preserve, because
in capstone code there something like #include "capstone/capstone.h"
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
capstone | 2 +-
configure | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/capstone b/capstone
index 22ead3e0bf..1d23053284 160000
--- a/capstone
+++ b/capstone
@@ -1 +1 @@
-Subproject commit 22ead3e0bfdb87516656453336160e0a37b066bf
+Subproject commit 1d230532840a37ac032c6ab80128238fc930c6c1
diff --git a/configure b/configure
index 4231d56bcc..f4f8bc3756 100755
--- a/configure
+++ b/configure
@@ -5156,7 +5156,7 @@ case "$capstone" in
LIBCAPSTONE=libcapstone.a
fi
capstone_libs="-Lcapstone -lcapstone"
- capstone_cflags="-I${source_path}/capstone/include"
+ capstone_cflags="-I${source_path}/capstone/include -I${source_path}/capstone/include/capstone"
;;
system)
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
2020-09-08 19:48 ` [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
2020-09-08 19:48 ` [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 04/16] curses: Fixes curses compiling errors Yonggang Luo
` (13 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
The mingw pkg-config are showing following absolute path and contains : as the separator,
so we must handling : properly.
-D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC:/CI-Tools/msys64/mingw64/include/ncursesw:-I/usr/include/ncursesw:
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -pipe -lncursesw -lgnurx -ltre -lintl -liconv
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lncursesw
-DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lcursesw
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lncursesw
-DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lcursesw
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -lncursesw
-DNCURSES_WIDECHAR -I/usr/include/ncursesw -lcursesw
msys2/mingw lacks the POSIX-required langinfo.h.
gcc test.c -DNCURSES_WIDECHAR -I/mingw64/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
test.c:4:10: fatal error: langinfo.h: No such file or directory
4 | #include <langinfo.h>
| ^~~~~~~~~~~~
compilation terminated.
So we using g_get_codeset instead of nl_langinfo(CODESET)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
configure | 9 +++------
ui/curses.c | 10 +++++-----
2 files changed, 8 insertions(+), 11 deletions(-)
diff --git a/configure b/configure
index f4f8bc3756..2e6d54e15b 100755
--- a/configure
+++ b/configure
@@ -3653,8 +3653,8 @@ if test "$iconv" = "no" ; then
fi
if test "$curses" != "no" ; then
if test "$mingw32" = "yes" ; then
- curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
- curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
+ curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/${MSYSTEM,,}/include/ncursesw:"
+ curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw"
else
curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-I/usr/include/ncursesw:"
curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
@@ -3664,17 +3664,14 @@ if test "$curses" != "no" ; then
#include <locale.h>
#include <curses.h>
#include <wchar.h>
-#include <langinfo.h>
int main(void) {
- const char *codeset;
wchar_t wch = L'w';
setlocale(LC_ALL, "");
resize_term(0, 0);
addwstr(L"wide chars\n");
addnwstr(&wch, 1);
add_wch(WACS_DEGREE);
- codeset = nl_langinfo(CODESET);
- return codeset != 0;
+ return 0;
}
EOF
IFS=:
diff --git a/ui/curses.c b/ui/curses.c
index a59b23a9cf..12bc682cf9 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -30,7 +30,6 @@
#endif
#include <locale.h>
#include <wchar.h>
-#include <langinfo.h>
#include <iconv.h>
#include "qapi/error.h"
@@ -526,6 +525,7 @@ static void font_setup(void)
iconv_t nativecharset_to_ucs2;
iconv_t font_conv;
int i;
+ g_autofree gchar *local_codeset = g_get_codeset();
/*
* Control characters are normally non-printable, but VGA does have
@@ -566,14 +566,14 @@ static void font_setup(void)
0x25bc
};
- ucs2_to_nativecharset = iconv_open(nl_langinfo(CODESET), "UCS-2");
+ ucs2_to_nativecharset = iconv_open(local_codeset, "UCS-2");
if (ucs2_to_nativecharset == (iconv_t) -1) {
fprintf(stderr, "Could not convert font glyphs from UCS-2: '%s'\n",
strerror(errno));
exit(1);
}
- nativecharset_to_ucs2 = iconv_open("UCS-2", nl_langinfo(CODESET));
+ nativecharset_to_ucs2 = iconv_open("UCS-2", local_codeset);
if (nativecharset_to_ucs2 == (iconv_t) -1) {
iconv_close(ucs2_to_nativecharset);
fprintf(stderr, "Could not convert font glyphs to UCS-2: '%s'\n",
@@ -581,7 +581,7 @@ static void font_setup(void)
exit(1);
}
- font_conv = iconv_open(nl_langinfo(CODESET), font_charset);
+ font_conv = iconv_open(local_codeset, font_charset);
if (font_conv == (iconv_t) -1) {
iconv_close(ucs2_to_nativecharset);
iconv_close(nativecharset_to_ucs2);
@@ -602,7 +602,7 @@ static void font_setup(void)
/* DEL */
convert_ucs(0x7F, 0x2302, ucs2_to_nativecharset);
- if (strcmp(nl_langinfo(CODESET), "UTF-8")) {
+ if (strcmp(local_codeset, "UTF-8")) {
/* Non-Unicode capable, use termcap equivalents for those available */
for (i = 0; i <= 0xFF; i++) {
wchar_t wch[CCHARW_MAX];
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 04/16] curses: Fixes curses compiling errors.
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (2 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
` (12 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
This is the compiling error:
../ui/curses.c: In function 'curses_refresh':
../ui/curses.c:256:5: error: 'next_maybe_keycode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
256 | curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
| ^~~~~~~~~~
../ui/curses.c:302:32: note: 'next_maybe_keycode' was declared here
302 | enum maybe_keycode next_maybe_keycode;
| ^~~~~~~~~~~~~~~~~~
../ui/curses.c:256:5: error: 'maybe_keycode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
256 | curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
| ^~~~~~~~~~
../ui/curses.c:265:24: note: 'maybe_keycode' was declared here
265 | enum maybe_keycode maybe_keycode;
| ^~~~~~~~~~~~~
cc1.exe: all warnings being treated as errors
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
ui/curses.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ui/curses.c b/ui/curses.c
index 12bc682cf9..e4f9588c3e 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -262,7 +262,7 @@ static int curses2foo(const int _curses2foo[], const int _curseskey2foo[],
static void curses_refresh(DisplayChangeListener *dcl)
{
int chr, keysym, keycode, keycode_alt;
- enum maybe_keycode maybe_keycode;
+ enum maybe_keycode maybe_keycode = CURSES_KEYCODE;
curses_winch_check();
@@ -299,7 +299,7 @@ static void curses_refresh(DisplayChangeListener *dcl)
/* alt or esc key */
if (keycode == 1) {
- enum maybe_keycode next_maybe_keycode;
+ enum maybe_keycode next_maybe_keycode = CURSES_KEYCODE;
int nextchr = console_getch(&next_maybe_keycode);
if (nextchr != -1) {
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (3 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 04/16] curses: Fixes curses compiling errors Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 7:13 ` Thomas Huth
2020-09-08 19:48 ` [PATCH 06/16] ci: Enable msys2 ci in cirrus Yonggang Luo
` (11 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
These tests are blocking test-char to be finished.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-char.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tests/test-char.c b/tests/test-char.c
index d35cc839bc..80e5bac61a 100644
--- a/tests/test-char.c
+++ b/tests/test-char.c
@@ -103,6 +103,7 @@ static void char_console_test(void)
g_test_trap_assert_stdout("CONSOLE");
}
#endif
+#ifndef _WIN32
static void char_stdio_test_subprocess(void)
{
Chardev *chr;
@@ -126,6 +127,7 @@ static void char_stdio_test(void)
g_test_trap_assert_passed();
g_test_trap_assert_stdout("buf");
}
+#endif
static void char_ringbuf_test(void)
{
@@ -1471,8 +1473,10 @@ int main(int argc, char **argv)
g_test_add_func("/char/console/subprocess", char_console_test_subprocess);
g_test_add_func("/char/console", char_console_test);
#endif
+#ifndef _WIN32
g_test_add_func("/char/stdio/subprocess", char_stdio_test_subprocess);
g_test_add_func("/char/stdio", char_stdio_test);
+#endif
#ifndef _WIN32
g_test_add_func("/char/pipe", char_pipe_test);
#endif
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 06/16] ci: Enable msys2 ci in cirrus
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (4 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:27 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
` (10 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, 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>
---
.cirrus.yml | 24 +++++++++++++++++++++
scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++++++++++++
scripts/ci/windows/msys2-install.sh | 33 +++++++++++++++++++++++++++++
3 files changed, 85 insertions(+)
create mode 100644 scripts/ci/windows/msys2-build.sh
create mode 100644 scripts/ci/windows/msys2-install.sh
diff --git a/.cirrus.yml b/.cirrus.yml
index 3dd9fcff7f..49335e68c9 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -63,3 +63,27 @@ 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 "sh scripts/ci/windows/msys2-install.sh"
+ script:
+ - C:\tools\msys64\usr\bin\bash.exe -lc "sh scripts/ci/windows/msys2-build.sh"
diff --git a/scripts/ci/windows/msys2-build.sh b/scripts/ci/windows/msys2-build.sh
new file mode 100644
index 0000000000..d9d046b5b0
--- /dev/null
+++ b/scripts/ci/windows/msys2-build.sh
@@ -0,0 +1,28 @@
+mkdir build
+cd build
+../configure \
+--python=python3 \
+--ninja=ninja \
+--enable-stack-protector \
+--enable-guest-agent \
+--disable-pie \
+--enable-gnutls --enable-nettle \
+--enable-sdl --enable-sdl-image --enable-gtk --disable-vte --enable-curses --enable-iconv \
+--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg --enable-vnc-png \
+--enable-slirp=git \
+--disable-brlapi --enable-curl \
+--enable-fdt \
+--disable-kvm --enable-hax --enable-whpx \
+--enable-libnfs --enable-libusb --enable-live-block-migration --enable-usb-redir \
+--enable-lzo --enable-snappy --enable-bzip2 --enable-zstd \
+--enable-membarrier --enable-coroutine-pool \
+--enable-libssh --enable-libxml2 \
+--enable-jemalloc --enable-avx2 \
+--enable-replication \
+--enable-tools \
+--enable-bochs --enable-cloop --enable-dmg --enable-qcow1 --enable-vdi --enable-vvfat --enable-qed --enable-parallels \
+--enable-sheepdog \
+--enable-capstone=git
+
+make -j$NUMBER_OF_PROCESSORS
+make -i -j$NUMBER_OF_PROCESSORS check
diff --git a/scripts/ci/windows/msys2-install.sh b/scripts/ci/windows/msys2-install.sh
new file mode 100644
index 0000000000..6086452399
--- /dev/null
+++ b/scripts/ci/windows/msys2-install.sh
@@ -0,0 +1,33 @@
+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 \
+
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw.
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (5 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 06/16] ci: Enable msys2 ci in cirrus Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:23 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c Yonggang Luo
` (9 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
On Windows there is no path like /tmp/s_local_disk.XXXXXX
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/test-replication.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/tests/test-replication.c b/tests/test-replication.c
index 9ab3666a90..cfc1ae6feb 100644
--- a/tests/test-replication.c
+++ b/tests/test-replication.c
@@ -23,14 +23,14 @@
/* primary */
#define P_ID "primary-id"
-static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
+static char p_local_disk[PATH_MAX];
/* secondary */
#define S_ID "secondary-id"
#define S_LOCAL_DISK_ID "secondary-local-disk-id"
-static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
-static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
-static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
+static char s_local_disk[PATH_MAX];
+static char s_active_disk[PATH_MAX];
+static char s_hidden_disk[PATH_MAX];
/* FIXME: steal from blockdev.c */
QemuOptsList qemu_drive_opts = {
@@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
int main(int argc, char **argv)
{
int ret;
+ const char *tmpdir = g_get_tmp_dir();
+ snprintf(p_local_disk, sizeof(p_local_disk), "%s/p_local_disk.XXXXXX", tmpdir);
+ snprintf(s_local_disk, sizeof(s_local_disk), "%s/s_local_disk.XXXXXX", tmpdir);
+ snprintf(s_active_disk, sizeof(s_active_disk), "%s/s_active_disk.XXXXXX", tmpdir);
+ snprintf(s_hidden_disk, sizeof(s_hidden_disk), "%s/s_hidden_disk.XXXXXX", tmpdir);
qemu_init_main_loop(&error_fatal);
bdrv_init();
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (6 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:19 ` Kevin Wolf
2020-09-08 19:48 ` [PATCH 09/16] osdep: These function are only available on Non-Win32 system Yonggang Luo
` (8 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
block/file-win32.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/block/file-win32.c b/block/file-win32.c
index ab69bd811a..14e5f5c3b5 100644
--- a/block/file-win32.c
+++ b/block/file-win32.c
@@ -299,6 +299,11 @@ static QemuOptsList raw_runtime_opts = {
.type = QEMU_OPT_STRING,
.help = "host AIO implementation (threads, native)",
},
+ {
+ .name = "locking",
+ .type = QEMU_OPT_STRING,
+ .help = "file locking mode (on/off/auto, default: auto)",
+ },
{ /* end of list */ }
},
};
@@ -334,6 +339,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags,
const char *filename;
bool use_aio;
int ret;
+ OnOffAuto locking;
s->type = FTYPE_FILE;
@@ -342,11 +348,24 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags,
ret = -EINVAL;
goto fail;
}
-
- if (qdict_get_try_bool(options, "locking", false)) {
+ locking = qapi_enum_parse(&OnOffAuto_lookup,
+ qemu_opt_get(opts, "locking"),
+ ON_OFF_AUTO_AUTO, &local_err);
+ if (local_err) {
+ error_propagate(errp, local_err);
+ ret = -EINVAL;
+ goto fail;
+ }
+ switch (locking) {
+ case ON_OFF_AUTO_ON:
error_setg(errp, "locking=on is not supported on Windows");
ret = -EINVAL;
goto fail;
+ case ON_OFF_AUTO_OFF:
+ case ON_OFF_AUTO_AUTO:
+ break;
+ default:
+ g_assert_not_reached();
}
filename = qemu_opt_get(opts, "filename");
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 09/16] osdep: These function are only available on Non-Win32 system.
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (7 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 19:48 ` [PATCH 10/16] meson: Use -b to ignore CR vs. CR-LF issues on Windows Yonggang Luo
` (7 subsequent siblings)
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
int qemu_lock_fd(int fd, int64_t start, int64_t len, bool exclusive);
int qemu_unlock_fd(int fd, int64_t start, int64_t len);
int qemu_lock_fd_test(int fd, int64_t start, int64_t len, bool exclusive);
bool qemu_has_ofd_lock(void);
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
include/qemu/osdep.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 412962d91a..e80fddd1e8 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -502,11 +502,11 @@ int qemu_close(int fd);
int qemu_unlink(const char *name);
#ifndef _WIN32
int qemu_dup(int fd);
-#endif
int qemu_lock_fd(int fd, int64_t start, int64_t len, bool exclusive);
int qemu_unlock_fd(int fd, int64_t start, int64_t len);
int qemu_lock_fd_test(int fd, int64_t start, int64_t len, bool exclusive);
bool qemu_has_ofd_lock(void);
+#endif
#if defined(__HAIKU__) && defined(__i386__)
#define FMT_pid "%ld"
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 10/16] meson: Use -b to ignore CR vs. CR-LF issues on Windows
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (8 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 09/16] osdep: These function are only available on Non-Win32 system Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
` (6 subsequent siblings)
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
On windows, a difference in line endings causes testsuite failures
complaining that every single line in files such as
'tests/qapi-schemadoc-good.texi' is wrong. Fix it by adding -b to diff.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
tests/qapi-schema/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build
index c87d141417..f1449298b0 100644
--- a/tests/qapi-schema/meson.build
+++ b/tests/qapi-schema/meson.build
@@ -220,6 +220,6 @@ qapi_doc = custom_target('QAPI doc',
# "full_path()" needed here to work around
# https://github.com/mesonbuild/meson/issues/7585
-test('QAPI doc', diff, args: ['-u', files('doc-good.texi'), qapi_doc[0].full_path()],
+test('QAPI doc', diff, args: ['-b', '-u', files('doc-good.texi'), qapi_doc[0].full_path()],
depends: qapi_doc,
suite: ['qapi-schema', 'qapi-doc'])
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (9 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 10/16] meson: Use -b to ignore CR vs. CR-LF issues on Windows Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:07 ` Thomas Huth
2020-09-09 8:10 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 12/16] meson: remove empty else and duplicated gio deps Yonggang Luo
` (5 subsequent siblings)
16 siblings, 2 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
Disable following tests on msys2/mingw
'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, crypto],
'test-crypto-tlssession': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
tasn1, crypto],
'test-io-channel-tls': ['io-channel-helpers.c', 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, io, crypto]}
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
tests/meson.build | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/meson.build b/tests/meson.build
index 998e4c48f9..b470a90e3a 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -145,7 +145,8 @@ if have_block
'test-crypto-block': [io],
}
if 'CONFIG_GNUTLS' in config_host and \
- 'CONFIG_TASN1' in config_host
+ 'CONFIG_TASN1' in config_host and \
+ 'CONFIG_POSIX' in config_host
tests += {
'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, crypto],
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 12/16] meson: remove empty else and duplicated gio deps
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (10 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 19:48 ` [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
` (4 subsequent siblings)
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
meson.build | 6 ------
1 file changed, 6 deletions(-)
diff --git a/meson.build b/meson.build
index 5421eca66a..0b1741557d 100644
--- a/meson.build
+++ b/meson.build
@@ -317,7 +317,6 @@ opengl = not_found
if 'CONFIG_OPENGL' in config_host
opengl = declare_dependency(compile_args: config_host['OPENGL_CFLAGS'].split(),
link_args: config_host['OPENGL_LIBS'].split())
-else
endif
gtk = not_found
if 'CONFIG_GTK' in config_host
@@ -344,11 +343,6 @@ if 'CONFIG_ICONV' in config_host
iconv = declare_dependency(compile_args: config_host['ICONV_CFLAGS'].split(),
link_args: config_host['ICONV_LIBS'].split())
endif
-gio = not_found
-if 'CONFIG_GIO' in config_host
- gio = declare_dependency(compile_args: config_host['GIO_CFLAGS'].split(),
- link_args: config_host['GIO_LIBS'].split())
-endif
vnc = not_found
png = not_found
jpeg = not_found
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (11 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 12/16] meson: remove empty else and duplicated gio deps Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:11 ` Thomas Huth
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
` (3 subsequent siblings)
16 siblings, 1 reply; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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,
Philippe Mathieu-Daudé,
Li-Wen Hsu, Peter Lieven
The vmstate are valid on win32, just need generate tmp path properly
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
tests/test-vmstate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
index f8de709a0b..4c453575bb 100644
--- a/tests/test-vmstate.c
+++ b/tests/test-vmstate.c
@@ -34,7 +34,6 @@
#include "qemu/module.h"
#include "io/channel-file.h"
-static char temp_file[] = "/tmp/vmst.test.XXXXXX";
static int temp_fd;
@@ -1487,6 +1486,7 @@ static void test_tmp_struct(void)
int main(int argc, char **argv)
{
+ g_autofree char* temp_file = g_strdup_printf("%s/vmst.test.XXXXXX", g_get_tmp_dir());
temp_fd = mkstemp(temp_file);
module_call_init(MODULE_INIT_QOM);
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 14/16] cirrus: Building freebsd in a single short
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (12 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-09 8:15 ` Thomas Huth
2020-09-09 8:17 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 15/16] logging: Fixes memory leak in test-logging.c Yonggang Luo
` (2 subsequent siblings)
16 siblings, 2 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
freebsd 1 hour limit not hit anymore
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
.cirrus.yml | 35 ++++++++---------------------------
1 file changed, 8 insertions(+), 27 deletions(-)
diff --git a/.cirrus.yml b/.cirrus.yml
index 49335e68c9..b0004273bb 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,38 +1,19 @@
env:
CIRRUS_CLONE_DEPTH: 1
-freebsd_1st_task:
+freebsd_12_task:
freebsd_instance:
image_family: freebsd-12-1
- cpu: 4
- memory: 4G
- install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y
- bash curl cyrus-sasl git glib gmake gnutls gsed
- nettle perl5 pixman pkgconf png usbredir
+ cpu: 8
+ memory: 8G
+ install_script:
+ - ASSUME_ALWAYS_YES=yes pkg bootstrap -f ;
+ - pkg install -y bash curl cyrus-sasl git glib gmake gnutls gsed
+ nettle perl5 pixman pkgconf png usbredir
script:
- mkdir build
- cd build
- - ../configure --disable-user --target-list-exclude='alpha-softmmu
- ppc64-softmmu ppc-softmmu riscv32-softmmu riscv64-softmmu s390x-softmmu
- sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu'
- --enable-werror || { cat config.log; exit 1; }
- - gmake -j$(sysctl -n hw.ncpu)
- - gmake -j$(sysctl -n hw.ncpu) check
-
-freebsd_2nd_task:
- freebsd_instance:
- image_family: freebsd-12-1
- cpu: 4
- memory: 4G
- install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y
- bash curl cyrus-sasl git glib gmake gnutls gtk3 gsed libepoxy mesa-libs
- nettle perl5 pixman pkgconf png SDL2 usbredir
- script:
- - ./configure --enable-werror --target-list='alpha-softmmu ppc64-softmmu
- ppc-softmmu riscv32-softmmu riscv64-softmmu s390x-softmmu
- sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu
- sparc-bsd-user sparc64-bsd-user x86_64-bsd-user i386-bsd-user'
- || { cat config.log; exit 1; }
+ - ../configure --enable-werror || { cat config.log; exit 1; }
- gmake -j$(sysctl -n hw.ncpu)
- gmake -j$(sysctl -n hw.ncpu) check
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 15/16] logging: Fixes memory leak in test-logging.c
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (13 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 19:48 ` [PATCH 16/16] rcu: add uninit destructor for rcu Yonggang Luo
2020-09-08 20:41 ` [PATCH 00/16] W32, W64 patches Eric Blake
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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,
Philippe Mathieu-Daudé,
Li-Wen Hsu, Peter Lieven
g_dir_make_tmp Returns the actual name used. This string should be
freed with g_free() when not needed any longer and is is in the GLib
file name encoding. In case of errors, NULL is returned and error will
be set. Use g_autofree to free it properly
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
tests/test-logging.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/test-logging.c b/tests/test-logging.c
index 8a1161de1d..957f6c08cd 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);
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* [PATCH 16/16] rcu: add uninit destructor for rcu
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (14 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 15/16] logging: Fixes memory leak in test-logging.c Yonggang Luo
@ 2020-09-08 19:48 ` Yonggang Luo
2020-09-08 20:41 ` [PATCH 00/16] W32, W64 patches Eric Blake
16 siblings, 0 replies; 43+ messages in thread
From: Yonggang Luo @ 2020-09-08 19:48 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, Li-Wen Hsu,
Peter Lieven
This is necessary if the pending rcu calls are closing and removing
temp files. This also provide a function
void rcu_wait_finished(void);
to fixes test-logging.c test failure on msys2/mingw.
On windows if the file doesn't closed, you can not remove it.
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
---
include/qemu/rcu.h | 5 +++++
tests/test-logging.c | 2 ++
util/rcu.c | 37 ++++++++++++++++++++++++++++++++++++-
3 files changed, 43 insertions(+), 1 deletion(-)
diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h
index 570aa603eb..dd0a92c1d0 100644
--- a/include/qemu/rcu.h
+++ b/include/qemu/rcu.h
@@ -124,6 +124,11 @@ extern void rcu_unregister_thread(void);
extern void rcu_enable_atfork(void);
extern void rcu_disable_atfork(void);
+/*
+ * Wait all rcu call executed and exit the rcu thread.
+ */
+extern void rcu_wait_finished(void);
+
struct rcu_head;
typedef void RCUCBFunc(struct rcu_head *head);
diff --git a/tests/test-logging.c b/tests/test-logging.c
index 957f6c08cd..7a5b59f4a5 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();
+ rcu_wait_finished();
rmdir_full(tmp_path);
g_free(tmp_path);
diff --git a/util/rcu.c b/util/rcu.c
index 60a37f72c3..43367988b9 100644
--- a/util/rcu.c
+++ b/util/rcu.c
@@ -308,10 +308,20 @@ void rcu_unregister_thread(void)
qemu_mutex_unlock(&rcu_registry_lock);
}
+typedef struct QemuRcuMessage {
+ struct rcu_head rcu;
+ void *message;
+} QemuRcuMessage;
+
+static int rcu_thread_exit_called = 0;
+static int rcu_thread_exited = 0;
+static QemuRcuMessage rcu_thread_message;
+
static void rcu_init_complete(void)
{
QemuThread thread;
-
+ atomic_mb_set(&rcu_thread_exit_called, 0);
+ atomic_mb_set(&rcu_thread_exited, 0);
qemu_mutex_init(&rcu_registry_lock);
qemu_mutex_init(&rcu_sync_lock);
qemu_event_init(&rcu_gp_event, true);
@@ -327,6 +337,26 @@ static void rcu_init_complete(void)
rcu_register_thread();
}
+static void rcu_thread_exit(QemuRcuMessage *param)
+{
+ atomic_mb_set((int*)param->message, 1);
+ qemu_thread_exit(NULL);
+}
+
+void rcu_wait_finished(void)
+{
+ if (atomic_xchg(&rcu_thread_exit_called, 1) == 0)
+ {
+ rcu_thread_message.message = &rcu_thread_exited;
+ call_rcu(&rcu_thread_message, rcu_thread_exit, rcu);
+ }
+
+ while (atomic_mb_read(&rcu_thread_exited) == 0)
+ {
+ g_usleep(10000);
+ }
+}
+
static int atfork_depth = 1;
void rcu_enable_atfork(void)
@@ -379,3 +409,8 @@ static void __attribute__((__constructor__)) rcu_init(void)
#endif
rcu_init_complete();
}
+
+static void __attribute__((__destructor__)) rcu_uninit(void)
+{
+ rcu_wait_finished();
+}
--
2.28.0.windows.1
^ permalink raw reply related [flat|nested] 43+ messages in thread
* Re: [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2
2020-09-08 19:48 ` [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
@ 2020-09-08 20:36 ` Peter Maydell
2020-09-08 20:57 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 43+ messages in thread
From: Peter Maydell @ 2020-09-08 20:36 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, QEMU Developers, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Tue, 8 Sep 2020 at 20:50, Yonggang Luo <luoyonggang@gmail.com> wrote:
>
> The currently random version capstone have the following compiling issue:
> CC /c/work/xemu/qemu/build/slirp/src/arp_table.o
> make[1]: *** No rule to make target “/c/work/xemu/qemu/build/capstone/capstone.lib”。 Stop.
>
> Subproject commit 1d230532840a37ac032c6ab80128238fc930c6c1 are the tagged version 4.0.2
Richard H says that last time we tried to move the capstone
submodule forward there were "all sorts of random portability problems
across old/odd systems", so this is probably likely to have issues
when it gets tested on other systems.
thanks
-- PMm
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 00/16] W32, W64 patches
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
` (15 preceding siblings ...)
2020-09-08 19:48 ` [PATCH 16/16] rcu: add uninit destructor for rcu Yonggang Luo
@ 2020-09-08 20:41 ` Eric Blake
2020-09-08 20:52 ` 罗勇刚(Yonggang Luo)
16 siblings, 1 reply; 43+ messages in thread
From: Eric Blake @ 2020-09-08 20:41 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,
Gerd Hoffmann, Wen Congyang, Max Reitz, Li-Wen Hsu, Peter Lieven
On 9/8/20 2:48 PM, Yonggang Luo wrote:
> It first introduce msys2 CI on cirrus by fixes nfs, capstone, curses and
> disable partial test-char tests.
> And then fixes a number of unit tests failure on msys2/mingw
Please remember to include a version number (v2, v3, ...) if this is an
improved posting of an earlier revision of the patch series. 'git
send-email -v2' does that automatically, for example.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 00/16] W32, W64 patches
2020-09-08 20:41 ` [PATCH 00/16] W32, W64 patches Eric Blake
@ 2020-09-08 20:52 ` 罗勇刚(Yonggang Luo)
0 siblings, 0 replies; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-08 20:52 UTC (permalink / raw)
To: Eric Blake
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 807 bytes --]
On Wed, Sep 9, 2020 at 4:42 AM Eric Blake <eblake@redhat.com> wrote:
> On 9/8/20 2:48 PM, Yonggang Luo wrote:
> > It first introduce msys2 CI on cirrus by fixes nfs, capstone, curses and
> > disable partial test-char tests.
> > And then fixes a number of unit tests failure on msys2/mingw
>
> Please remember to include a version number (v2, v3, ...) if this is an
> improved posting of an earlier revision of the patch series. 'git
> send-email -v2' does that automatically, for example.
>
> See that, I am using git-publish.py script, next time it will comes with a
v2.
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3226
> Virtualization: qemu.org | libvirt.org
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 1529 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2
2020-09-08 20:36 ` Peter Maydell
@ 2020-09-08 20:57 ` 罗勇刚(Yonggang Luo)
0 siblings, 0 replies; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-08 20:57 UTC (permalink / raw)
To: Peter Maydell
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, QEMU Developers, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 964 bytes --]
On Wed, Sep 9, 2020 at 4:36 AM Peter Maydell <peter.maydell@linaro.org>
wrote:
> On Tue, 8 Sep 2020 at 20:50, Yonggang Luo <luoyonggang@gmail.com> wrote:
> >
> > The currently random version capstone have the following compiling issue:
> > CC /c/work/xemu/qemu/build/slirp/src/arp_table.o
> > make[1]: *** No rule to make target
> “/c/work/xemu/qemu/build/capstone/capstone.lib”。 Stop.
> >
> > Subproject commit 1d230532840a37ac032c6ab80128238fc930c6c1 are the
> tagged version 4.0.2
>
> Richard H says that last time we tried to move the capstone
> submodule forward there were "all sorts of random portability problems
> across old/odd systems", so this is probably likely to have issues
> when it gets tested on other systems.
>
Which system specifically, maybe they are dropped now or we can convert
capstone to meson?
>
> thanks
> -- PMm
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 1625 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses
2020-09-08 19:48 ` [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
@ 2020-09-09 4:56 ` Gerd Hoffmann
0 siblings, 0 replies; 43+ messages in thread
From: Gerd Hoffmann @ 2020-09-09 4:56 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, qemu-devel, Max Reitz,
Wen Congyang, Li-Wen Hsu, Markus Armbruster, Peter Lieven
On Wed, Sep 09, 2020 at 03:48:07AM +0800, Yonggang Luo wrote:
> The mingw pkg-config are showing following absolute path and contains : as the separator,
> so we must handling : properly.
>
> -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC:/CI-Tools/msys64/mingw64/include/ncursesw:-I/usr/include/ncursesw:
> -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -pipe -lncursesw -lgnurx -ltre -lintl -liconv
> -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lncursesw
> -DNCURSES_WIDECHAR -D_XOPEN_SOURCE=600 -D_POSIX_C_SOURCE=199506L -IC -lcursesw
> -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
> -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lncursesw
> -DNCURSES_WIDECHAR /CI-Tools/msys64/mingw64/include/ncursesw -lcursesw
> -DNCURSES_WIDECHAR -I/usr/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
> -DNCURSES_WIDECHAR -I/usr/include/ncursesw -lncursesw
> -DNCURSES_WIDECHAR -I/usr/include/ncursesw -lcursesw
>
> msys2/mingw lacks the POSIX-required langinfo.h.
>
> gcc test.c -DNCURSES_WIDECHAR -I/mingw64/include/ncursesw -pipe -lncursesw -lgnurx -ltre -lintl -liconv
> test.c:4:10: fatal error: langinfo.h: No such file or directory
> 4 | #include <langinfo.h>
> | ^~~~~~~~~~~~
> compilation terminated.
>
> So we using g_get_codeset instead of nl_langinfo(CODESET)
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 04/16] curses: Fixes curses compiling errors.
2020-09-08 19:48 ` [PATCH 04/16] curses: Fixes curses compiling errors Yonggang Luo
@ 2020-09-09 4:56 ` Gerd Hoffmann
0 siblings, 0 replies; 43+ messages in thread
From: Gerd Hoffmann @ 2020-09-09 4:56 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, qemu-devel, Max Reitz,
Wen Congyang, Li-Wen Hsu, Markus Armbruster, Peter Lieven
On Wed, Sep 09, 2020 at 03:48:08AM +0800, Yonggang Luo wrote:
> This is the compiling error:
> ../ui/curses.c: In function 'curses_refresh':
> ../ui/curses.c:256:5: error: 'next_maybe_keycode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> 256 | curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
> | ^~~~~~~~~~
> ../ui/curses.c:302:32: note: 'next_maybe_keycode' was declared here
> 302 | enum maybe_keycode next_maybe_keycode;
> | ^~~~~~~~~~~~~~~~~~
> ../ui/curses.c:256:5: error: 'maybe_keycode' may be used uninitialized in this function [-Werror=maybe-uninitialized]
> 256 | curses2foo(_curses2keycode, _curseskey2keycode, chr, maybe_keycode)
> | ^~~~~~~~~~
> ../ui/curses.c:265:24: note: 'maybe_keycode' was declared here
> 265 | enum maybe_keycode maybe_keycode;
> | ^~~~~~~~~~~~~
> cc1.exe: all warnings being treated as errors
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32
2020-09-08 19:48 ` [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
@ 2020-09-09 7:13 ` Thomas Huth
2020-09-09 7:52 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 43+ messages in thread
From: Thomas Huth @ 2020-09-09 7:13 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,
Gerd Hoffmann, Wen Congyang, Max Reitz, Li-Wen Hsu, Peter Lieven
On 08/09/2020 21.48, Yonggang Luo wrote:
> These tests are blocking test-char to be finished.
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/test-char.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/tests/test-char.c b/tests/test-char.c
> index d35cc839bc..80e5bac61a 100644
> --- a/tests/test-char.c
> +++ b/tests/test-char.c
> @@ -103,6 +103,7 @@ static void char_console_test(void)
> g_test_trap_assert_stdout("CONSOLE");
> }
> #endif
> +#ifndef _WIN32
> static void char_stdio_test_subprocess(void)
> {
> Chardev *chr;
> @@ -126,6 +127,7 @@ static void char_stdio_test(void)
> g_test_trap_assert_passed();
> g_test_trap_assert_stdout("buf");
> }
> +#endif
>
> static void char_ringbuf_test(void)
> {
> @@ -1471,8 +1473,10 @@ int main(int argc, char **argv)
> g_test_add_func("/char/console/subprocess", char_console_test_subprocess);
> g_test_add_func("/char/console", char_console_test);
> #endif
> +#ifndef _WIN32
> g_test_add_func("/char/stdio/subprocess", char_stdio_test_subprocess);
> g_test_add_func("/char/stdio", char_stdio_test);
> +#endif
> #ifndef _WIN32
> g_test_add_func("/char/pipe", char_pipe_test);
> #endif
I think you could rather simply replace the three #ifndef _WIN32
sections with only one?
Thomas
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32
2020-09-09 7:13 ` Thomas Huth
@ 2020-09-09 7:52 ` 罗勇刚(Yonggang Luo)
0 siblings, 0 replies; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 7:52 UTC (permalink / raw)
To: Thomas Huth
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 1759 bytes --]
On Wed, Sep 9, 2020 at 3:13 PM Thomas Huth <thuth@redhat.com> wrote:
> On 08/09/2020 21.48, Yonggang Luo wrote:
> > These tests are blocking test-char to be finished.
> >
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > tests/test-char.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/tests/test-char.c b/tests/test-char.c
> > index d35cc839bc..80e5bac61a 100644
> > --- a/tests/test-char.c
> > +++ b/tests/test-char.c
> > @@ -103,6 +103,7 @@ static void char_console_test(void)
> > g_test_trap_assert_stdout("CONSOLE");
> > }
> > #endif
> > +#ifndef _WIN32
> > static void char_stdio_test_subprocess(void)
> > {
> > Chardev *chr;
> > @@ -126,6 +127,7 @@ static void char_stdio_test(void)
> > g_test_trap_assert_passed();
> > g_test_trap_assert_stdout("buf");
> > }
> > +#endif
> >
> > static void char_ringbuf_test(void)
> > {
> > @@ -1471,8 +1473,10 @@ int main(int argc, char **argv)
> > g_test_add_func("/char/console/subprocess",
> char_console_test_subprocess);
> > g_test_add_func("/char/console", char_console_test);
> > #endif
> > +#ifndef _WIN32
> > g_test_add_func("/char/stdio/subprocess",
> char_stdio_test_subprocess);
> > g_test_add_func("/char/stdio", char_stdio_test);
> > +#endif
> > #ifndef _WIN32
> > g_test_add_func("/char/pipe", char_pipe_test);
> > #endif
>
> I think you could rather simply replace the three #ifndef _WIN32
> sections with only one?
>
That's easy, I am wondering if /char/stdio are able works under win32?
And also the /char/pipe, anyway disable it first, trying it latter
>
> Thomas
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 2690 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
@ 2020-09-09 8:07 ` Thomas Huth
2020-09-09 8:10 ` Daniel P. Berrangé
1 sibling, 0 replies; 43+ messages in thread
From: Thomas Huth @ 2020-09-09 8:07 UTC (permalink / raw)
To: Yonggang Luo, qemu-devel
Cc: Peter Lieven, Daniel P. Berrange, Stefan Weil, Xie Changlong,
Richard Henderson, Markus Armbruster, Max Reitz, Gerd Hoffmann,
Wen Congyang
On 08/09/2020 21.48, Yonggang Luo wrote:
> Disable following tests on msys2/mingw
> 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, crypto],
> 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> tasn1, crypto],
> 'test-io-channel-tls': ['io-channel-helpers.c', 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, io, crypto]}
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/meson.build | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tests/meson.build b/tests/meson.build
> index 998e4c48f9..b470a90e3a 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -145,7 +145,8 @@ if have_block
> 'test-crypto-block': [io],
> }
> if 'CONFIG_GNUTLS' in config_host and \
> - 'CONFIG_TASN1' in config_host
> + 'CONFIG_TASN1' in config_host and \
> + 'CONFIG_POSIX' in config_host
> tests += {
> 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, crypto],
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
2020-09-09 8:07 ` Thomas Huth
@ 2020-09-09 8:10 ` Daniel P. Berrangé
2020-09-09 8:17 ` 罗勇刚(Yonggang Luo)
1 sibling, 1 reply; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:10 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-devel, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 03:48:15AM +0800, Yonggang Luo wrote:
> Disable following tests on msys2/mingw
> 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, crypto],
> 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> tasn1, crypto],
> 'test-io-channel-tls': ['io-channel-helpers.c', 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, io, crypto]}
Why ? GNUTLS is available on Windows and if it is enabled
at build time, then we should certainly be running the tests.
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/meson.build | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tests/meson.build b/tests/meson.build
> index 998e4c48f9..b470a90e3a 100644
> --- a/tests/meson.build
> +++ b/tests/meson.build
> @@ -145,7 +145,8 @@ if have_block
> 'test-crypto-block': [io],
> }
> if 'CONFIG_GNUTLS' in config_host and \
> - 'CONFIG_TASN1' in config_host
> + 'CONFIG_TASN1' in config_host and \
> + 'CONFIG_POSIX' in config_host
> tests += {
> 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> tasn1, crypto],
> --
> 2.28.0.windows.1
>
>
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] 43+ messages in thread
* Re: [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw
2020-09-08 19:48 ` [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
@ 2020-09-09 8:11 ` Thomas Huth
0 siblings, 0 replies; 43+ messages in thread
From: Thomas Huth @ 2020-09-09 8:11 UTC (permalink / raw)
To: Yonggang Luo, qemu-devel
Cc: Peter Lieven, Juan Quintela, Stefan Weil, Xie Changlong,
Richard Henderson, Dr. David Alan Gilbert, Markus Armbruster,
Gerd Hoffmann, Wen Congyang, Max Reitz,
Philippe Mathieu-Daudé
On 08/09/2020 21.48, Yonggang Luo wrote:
> The vmstate are valid on win32, just need generate tmp path properly
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> tests/test-vmstate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/test-vmstate.c b/tests/test-vmstate.c
> index f8de709a0b..4c453575bb 100644
> --- a/tests/test-vmstate.c
> +++ b/tests/test-vmstate.c
> @@ -34,7 +34,6 @@
> #include "qemu/module.h"
> #include "io/channel-file.h"
>
> -static char temp_file[] = "/tmp/vmst.test.XXXXXX";
> static int temp_fd;
>
>
> @@ -1487,6 +1486,7 @@ static void test_tmp_struct(void)
>
> int main(int argc, char **argv)
> {
> + g_autofree char* temp_file = g_strdup_printf("%s/vmst.test.XXXXXX", g_get_tmp_dir());
> temp_fd = mkstemp(temp_file);
>
> module_call_init(MODULE_INIT_QOM);
>
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 14/16] cirrus: Building freebsd in a single short
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
@ 2020-09-09 8:15 ` Thomas Huth
2020-09-09 8:17 ` Daniel P. Berrangé
1 sibling, 0 replies; 43+ messages in thread
From: Thomas Huth @ 2020-09-09 8:15 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,
Gerd Hoffmann, Wen Congyang, Max Reitz, Li-Wen Hsu, Peter Lieven
On 08/09/2020 21.48, Yonggang Luo wrote:
> freebsd 1 hour limit not hit anymore
Why is this faster again? How long did the build take for you? If it's
still close to 1h, I think we should keep the two jobs, to avoid that it
is occasionally failing when the builder machines are a little bit slower...
Thomas
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-09 8:10 ` Daniel P. Berrangé
@ 2020-09-09 8:17 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:22 ` Daniel P. Berrangé
0 siblings, 1 reply; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 8:17 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 2408 bytes --]
On Wed, Sep 9, 2020 at 4:11 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Wed, Sep 09, 2020 at 03:48:15AM +0800, Yonggang Luo wrote:
> > Disable following tests on msys2/mingw
> > 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c',
> 'pkix_asn1_tab.c',
> > tasn1, crypto],
> > 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c',
> 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> > tasn1, crypto],
> > 'test-io-channel-tls': ['io-channel-helpers.c',
> 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> > tasn1, io, crypto]}
>
> Why ? GNUTLS is available on Windows and if it is enabled
> at build time, then we should certainly be running the tests.
>
Don't know why., the header disable it totally. and it's requires
CONFIG_TASN1, don't know if CONFIG_TASN1 works under win32
```
#ifndef TESTS_CRYPTO_TLS_X509_HELPERS_H
#define TESTS_CRYPTO_TLS_X509_HELPERS_H
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
#if !(defined WIN32) && \
defined(CONFIG_TASN1)
# define QCRYPTO_HAVE_TLS_TEST_SUPPORT
#endif
#ifdef QCRYPTO_HAVE_TLS_TEST_SUPPORT
# include <libtasn1.h>
```
>
> >
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > tests/meson.build | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tests/meson.build b/tests/meson.build
> > index 998e4c48f9..b470a90e3a 100644
> > --- a/tests/meson.build
> > +++ b/tests/meson.build
> > @@ -145,7 +145,8 @@ if have_block
> > 'test-crypto-block': [io],
> > }
> > if 'CONFIG_GNUTLS' in config_host and \
> > - 'CONFIG_TASN1' in config_host
> > + 'CONFIG_TASN1' in config_host and \
> > + 'CONFIG_POSIX' in config_host
> > tests += {
> > 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c',
> 'pkix_asn1_tab.c',
> > tasn1, crypto],
> > --
> > 2.28.0.windows.1
> >
> >
>
> 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 :|
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 4035 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 14/16] cirrus: Building freebsd in a single short
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-09 8:15 ` Thomas Huth
@ 2020-09-09 8:17 ` Daniel P. Berrangé
2020-09-09 8:24 ` 罗勇刚(Yonggang Luo)
1 sibling, 1 reply; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:17 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-devel, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 03:48:18AM +0800, Yonggang Luo wrote:
> freebsd 1 hour limit not hit anymore
How long does the combined job take with this change ? If it is
within 10 minutes of the limit, then we still want the split, as
transient changes in the CI system can push it over the limit
making the test unreliable.
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> .cirrus.yml | 35 ++++++++---------------------------
> 1 file changed, 8 insertions(+), 27 deletions(-)
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 49335e68c9..b0004273bb 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -1,38 +1,19 @@
> env:
> CIRRUS_CLONE_DEPTH: 1
>
> -freebsd_1st_task:
> +freebsd_12_task:
> freebsd_instance:
> image_family: freebsd-12-1
> - cpu: 4
> - memory: 4G
> - install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y
> - bash curl cyrus-sasl git glib gmake gnutls gsed
> - nettle perl5 pixman pkgconf png usbredir
> + cpu: 8
> + memory: 8G
> + install_script:
> + - ASSUME_ALWAYS_YES=yes pkg bootstrap -f ;
> + - pkg install -y bash curl cyrus-sasl git glib gmake gnutls gsed
> + nettle perl5 pixman pkgconf png usbredir
> script:
> - mkdir build
> - cd build
> - - ../configure --disable-user --target-list-exclude='alpha-softmmu
> - ppc64-softmmu ppc-softmmu riscv32-softmmu riscv64-softmmu s390x-softmmu
> - sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu'
> - --enable-werror || { cat config.log; exit 1; }
> - - gmake -j$(sysctl -n hw.ncpu)
> - - gmake -j$(sysctl -n hw.ncpu) check
> -
> -freebsd_2nd_task:
> - freebsd_instance:
> - image_family: freebsd-12-1
> - cpu: 4
> - memory: 4G
> - install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install -y
> - bash curl cyrus-sasl git glib gmake gnutls gtk3 gsed libepoxy mesa-libs
> - nettle perl5 pixman pkgconf png SDL2 usbredir
> - script:
> - - ./configure --enable-werror --target-list='alpha-softmmu ppc64-softmmu
> - ppc-softmmu riscv32-softmmu riscv64-softmmu s390x-softmmu
> - sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu
> - sparc-bsd-user sparc64-bsd-user x86_64-bsd-user i386-bsd-user'
> - || { cat config.log; exit 1; }
> + - ../configure --enable-werror || { cat config.log; exit 1; }
> - gmake -j$(sysctl -n hw.ncpu)
> - gmake -j$(sysctl -n hw.ncpu) check
>
> --
> 2.28.0.windows.1
>
>
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] 43+ messages in thread
* Re: [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c
2020-09-08 19:48 ` [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c Yonggang Luo
@ 2020-09-09 8:19 ` Kevin Wolf
2020-09-09 8:41 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 43+ messages in thread
From: Kevin Wolf @ 2020-09-09 8:19 UTC (permalink / raw)
To: Yonggang Luo
Cc: Peter Lieven, Ed Maste, Michael Roth, qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, qemu-devel, Max Reitz,
Gerd Hoffmann, Wen Congyang, Li-Wen Hsu, Markus Armbruster
Am 08.09.2020 um 21:48 hat Yonggang Luo geschrieben:
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> block/file-win32.c | 23 +++++++++++++++++++++--
> 1 file changed, 21 insertions(+), 2 deletions(-)
This is almost the same as my separately posted 'file-win32: Fix
"locking" option', except that you changed the order of variable
definitions which will cause a merge conflict.
When you take patches from other people, you should correctly attribute
them and not make them look as if they were your own.
Commit messages should not be empty, but explain the motivation for the
change.
In this case, dropping the patch is easiest because my patch is already
in a pull request and will probably be merged soon.
Kevin
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-09 8:17 ` 罗勇刚(Yonggang Luo)
@ 2020-09-09 8:22 ` Daniel P. Berrangé
2020-09-09 8:30 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:22 UTC (permalink / raw)
To: 罗勇刚(Yonggang Luo)
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 04:17:22PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 4:11 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Wed, Sep 09, 2020 at 03:48:15AM +0800, Yonggang Luo wrote:
> > > Disable following tests on msys2/mingw
> > > 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c',
> > 'pkix_asn1_tab.c',
> > > tasn1, crypto],
> > > 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c',
> > 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> > > tasn1, crypto],
> > > 'test-io-channel-tls': ['io-channel-helpers.c',
> > 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> > > tasn1, io, crypto]}
> >
> > Why ? GNUTLS is available on Windows and if it is enabled
> > at build time, then we should certainly be running the tests.
> >
>
> Don't know why., the header disable it totally.
Yes, I know the source disables it, because it creates various
files and no effort has been made to use WIndows filename
building code.
Given that it is already disabled in the source, why do we need
to disable it a second time in meson.build ?
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] 43+ messages in thread
* Re: [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw.
2020-09-08 19:48 ` [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
@ 2020-09-09 8:23 ` Daniel P. Berrangé
0 siblings, 0 replies; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:23 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-devel, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 03:48:11AM +0800, Yonggang Luo wrote:
> On Windows there is no path like /tmp/s_local_disk.XXXXXX
>
> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> ---
> tests/test-replication.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/test-replication.c b/tests/test-replication.c
> index 9ab3666a90..cfc1ae6feb 100644
> --- a/tests/test-replication.c
> +++ b/tests/test-replication.c
> @@ -23,14 +23,14 @@
>
> /* primary */
> #define P_ID "primary-id"
> -static char p_local_disk[] = "/tmp/p_local_disk.XXXXXX";
> +static char p_local_disk[PATH_MAX];
>
> /* secondary */
> #define S_ID "secondary-id"
> #define S_LOCAL_DISK_ID "secondary-local-disk-id"
> -static char s_local_disk[] = "/tmp/s_local_disk.XXXXXX";
> -static char s_active_disk[] = "/tmp/s_active_disk.XXXXXX";
> -static char s_hidden_disk[] = "/tmp/s_hidden_disk.XXXXXX";
> +static char s_local_disk[PATH_MAX];
> +static char s_active_disk[PATH_MAX];
> +static char s_hidden_disk[PATH_MAX];
>
> /* FIXME: steal from blockdev.c */
> QemuOptsList qemu_drive_opts = {
> @@ -571,6 +571,11 @@ static void setup_sigabrt_handler(void)
> int main(int argc, char **argv)
> {
> int ret;
> + const char *tmpdir = g_get_tmp_dir();
> + snprintf(p_local_disk, sizeof(p_local_disk), "%s/p_local_disk.XXXXXX", tmpdir);
> + snprintf(s_local_disk, sizeof(s_local_disk), "%s/s_local_disk.XXXXXX", tmpdir);
> + snprintf(s_active_disk, sizeof(s_active_disk), "%s/s_active_disk.XXXXXX", tmpdir);
> + snprintf(s_hidden_disk, sizeof(s_hidden_disk), "%s/s_hidden_disk.XXXXXX", tmpdir);
Don't use PATH_MAX and snprintf. Please use g_strdup_printf() as suggested
already in previous reviews.
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] 43+ messages in thread
* Re: [PATCH 14/16] cirrus: Building freebsd in a single short
2020-09-09 8:17 ` Daniel P. Berrangé
@ 2020-09-09 8:24 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:42 ` Daniel P. Berrangé
0 siblings, 1 reply; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 8:24 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 3635 bytes --]
On Wed, Sep 9, 2020 at 4:17 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Wed, Sep 09, 2020 at 03:48:18AM +0800, Yonggang Luo wrote:
> > freebsd 1 hour limit not hit anymore
>
> How long does the combined job take with this change ? If it is
> within 10 minutes of the limit, then we still want the split, as
> transient changes in the CI system can push it over the limit
> making the test unreliable.
>
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. does'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
>
> >
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > .cirrus.yml | 35 ++++++++---------------------------
> > 1 file changed, 8 insertions(+), 27 deletions(-)
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index 49335e68c9..b0004273bb 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -1,38 +1,19 @@
> > env:
> > CIRRUS_CLONE_DEPTH: 1
> >
> > -freebsd_1st_task:
> > +freebsd_12_task:
> > freebsd_instance:
> > image_family: freebsd-12-1
> > - cpu: 4
> > - memory: 4G
> > - install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install
> -y
> > - bash curl cyrus-sasl git glib gmake gnutls gsed
> > - nettle perl5 pixman pkgconf png usbredir
> > + cpu: 8
> > + memory: 8G
> > + install_script:
> > + - ASSUME_ALWAYS_YES=yes pkg bootstrap -f ;
> > + - pkg install -y bash curl cyrus-sasl git glib gmake gnutls gsed
> > + nettle perl5 pixman pkgconf png usbredir
> > script:
> > - mkdir build
> > - cd build
> > - - ../configure --disable-user --target-list-exclude='alpha-softmmu
> > - ppc64-softmmu ppc-softmmu riscv32-softmmu riscv64-softmmu
> s390x-softmmu
> > - sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu'
> > - --enable-werror || { cat config.log; exit 1; }
> > - - gmake -j$(sysctl -n hw.ncpu)
> > - - gmake -j$(sysctl -n hw.ncpu) check
> > -
> > -freebsd_2nd_task:
> > - freebsd_instance:
> > - image_family: freebsd-12-1
> > - cpu: 4
> > - memory: 4G
> > - install_script: ASSUME_ALWAYS_YES=yes pkg bootstrap -f ; pkg install
> -y
> > - bash curl cyrus-sasl git glib gmake gnutls gtk3 gsed libepoxy
> mesa-libs
> > - nettle perl5 pixman pkgconf png SDL2 usbredir
> > - script:
> > - - ./configure --enable-werror --target-list='alpha-softmmu
> ppc64-softmmu
> > - ppc-softmmu riscv32-softmmu riscv64-softmmu s390x-softmmu
> > - sparc64-softmmu sparc-softmmu x86_64-softmmu i386-softmmu
> > - sparc-bsd-user sparc64-bsd-user x86_64-bsd-user i386-bsd-user'
> > - || { cat config.log; exit 1; }
> > + - ../configure --enable-werror || { cat config.log; exit 1; }
> > - gmake -j$(sysctl -n hw.ncpu)
> > - gmake -j$(sysctl -n hw.ncpu) check
> >
> > --
> > 2.28.0.windows.1
> >
> >
>
> 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 :|
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 5414 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 06/16] ci: Enable msys2 ci in cirrus
2020-09-08 19:48 ` [PATCH 06/16] ci: Enable msys2 ci in cirrus Yonggang Luo
@ 2020-09-09 8:27 ` Daniel P. Berrangé
2020-09-09 9:36 ` 罗勇刚(Yonggang Luo)
0 siblings, 1 reply; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:27 UTC (permalink / raw)
To: Yonggang Luo
Cc: Kevin Wolf, Ed Maste, qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-devel, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 03:48:10AM +0800, Yonggang Luo wrote:
> 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>
> ---
> .cirrus.yml | 24 +++++++++++++++++++++
> scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++++++++++++
> scripts/ci/windows/msys2-install.sh | 33 +++++++++++++++++++++++++++++
> 3 files changed, 85 insertions(+)
> create mode 100644 scripts/ci/windows/msys2-build.sh
> create mode 100644 scripts/ci/windows/msys2-install.sh
>
> diff --git a/.cirrus.yml b/.cirrus.yml
> index 3dd9fcff7f..49335e68c9 100644
> --- a/.cirrus.yml
> +++ b/.cirrus.yml
> @@ -63,3 +63,27 @@ 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 "sh scripts/ci/windows/msys2-install.sh"
> + script:
> + - C:\tools\msys64\usr\bin\bash.exe -lc "sh scripts/ci/windows/msys2-build.sh"
> diff --git a/scripts/ci/windows/msys2-build.sh b/scripts/ci/windows/msys2-build.sh
> new file mode 100644
> index 0000000000..d9d046b5b0
> --- /dev/null
> +++ b/scripts/ci/windows/msys2-build.sh
> @@ -0,0 +1,28 @@
> +mkdir build
> +cd build
> +../configure \
> +--python=python3 \
> +--ninja=ninja \
> +--enable-stack-protector \
> +--enable-guest-agent \
> +--disable-pie \
> +--enable-gnutls --enable-nettle \
> +--enable-sdl --enable-sdl-image --enable-gtk --disable-vte --enable-curses --enable-iconv \
> +--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg --enable-vnc-png \
> +--enable-slirp=git \
> +--disable-brlapi --enable-curl \
> +--enable-fdt \
> +--disable-kvm --enable-hax --enable-whpx \
> +--enable-libnfs --enable-libusb --enable-live-block-migration --enable-usb-redir \
> +--enable-lzo --enable-snappy --enable-bzip2 --enable-zstd \
> +--enable-membarrier --enable-coroutine-pool \
> +--enable-libssh --enable-libxml2 \
> +--enable-jemalloc --enable-avx2 \
> +--enable-replication \
> +--enable-tools \
> +--enable-bochs --enable-cloop --enable-dmg --enable-qcow1 --enable-vdi --enable-vvfat --enable-qed --enable-parallels \
> +--enable-sheepdog \
> +--enable-capstone=git
Why do we need to have all these disable/enable args ? AFAIK, configure
should just "do the right thing" and automatically detect and enable
libraries which are present in the environment.
Te intent is that a bare "configure" should complete successfully on all
supported platforms. Ff something breaks at build time, that is
generally considered a bug in the configure script as it should automatically
disable any features that are broken on a given platform.
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] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-09 8:22 ` Daniel P. Berrangé
@ 2020-09-09 8:30 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:39 ` Daniel P. Berrangé
0 siblings, 1 reply; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 8:30 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 1818 bytes --]
On Wed, Sep 9, 2020 at 4:22 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Wed, Sep 09, 2020 at 04:17:22PM +0800, 罗勇刚(Yonggang Luo) wrote:
> > On Wed, Sep 9, 2020 at 4:11 PM Daniel P. Berrangé <berrange@redhat.com>
> > wrote:
> >
> > > On Wed, Sep 09, 2020 at 03:48:15AM +0800, Yonggang Luo wrote:
> > > > Disable following tests on msys2/mingw
> > > > 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c',
> > > 'pkix_asn1_tab.c',
> > > > tasn1, crypto],
> > > > 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c',
> > > 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> > > > tasn1, crypto],
> > > > 'test-io-channel-tls': ['io-channel-helpers.c',
> > > 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> > > > tasn1, io, crypto]}
> > >
> > > Why ? GNUTLS is available on Windows and if it is enabled
> > > at build time, then we should certainly be running the tests.
> > >
> >
> > Don't know why., the header disable it totally.
>
> Yes, I know the source disables it, because it creates various
> files and no effort has been made to use WIndows filename
> building code.
>
> Given that it is already disabled in the source, why do we need
> to disable it a second time in meson.build ?
>
Because when there is no testcase ,the test runner would complain
ERROR - missing test plan
>
> 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 :|
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 3273 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 11/16] meson: disable crypto tests are empty under win32
2020-09-09 8:30 ` 罗勇刚(Yonggang Luo)
@ 2020-09-09 8:39 ` Daniel P. Berrangé
0 siblings, 0 replies; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:39 UTC (permalink / raw)
To: 罗勇刚(Yonggang Luo)
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 04:30:26PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 4:22 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Wed, Sep 09, 2020 at 04:17:22PM +0800, 罗勇刚(Yonggang Luo) wrote:
> > > On Wed, Sep 9, 2020 at 4:11 PM Daniel P. Berrangé <berrange@redhat.com>
> > > wrote:
> > >
> > > > On Wed, Sep 09, 2020 at 03:48:15AM +0800, Yonggang Luo wrote:
> > > > > Disable following tests on msys2/mingw
> > > > > 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c',
> > > > 'pkix_asn1_tab.c',
> > > > > tasn1, crypto],
> > > > > 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c',
> > > > 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
> > > > > tasn1, crypto],
> > > > > 'test-io-channel-tls': ['io-channel-helpers.c',
> > > > 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
> > > > > tasn1, io, crypto]}
> > > >
> > > > Why ? GNUTLS is available on Windows and if it is enabled
> > > > at build time, then we should certainly be running the tests.
> > > >
> > >
> > > Don't know why., the header disable it totally.
> >
> > Yes, I know the source disables it, because it creates various
> > files and no effort has been made to use WIndows filename
> > building code.
> >
> > Given that it is already disabled in the source, why do we need
> > to disable it a second time in meson.build ?
> >
> Because when there is no testcase ,the test runner would complain
> ERROR - missing test plan
Ok, please say that in the commit message to explain why the change
is needed.
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] 43+ messages in thread
* Re: [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c
2020-09-09 8:19 ` Kevin Wolf
@ 2020-09-09 8:41 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:57 ` Kevin Wolf
0 siblings, 1 reply; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 8:41 UTC (permalink / raw)
To: Kevin Wolf
Cc: Peter Lieven, Ed Maste, Michael Roth, Qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, qemu-level, Max Reitz,
Gerd Hoffmann, Wen Congyang, Li-Wen Hsu, Markus Armbruster
[-- Attachment #1: Type: text/plain, Size: 1248 bytes --]
On Wed, Sep 9, 2020 at 4:19 PM Kevin Wolf <kwolf@redhat.com> wrote:
> Am 08.09.2020 um 21:48 hat Yonggang Luo geschrieben:
> > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > ---
> > block/file-win32.c | 23 +++++++++++++++++++++--
> > 1 file changed, 21 insertions(+), 2 deletions(-)
>
> This is almost the same as my separately posted 'file-win32: Fix
> "locking" option', except that you changed the order of variable
> definitions which will cause a merge conflict.
>
> When you take patches from other people, you should correctly attribute
> them and not make them look as if they were your own.
>
> Commit messages should not be empty, but explain the motivation for the
> change.
>
I know someone else have already have fixes for it, so I didn't detail it
much, Ineed
I wanna skip it when sending patches, but git-publish.py didn't handle it
well under Win32 yet
>
> In this case, dropping the patch is easiest because my patch is already
> in a pull request and will probably be merged soon.
>
I am waiting it to merged, at the current stage, if I don't include this
patch the
test runner will fail.
>
> Kevin
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 2094 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 14/16] cirrus: Building freebsd in a single short
2020-09-09 8:24 ` 罗勇刚(Yonggang Luo)
@ 2020-09-09 8:42 ` Daniel P. Berrangé
0 siblings, 0 replies; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 8:42 UTC (permalink / raw)
To: 罗勇刚(Yonggang Luo)
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 04:24:00PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 4:17 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Wed, Sep 09, 2020 at 03:48:18AM +0800, Yonggang Luo wrote:
> > > freebsd 1 hour limit not hit anymore
> >
> > How long does the combined job take with this change ? If it is
> > within 10 minutes of the limit, then we still want the split, as
> > transient changes in the CI system can push it over the limit
> > making the test unreliable.
> >
> 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. does'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, please explain this in the commit message so reviewers know why the
change is intentionally reverting the previous split.
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] 43+ messages in thread
* Re: [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c
2020-09-09 8:41 ` 罗勇刚(Yonggang Luo)
@ 2020-09-09 8:57 ` Kevin Wolf
0 siblings, 0 replies; 43+ messages in thread
From: Kevin Wolf @ 2020-09-09 8:57 UTC (permalink / raw)
To: 罗勇刚(Yonggang Luo)
Cc: Peter Lieven, Ed Maste, Michael Roth, Qemu-block, Stefan Weil,
Xie Changlong, Richard Henderson, qemu-level, Max Reitz,
Gerd Hoffmann, Wen Congyang, Li-Wen Hsu, Markus Armbruster
Am 09.09.2020 um 10:41 hat 罗勇刚(Yonggang Luo) geschrieben:
> On Wed, Sep 9, 2020 at 4:19 PM Kevin Wolf <kwolf@redhat.com> wrote:
>
> > Am 08.09.2020 um 21:48 hat Yonggang Luo geschrieben:
> > > Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
> > > ---
> > > block/file-win32.c | 23 +++++++++++++++++++++--
> > > 1 file changed, 21 insertions(+), 2 deletions(-)
> >
> > This is almost the same as my separately posted 'file-win32: Fix
> > "locking" option', except that you changed the order of variable
> > definitions which will cause a merge conflict.
> >
> > When you take patches from other people, you should correctly attribute
> > them and not make them look as if they were your own.
> >
> > Commit messages should not be empty, but explain the motivation for the
> > change.
> >
> I know someone else have already have fixes for it, so I didn't detail
> it much, Ineed I wanna skip it when sending patches, but
> git-publish.py didn't handle it well under Win32 yet
>
> >
> > In this case, dropping the patch is easiest because my patch is already
> > in a pull request and will probably be merged soon.
>
> I am waiting it to merged, at the current stage, if I don't include
> this patch the test runner will fail.
I see. This is not obvious to others and it will look like you want to
get the patch included as you sent it.
What I do in situations like this is that I put any patches from other
series first in my branch and then send out only what is on top of them,
noting the dependency in the cover letter.
Kevin
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 06/16] ci: Enable msys2 ci in cirrus
2020-09-09 8:27 ` Daniel P. Berrangé
@ 2020-09-09 9:36 ` 罗勇刚(Yonggang Luo)
2020-09-09 9:40 ` Daniel P. Berrangé
0 siblings, 1 reply; 43+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-09 9:36 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
[-- Attachment #1: Type: text/plain, Size: 5123 bytes --]
On Wed, Sep 9, 2020 at 4:27 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:
> On Wed, Sep 09, 2020 at 03:48:10AM +0800, Yonggang Luo wrote:
> > 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>
> > ---
> > .cirrus.yml | 24 +++++++++++++++++++++
> > scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++++++++++++
> > scripts/ci/windows/msys2-install.sh | 33 +++++++++++++++++++++++++++++
> > 3 files changed, 85 insertions(+)
> > create mode 100644 scripts/ci/windows/msys2-build.sh
> > create mode 100644 scripts/ci/windows/msys2-install.sh
> >
> > diff --git a/.cirrus.yml b/.cirrus.yml
> > index 3dd9fcff7f..49335e68c9 100644
> > --- a/.cirrus.yml
> > +++ b/.cirrus.yml
> > @@ -63,3 +63,27 @@ 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 "sh
> scripts/ci/windows/msys2-install.sh"
> > + script:
> > + - C:\tools\msys64\usr\bin\bash.exe -lc "sh
> scripts/ci/windows/msys2-build.sh"
> > diff --git a/scripts/ci/windows/msys2-build.sh
> b/scripts/ci/windows/msys2-build.sh
> > new file mode 100644
> > index 0000000000..d9d046b5b0
> > --- /dev/null
> > +++ b/scripts/ci/windows/msys2-build.sh
> > @@ -0,0 +1,28 @@
> > +mkdir build
> > +cd build
> > +../configure \
> > +--python=python3 \
> > +--ninja=ninja \
> > +--enable-stack-protector \
> > +--enable-guest-agent \
> > +--disable-pie \
> > +--enable-gnutls --enable-nettle \
> > +--enable-sdl --enable-sdl-image --enable-gtk --disable-vte
> --enable-curses --enable-iconv \
> > +--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg --enable-vnc-png \
> > +--enable-slirp=git \
> > +--disable-brlapi --enable-curl \
> > +--enable-fdt \
> > +--disable-kvm --enable-hax --enable-whpx \
> > +--enable-libnfs --enable-libusb --enable-live-block-migration
> --enable-usb-redir \
> > +--enable-lzo --enable-snappy --enable-bzip2 --enable-zstd \
> > +--enable-membarrier --enable-coroutine-pool \
> > +--enable-libssh --enable-libxml2 \
> > +--enable-jemalloc --enable-avx2 \
> > +--enable-replication \
> > +--enable-tools \
> > +--enable-bochs --enable-cloop --enable-dmg --enable-qcow1 --enable-vdi
> --enable-vvfat --enable-qed --enable-parallels \
> > +--enable-sheepdog \
> > +--enable-capstone=git
>
> Why do we need to have all these disable/enable args ? AFAIK, configure
> should just "do the right thing" and automatically detect and enable
> libraries which are present in the environment.
>
> Te intent is that a bare "configure" should complete successfully on all
> supported platforms. Ff something breaks at build time, that is
> generally considered a bug in the configure script as it should
> automatically
> disable any features that are broken on a given platform.
>
Gotcha, I'll leave only configure latter, currently I use this to detect
which msys2 package not installed yet.
>
>
> 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 :|
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 7305 bytes --]
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH 06/16] ci: Enable msys2 ci in cirrus
2020-09-09 9:36 ` 罗勇刚(Yonggang Luo)
@ 2020-09-09 9:40 ` Daniel P. Berrangé
0 siblings, 0 replies; 43+ messages in thread
From: Daniel P. Berrangé @ 2020-09-09 9:40 UTC (permalink / raw)
To: 罗勇刚(Yonggang Luo)
Cc: Kevin Wolf, Ed Maste, Qemu-block, Stefan Weil, Xie Changlong,
Richard Henderson, qemu-level, Michael Roth, Gerd Hoffmann,
Wen Congyang, Max Reitz, Li-Wen Hsu, Markus Armbruster,
Peter Lieven
On Wed, Sep 09, 2020 at 05:36:49PM +0800, 罗勇刚(Yonggang Luo) wrote:
> On Wed, Sep 9, 2020 at 4:27 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
> > On Wed, Sep 09, 2020 at 03:48:10AM +0800, Yonggang Luo wrote:
> > > 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>
> > > ---
> > > .cirrus.yml | 24 +++++++++++++++++++++
> > > scripts/ci/windows/msys2-build.sh | 28 ++++++++++++++++++++++++
> > > scripts/ci/windows/msys2-install.sh | 33 +++++++++++++++++++++++++++++
> > > 3 files changed, 85 insertions(+)
> > > create mode 100644 scripts/ci/windows/msys2-build.sh
> > > create mode 100644 scripts/ci/windows/msys2-install.sh
> > >
> > > diff --git a/.cirrus.yml b/.cirrus.yml
> > > index 3dd9fcff7f..49335e68c9 100644
> > > --- a/.cirrus.yml
> > > +++ b/.cirrus.yml
> > > @@ -63,3 +63,27 @@ 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 "sh
> > scripts/ci/windows/msys2-install.sh"
> > > + script:
> > > + - C:\tools\msys64\usr\bin\bash.exe -lc "sh
> > scripts/ci/windows/msys2-build.sh"
> > > diff --git a/scripts/ci/windows/msys2-build.sh
> > b/scripts/ci/windows/msys2-build.sh
> > > new file mode 100644
> > > index 0000000000..d9d046b5b0
> > > --- /dev/null
> > > +++ b/scripts/ci/windows/msys2-build.sh
> > > @@ -0,0 +1,28 @@
> > > +mkdir build
> > > +cd build
> > > +../configure \
> > > +--python=python3 \
> > > +--ninja=ninja \
> > > +--enable-stack-protector \
> > > +--enable-guest-agent \
> > > +--disable-pie \
> > > +--enable-gnutls --enable-nettle \
> > > +--enable-sdl --enable-sdl-image --enable-gtk --disable-vte
> > --enable-curses --enable-iconv \
> > > +--enable-vnc --enable-vnc-sasl --enable-vnc-jpeg --enable-vnc-png \
> > > +--enable-slirp=git \
> > > +--disable-brlapi --enable-curl \
> > > +--enable-fdt \
> > > +--disable-kvm --enable-hax --enable-whpx \
> > > +--enable-libnfs --enable-libusb --enable-live-block-migration
> > --enable-usb-redir \
> > > +--enable-lzo --enable-snappy --enable-bzip2 --enable-zstd \
> > > +--enable-membarrier --enable-coroutine-pool \
> > > +--enable-libssh --enable-libxml2 \
> > > +--enable-jemalloc --enable-avx2 \
> > > +--enable-replication \
> > > +--enable-tools \
> > > +--enable-bochs --enable-cloop --enable-dmg --enable-qcow1 --enable-vdi
> > --enable-vvfat --enable-qed --enable-parallels \
> > > +--enable-sheepdog \
> > > +--enable-capstone=git
> >
> > Why do we need to have all these disable/enable args ? AFAIK, configure
> > should just "do the right thing" and automatically detect and enable
> > libraries which are present in the environment.
> >
> > Te intent is that a bare "configure" should complete successfully on all
> > supported platforms. Ff something breaks at build time, that is
> > generally considered a bug in the configure script as it should
> > automatically
> > disable any features that are broken on a given platform.
> >
> Gotcha, I'll leave only configure latter, currently I use this to detect
> which msys2 package not installed yet.
With all those args removed, there's no real reason for this separate
shell script. Just put the configure && make commands dirctly in
the cirrus.yml file, similar to the other builds in that file.
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] 43+ messages in thread
end of thread, other threads:[~2020-09-09 9:41 UTC | newest]
Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-08 19:48 [PATCH 00/16] W32, W64 patches Yonggang Luo
2020-09-08 19:48 ` [PATCH 01/16] block: Fixes nfs compiling error on msys2/mingw Yonggang Luo
2020-09-08 19:48 ` [PATCH 02/16] ci: fixes msys2 build by upgrading capstone to 4.0.2 Yonggang Luo
2020-09-08 20:36 ` Peter Maydell
2020-09-08 20:57 ` 罗勇刚(Yonggang Luo)
2020-09-08 19:48 ` [PATCH 03/16] configure: Fixes ncursesw detection under msys2/mingw and enable curses Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 04/16] curses: Fixes curses compiling errors Yonggang Luo
2020-09-09 4:56 ` Gerd Hoffmann
2020-09-08 19:48 ` [PATCH 05/16] tests: disable /char/stdio/* tests in test-char.c on win32 Yonggang Luo
2020-09-09 7:13 ` Thomas Huth
2020-09-09 7:52 ` 罗勇刚(Yonggang Luo)
2020-09-08 19:48 ` [PATCH 06/16] ci: Enable msys2 ci in cirrus Yonggang Luo
2020-09-09 8:27 ` Daniel P. Berrangé
2020-09-09 9:36 ` 罗勇刚(Yonggang Luo)
2020-09-09 9:40 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 07/16] tests: Trying fixes test-replication.c on msys2/mingw Yonggang Luo
2020-09-09 8:23 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 08/16] block: get file-win32.c handle locking option consistence with file-posix.c Yonggang Luo
2020-09-09 8:19 ` Kevin Wolf
2020-09-09 8:41 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:57 ` Kevin Wolf
2020-09-08 19:48 ` [PATCH 09/16] osdep: These function are only available on Non-Win32 system Yonggang Luo
2020-09-08 19:48 ` [PATCH 10/16] meson: Use -b to ignore CR vs. CR-LF issues on Windows Yonggang Luo
2020-09-08 19:48 ` [PATCH 11/16] meson: disable crypto tests are empty under win32 Yonggang Luo
2020-09-09 8:07 ` Thomas Huth
2020-09-09 8:10 ` Daniel P. Berrangé
2020-09-09 8:17 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:22 ` Daniel P. Berrangé
2020-09-09 8:30 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:39 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 12/16] meson: remove empty else and duplicated gio deps Yonggang Luo
2020-09-08 19:48 ` [PATCH 13/16] vmstate: Fixes test-vmstate.c on msys2/mingw Yonggang Luo
2020-09-09 8:11 ` Thomas Huth
2020-09-08 19:48 ` [PATCH 14/16] cirrus: Building freebsd in a single short Yonggang Luo
2020-09-09 8:15 ` Thomas Huth
2020-09-09 8:17 ` Daniel P. Berrangé
2020-09-09 8:24 ` 罗勇刚(Yonggang Luo)
2020-09-09 8:42 ` Daniel P. Berrangé
2020-09-08 19:48 ` [PATCH 15/16] logging: Fixes memory leak in test-logging.c Yonggang Luo
2020-09-08 19:48 ` [PATCH 16/16] rcu: add uninit destructor for rcu Yonggang Luo
2020-09-08 20:41 ` [PATCH 00/16] W32, W64 patches Eric Blake
2020-09-08 20:52 ` 罗勇刚(Yonggang Luo)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).