diff mbox

[v2] qtest: enable vhost-user-test

Message ID 20140619173410.7378.82319.stgit@3820
State New
Headers show

Commit Message

Nikolay Nikolaev June 19, 2014, 5:35 p.m. UTC
Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures
mingw compilation won't break.

Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
---
 0 files changed

Comments

Michael S. Tsirkin June 19, 2014, 6:24 p.m. UTC | #1
On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote:
> Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures
> mingw compilation won't break.
> 
> Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>

okay but why does non posix work without -lutil and posix doesn't?

> ---
>  0 files changed
> 
> diff --git a/tests/Makefile b/tests/Makefile
> index 4caf7de..5661d52 100644
> --- a/tests/Makefile
> +++ b/tests/Makefile
> @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c
>  gcov-files-i386-y += hw/usb/hcd-uhci.c
>  gcov-files-i386-y += hw/usb/dev-hid.c
>  gcov-files-i386-y += hw/usb/dev-storage.c
> -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF)
> +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF)
>  check-qtest-x86_64-y = $(check-qtest-i386-y)
>  gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c
>  gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
> @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o
>  tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
>  tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
>  tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y)
> -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a
> +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y)
>  tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
>  tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a
>  
> -#LIBS+= -lutil
> +
> +ifeq ($(CONFIG_POSIX),y)
> +LIBS+= -lutil
> +endif
>  
>  # QTest rules
>
Nikolay Nikolaev June 19, 2014, 8:31 p.m. UTC | #2
On Thu, Jun 19, 2014 at 9:24 PM, Michael S. Tsirkin <mst@redhat.com> wrote:

> On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote:
> > Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures
> > mingw compilation won't break.
> >
> > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
>
> okay but why does non posix work without -lutil and posix doesn't?
>

There are 2 things here:

1. vhost-user-test links to qemu-char.o, which uses qemu_openpty_raw from
libqemuutil.a.
qemu_openpty_raw requires openpty from libutil. We added LIBS=-lutil in
tests/Makefile to satisfy this dependency.

2. tests/Makefile is included in the main Makefile, so LIBS is applied to
all make targets. Making LIBS depend on CONFIG_POSIX actually switches
on/off -lutil globally.

Probably the best solution would be to just stub qemu_openpty_raw an drop
-lutil.

regards,
Nikolay Nikolaev


>
> > ---
> >  0 files changed
> >
> > diff --git a/tests/Makefile b/tests/Makefile
> > index 4caf7de..5661d52 100644
> > --- a/tests/Makefile
> > +++ b/tests/Makefile
> > @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c
> >  gcov-files-i386-y += hw/usb/hcd-uhci.c
> >  gcov-files-i386-y += hw/usb/dev-hid.c
> >  gcov-files-i386-y += hw/usb/dev-storage.c
> > -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF)
> > +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF)
> >  check-qtest-x86_64-y = $(check-qtest-i386-y)
> >  gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c
> >  gcov-files-x86_64-y = $(subst
> i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
> > @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o
> >  tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
> >  tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
> >  tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o
> $(libqos-pc-obj-y)
> > -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o
> qemu-timer.o libqemuutil.a libqemustub.a
> > +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o
> qemu-timer.o $(qtest-obj-y)
> >  tests/qemu-iotests/socket_scm_helper$(EXESUF):
> tests/qemu-iotests/socket_scm_helper.o
> >  tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a
> libqemustub.a
> >
> > -#LIBS+= -lutil
> > +
> > +ifeq ($(CONFIG_POSIX),y)
> > +LIBS+= -lutil
> > +endif
> >
> >  # QTest rules
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Snabb Switch development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to snabb-devel+unsubscribe@googlegroups.com.
> To post to this group, send an email to snabb-devel@googlegroups.com.
> Visit this group at http://groups.google.com/group/snabb-devel.
>
Michael S. Tsirkin June 30, 2014, 9:40 a.m. UTC | #3
On Thu, Jun 19, 2014 at 09:24:09PM +0300, Michael S. Tsirkin wrote:
> On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote:
> > Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures
> > mingw compilation won't break.
> > 
> > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com>
> 
> okay but why does non posix work without -lutil and posix doesn't?

Ping.


> > ---
> >  0 files changed
> > 
> > diff --git a/tests/Makefile b/tests/Makefile
> > index 4caf7de..5661d52 100644
> > --- a/tests/Makefile
> > +++ b/tests/Makefile
> > @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c
> >  gcov-files-i386-y += hw/usb/hcd-uhci.c
> >  gcov-files-i386-y += hw/usb/dev-hid.c
> >  gcov-files-i386-y += hw/usb/dev-storage.c
> > -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF)
> > +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF)
> >  check-qtest-x86_64-y = $(check-qtest-i386-y)
> >  gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c
> >  gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
> > @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o
> >  tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
> >  tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
> >  tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y)
> > -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a
> > +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y)
> >  tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
> >  tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a
> >  
> > -#LIBS+= -lutil
> > +
> > +ifeq ($(CONFIG_POSIX),y)
> > +LIBS+= -lutil
> > +endif
> >  
> >  # QTest rules
> >
diff mbox

Patch

diff --git a/tests/Makefile b/tests/Makefile
index 4caf7de..5661d52 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -156,7 +156,7 @@  gcov-files-i386-y += hw/usb/hcd-ehci.c
 gcov-files-i386-y += hw/usb/hcd-uhci.c
 gcov-files-i386-y += hw/usb/dev-hid.c
 gcov-files-i386-y += hw/usb/dev-storage.c
-#check-qtest-i386-y += tests/vhost-user-test$(EXESUF)
+check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF)
 check-qtest-x86_64-y = $(check-qtest-i386-y)
 gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c
 gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y))
@@ -323,11 +323,14 @@  tests/es1370-test$(EXESUF): tests/es1370-test.o
 tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o
 tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o
 tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y)
-tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a
+tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y)
 tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o
 tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a
 
-#LIBS+= -lutil
+
+ifeq ($(CONFIG_POSIX),y)
+LIBS+= -lutil
+endif
 
 # QTest rules