[Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
From: Paolo Bonzini On old GLib, the test needs a g_thread_init call. Reported-by: Wenchao Xia Signed-off-by: Paolo Bonzini Tested-by: Wenchao Xia Signed-off-by: Wenchao Xia --- tests/test-qmp-event.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index cb1e441..17c6444 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, int main(int argc, char **argv) { +g_thread_init(NULL); qmp_event_set_func_emit(event_test_emit); g_test_init(&argc, &argv, NULL); -- 1.7.1
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
On Tue, 24 Jun 2014 16:33:56 -0700 Wenchao Xia wrote: > From: Paolo Bonzini > > On old GLib, the test needs a g_thread_init call. > > Reported-by: Wenchao Xia > Signed-off-by: Paolo Bonzini > Tested-by: Wenchao Xia > Signed-off-by: Wenchao Xia > --- > tests/test-qmp-event.c |1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c > index cb1e441..17c6444 100644 > --- a/tests/test-qmp-event.c > +++ b/tests/test-qmp-event.c > @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, > > int main(int argc, char **argv) > { > +g_thread_init(NULL); > qmp_event_set_func_emit(event_test_emit); > > g_test_init(&argc, &argv, NULL); This breaks make check on F20: """ /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: In function ‘main’: /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: error: ‘g_thread_init’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Werror=deprecated-declarations] g_thread_init(NULL); ^ cc1: all warnings being treated as errors make: *** [tests/test-qmp-event.o] Error 1 """ I think the best way to fix this is to make util/osdep.c:thread_init() public (maybe by moving it to include/glib-compat.h) and use that instead. Also, note that thread_init()'s body is duplicated in a few other places, so maybe those places should call it too. You may want to do this in a different series, then I can skip this patch and apply the rest of the series.
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
Il 25/06/2014 15:13, Luiz Capitulino ha scritto: On Tue, 24 Jun 2014 16:33:56 -0700 Wenchao Xia wrote: From: Paolo Bonzini On old GLib, the test needs a g_thread_init call. Reported-by: Wenchao Xia Signed-off-by: Paolo Bonzini Tested-by: Wenchao Xia Signed-off-by: Wenchao Xia --- tests/test-qmp-event.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index cb1e441..17c6444 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, int main(int argc, char **argv) { +g_thread_init(NULL); qmp_event_set_func_emit(event_test_emit); g_test_init(&argc, &argv, NULL); This breaks make check on F20: """ /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: In function ‘main’: /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: error: ‘g_thread_init’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Werror=deprecated-declarations] g_thread_init(NULL); ^ cc1: all warnings being treated as errors make: *** [tests/test-qmp-event.o] Error 1 """ I think the best way to fix this is to make util/osdep.c:thread_init() public (maybe by moving it to include/glib-compat.h) and use that instead. Also, note that thread_init()'s body is duplicated in a few other places, so maybe those places should call it too. You may want to do this in a different series, then I can skip this patch and apply the rest of the series. Thanks Luiz, it's a good suggestion. Paolo
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
On Wed, 25 Jun 2014 15:15:35 +0200 Paolo Bonzini wrote: > Il 25/06/2014 15:13, Luiz Capitulino ha scritto: > > On Tue, 24 Jun 2014 16:33:56 -0700 > > Wenchao Xia wrote: > > > >> From: Paolo Bonzini > >> > >> On old GLib, the test needs a g_thread_init call. > >> > >> Reported-by: Wenchao Xia > >> Signed-off-by: Paolo Bonzini > >> Tested-by: Wenchao Xia > >> Signed-off-by: Wenchao Xia > >> --- > >> tests/test-qmp-event.c |1 + > >> 1 files changed, 1 insertions(+), 0 deletions(-) > >> > >> diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c > >> index cb1e441..17c6444 100644 > >> --- a/tests/test-qmp-event.c > >> +++ b/tests/test-qmp-event.c > >> @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, > >> > >> int main(int argc, char **argv) > >> { > >> +g_thread_init(NULL); > >> qmp_event_set_func_emit(event_test_emit); > >> > >> g_test_init(&argc, &argv, NULL); > > > > This breaks make check on F20: > > > > """ > > /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: In > > function ‘main’: > > /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: > > error: ‘g_thread_init’ is deprecated (declared at > > /usr/include/glib-2.0/glib/deprecated/gthread.h:260) > > [-Werror=deprecated-declarations] > > g_thread_init(NULL); > > ^ > > cc1: all warnings being treated as errors > > make: *** [tests/test-qmp-event.o] Error 1 > > """ > > > > I think the best way to fix this is to make util/osdep.c:thread_init() > > public (maybe by moving it to include/glib-compat.h) and use that instead. > > Also, note that thread_init()'s body is duplicated in a few other places, > > so maybe those places should call it too. > > > > You may want to do this in a different series, then I can skip this patch > > and apply the rest of the series. > > > > Thanks Luiz, it's a good suggestion. Paolo, Wenchao, are one of one going to work on this?
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
On 27 June 2014 19:28, Luiz Capitulino wrote: > On Wed, 25 Jun 2014 15:15:35 +0200 > Paolo Bonzini wrote: > >> Il 25/06/2014 15:13, Luiz Capitulino ha scritto: >> > On Tue, 24 Jun 2014 16:33:56 -0700 >> > Wenchao Xia wrote: >> > >> >> From: Paolo Bonzini >> >> >> >> On old GLib, the test needs a g_thread_init call. >> >> >> >> Reported-by: Wenchao Xia >> >> Signed-off-by: Paolo Bonzini >> >> Tested-by: Wenchao Xia >> >> Signed-off-by: Wenchao Xia >> >> --- >> >> tests/test-qmp-event.c |1 + >> >> 1 files changed, 1 insertions(+), 0 deletions(-) >> >> >> >> diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c >> >> index cb1e441..17c6444 100644 >> >> --- a/tests/test-qmp-event.c >> >> +++ b/tests/test-qmp-event.c >> >> @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, >> >> >> >> int main(int argc, char **argv) >> >> { >> >> +g_thread_init(NULL); >> >> qmp_event_set_func_emit(event_test_emit); >> >> >> >> g_test_init(&argc, &argv, NULL); >> > >> > This breaks make check on F20: >> > >> > """ >> > /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: >> > In function ‘main’: >> > /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: >> > error: ‘g_thread_init’ is deprecated (declared at >> > /usr/include/glib-2.0/glib/deprecated/gthread.h:260) >> > [-Werror=deprecated-declarations] >> > g_thread_init(NULL); >> > ^ >> > cc1: all warnings being treated as errors >> > make: *** [tests/test-qmp-event.o] Error 1 >> > """ >> > >> > I think the best way to fix this is to make util/osdep.c:thread_init() >> > public (maybe by moving it to include/glib-compat.h) and use that instead. >> > Also, note that thread_init()'s body is duplicated in a few other places, >> > so maybe those places should call it too. >> > >> > You may want to do this in a different series, then I can skip this patch >> > and apply the rest of the series. >> > >> >> Thanks Luiz, it's a good suggestion. > > Paolo, Wenchao, are one of one going to work on this? Ping! Can we have at least a local fix using glib version #ifdefs before Tuesday please? Otherwise we need to do something like this to avoid shipping an rc0 which doesn't pass make check on some systems. diff --git a/tests/Makefile b/tests/Makefile index 7e53d0d..a1a0dae 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -27,8 +27,6 @@ check-unit-y += tests/test-string-input-visitor$(EXESUF) gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c check-unit-y += tests/test-string-output-visitor$(EXESUF) gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c -check-unit-y += tests/test-qmp-event$(EXESUF) -gcov-files-test-qmp-event-y += qapi/qmp-event.c check-unit-y += tests/test-opts-visitor$(EXESUF) gcov-files-test-opts-visitor-y = qapi/opts-visitor.c check-unit-y += tests/test-coroutine$(EXESUF) @@ -213,7 +211,7 @@ test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \ tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ tests/test-qmp-commands.o tests/test-visitor-serialization.o \ tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \ - tests/test-opts-visitor.o tests/test-qmp-event.o + tests/test-opts-visitor.o test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o thanks -- PMM
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
Il 29/06/2014 22:31, Peter Maydell ha scritto: On 27 June 2014 19:28, Luiz Capitulino wrote: On Wed, 25 Jun 2014 15:15:35 +0200 Paolo Bonzini wrote: Il 25/06/2014 15:13, Luiz Capitulino ha scritto: On Tue, 24 Jun 2014 16:33:56 -0700 Wenchao Xia wrote: From: Paolo Bonzini On old GLib, the test needs a g_thread_init call. Reported-by: Wenchao Xia Signed-off-by: Paolo Bonzini Tested-by: Wenchao Xia Signed-off-by: Wenchao Xia --- tests/test-qmp-event.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index cb1e441..17c6444 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, int main(int argc, char **argv) { +g_thread_init(NULL); qmp_event_set_func_emit(event_test_emit); g_test_init(&argc, &argv, NULL); This breaks make check on F20: """ /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: In function ‘main’: /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: error: ‘g_thread_init’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Werror=deprecated-declarations] g_thread_init(NULL); ^ cc1: all warnings being treated as errors make: *** [tests/test-qmp-event.o] Error 1 """ I think the best way to fix this is to make util/osdep.c:thread_init() public (maybe by moving it to include/glib-compat.h) and use that instead. Also, note that thread_init()'s body is duplicated in a few other places, so maybe those places should call it too. You may want to do this in a different series, then I can skip this patch and apply the rest of the series. Thanks Luiz, it's a good suggestion. Paolo, Wenchao, are one of one going to work on this? Ping! Can we have at least a local fix using glib version #ifdefs before Tuesday please? Otherwise we need to do something like this to avoid shipping an rc0 which doesn't pass make check on some systems. I'll send the patch today. thread_init() is a bit tricky because it is a __constructor__ but it is not included in the binary because no other function is included from the same file. BTW, the make check limitation is currently mentioned in the changelog. Paolo diff --git a/tests/Makefile b/tests/Makefile index 7e53d0d..a1a0dae 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -27,8 +27,6 @@ check-unit-y += tests/test-string-input-visitor$(EXESUF) gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c check-unit-y += tests/test-string-output-visitor$(EXESUF) gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c -check-unit-y += tests/test-qmp-event$(EXESUF) -gcov-files-test-qmp-event-y += qapi/qmp-event.c check-unit-y += tests/test-opts-visitor$(EXESUF) gcov-files-test-opts-visitor-y = qapi/opts-visitor.c check-unit-y += tests/test-coroutine$(EXESUF) @@ -213,7 +211,7 @@ test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \ tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ tests/test-qmp-commands.o tests/test-visitor-serialization.o \ tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \ - tests/test-opts-visitor.o tests/test-qmp-event.o + tests/test-opts-visitor.o test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o thanks -- PMM
Re: [Qemu-devel] [PATCH FOR 2.1 1/5] tests/test-qmp-event: fix for GLib < 2.31
于 2014/6/30 18:53, Paolo Bonzini 写道: Il 29/06/2014 22:31, Peter Maydell ha scritto: On 27 June 2014 19:28, Luiz Capitulino wrote: On Wed, 25 Jun 2014 15:15:35 +0200 Paolo Bonzini wrote: Il 25/06/2014 15:13, Luiz Capitulino ha scritto: On Tue, 24 Jun 2014 16:33:56 -0700 Wenchao Xia wrote: From: Paolo Bonzini On old GLib, the test needs a g_thread_init call. Reported-by: Wenchao Xia Signed-off-by: Paolo Bonzini Tested-by: Wenchao Xia Signed-off-by: Wenchao Xia --- tests/test-qmp-event.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/tests/test-qmp-event.c b/tests/test-qmp-event.c index cb1e441..17c6444 100644 --- a/tests/test-qmp-event.c +++ b/tests/test-qmp-event.c @@ -251,6 +251,7 @@ static void test_event_d(TestEventData *data, int main(int argc, char **argv) { +g_thread_init(NULL); qmp_event_set_func_emit(event_test_emit); g_test_init(&argc, &argv, NULL); This breaks make check on F20: """ /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c: In function ‘main’: /home/lcapitulino/work/src/upstream/qmp-unstable/tests/test-qmp-event.c:254:5: error: ‘g_thread_init’ is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:260) [-Werror=deprecated-declarations] g_thread_init(NULL); ^ cc1: all warnings being treated as errors make: *** [tests/test-qmp-event.o] Error 1 """ I think the best way to fix this is to make util/osdep.c:thread_init() public (maybe by moving it to include/glib-compat.h) and use that instead. Also, note that thread_init()'s body is duplicated in a few other places, so maybe those places should call it too. You may want to do this in a different series, then I can skip this patch and apply the rest of the series. Thanks Luiz, it's a good suggestion. Paolo, Wenchao, are one of one going to work on this? Ping! Can we have at least a local fix using glib version #ifdefs before Tuesday please? Otherwise we need to do something like this to avoid shipping an rc0 which doesn't pass make check on some systems. I'll send the patch today. thread_init() is a bit tricky because it is a __constructor__ but it is not included in the binary because no other function is included from the same file. BTW, the make check limitation is currently mentioned in the changelog. Paolo I am not free these days for the issue, thanks for fixing it instead of me! diff --git a/tests/Makefile b/tests/Makefile index 7e53d0d..a1a0dae 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -27,8 +27,6 @@ check-unit-y += tests/test-string-input-visitor$(EXESUF) gcov-files-test-string-input-visitor-y = qapi/string-input-visitor.c check-unit-y += tests/test-string-output-visitor$(EXESUF) gcov-files-test-string-output-visitor-y = qapi/string-output-visitor.c -check-unit-y += tests/test-qmp-event$(EXESUF) -gcov-files-test-qmp-event-y += qapi/qmp-event.c check-unit-y += tests/test-opts-visitor$(EXESUF) gcov-files-test-opts-visitor-y = qapi/opts-visitor.c check-unit-y += tests/test-coroutine$(EXESUF) @@ -213,7 +211,7 @@ test-obj-y = tests/check-qint.o tests/check-qstring.o tests/check-qdict.o \ tests/test-qmp-input-visitor.o tests/test-qmp-input-strict.o \ tests/test-qmp-commands.o tests/test-visitor-serialization.o \ tests/test-x86-cpuid.o tests/test-mul64.o tests/test-int128.o \ - tests/test-opts-visitor.o tests/test-qmp-event.o + tests/test-opts-visitor.o test-qapi-obj-y = tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o thanks -- PMM