mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
The network driver needs to assign physical devices for use by modes
that use macvtap, keeping track of which physical devices are in use
(and how many instances, when the devices can be shared). Three calls
are added:
networkAllocateActualDevice - finds a physical device for use by the
domain, and sets up the virDomainActualNetDef accordingly.
networkNotifyActualDevice - assumes that the domain was already
running, but libvirtd was restarted, and needs to be notified by each
already-running domain about what interfaces they are using.
networkReleaseActualDevice - decrements the usage count of the
allocated physical device, and frees the virDomainActualNetDef to
avoid later accidentally using the device.
bridge_driver.[hc] - the new APIs. When WITH_NETWORK is false, these
functions are all #defined to be "0" in the .h file (effectively
becoming a NOP) to prevent link errors.
qemu_(command|driver|hotplug|process).c - add calls to the above APIs
in the appropriate places.
tests/Makefile.am - we need to include libvirt_driver_network.la
whenever libvirt_driver_qemu.la is linked, to avoid unreferenced
symbols (in functions that are never called by the test
programs...)
508 lines
11 KiB
Makefile
508 lines
11 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
SHELL = $(PREFERABLY_POSIX_SHELL)
|
|
|
|
INCLUDES = \
|
|
-I$(top_srcdir)/gnulib/lib -I../gnulib/lib \
|
|
-I$(top_builddir)/include \
|
|
-I$(top_srcdir)/include \
|
|
-I$(top_srcdir)/src \
|
|
-I$(top_srcdir)/src/util \
|
|
-I$(top_srcdir)/src/conf
|
|
|
|
AM_CFLAGS = \
|
|
$(LIBXML_CFLAGS) \
|
|
$(GNUTLS_CFLAGS) \
|
|
$(SASL_CFLAGS) \
|
|
$(SELINUX_CFLAGS) \
|
|
$(APPARMOR_CFLAGS) \
|
|
$(YAJL_CFLAGS) \
|
|
$(COVERAGE_CFLAGS) \
|
|
$(WARN_CFLAGS)
|
|
|
|
if WITH_DRIVER_MODULES
|
|
INCLUDES += \
|
|
-DTEST_DRIVER_DIR=\"$(top_builddir)/src/.libs\"
|
|
endif
|
|
|
|
LDADDS = \
|
|
$(STATIC_BINARIES) \
|
|
$(LIBXML_LIBS) \
|
|
$(GNUTLS_LIBS) \
|
|
$(SASL_LIBS) \
|
|
$(SELINUX_LIBS) \
|
|
$(APPARMOR_LIBS) \
|
|
$(YAJL_LIBS) \
|
|
$(WARN_CFLAGS) \
|
|
../src/libvirt_test.la \
|
|
../gnulib/lib/libgnu.la \
|
|
$(LIBSOCKET) \
|
|
$(COVERAGE_LDFLAGS)
|
|
|
|
EXTRA_DIST = \
|
|
capabilityschemadata \
|
|
capabilityschematest \
|
|
commanddata \
|
|
confdata \
|
|
cputestdata \
|
|
domainschemadata \
|
|
domainschematest \
|
|
domainsnapshotschematest \
|
|
domainsnapshotxml2xmlin \
|
|
domainsnapshotxml2xmlout \
|
|
interfaceschemadata \
|
|
networkschematest \
|
|
networkxml2xmlin \
|
|
networkxml2xmlout \
|
|
networkxml2argvdata \
|
|
nodedevschemadata \
|
|
nodedevschematest \
|
|
nodeinfodata \
|
|
nwfilterschematest \
|
|
nwfilterxml2xmlin \
|
|
nwfilterxml2xmlout \
|
|
oomtrace.pl \
|
|
qemuhelpdata \
|
|
qemuxml2argvdata \
|
|
qemuxml2xmloutdata \
|
|
schematestutils.sh \
|
|
sexpr2xmldata \
|
|
storagepoolschematest \
|
|
storagepoolxml2xmlin \
|
|
storagepoolxml2xmlout \
|
|
storagevolschematest \
|
|
storagevolxml2xmlin \
|
|
storagevolxml2xmlout \
|
|
test-lib.sh \
|
|
vmx2xmldata \
|
|
xencapsdata \
|
|
xmconfigdata \
|
|
xml2sexprdata \
|
|
xml2vmxdata \
|
|
.valgrind.supp
|
|
|
|
check_PROGRAMS = virshtest conftest sockettest \
|
|
nodeinfotest qparamtest virbuftest \
|
|
commandtest commandhelper seclabeltest \
|
|
hashtest virnetmessagetest virnetsockettest ssh \
|
|
utiltest
|
|
|
|
# This is a fake SSH we use from virnetsockettest
|
|
ssh_SOURCES = ssh.c
|
|
ssh_LDADD = $(COVERAGE_LDFLAGS)
|
|
|
|
if WITH_XEN
|
|
check_PROGRAMS += xml2sexprtest sexpr2xmltest \
|
|
xmconfigtest xencapstest statstest reconnect
|
|
endif
|
|
if WITH_QEMU
|
|
check_PROGRAMS += qemuxml2argvtest qemuxml2xmltest qemuargv2xmltest qemuhelptest
|
|
endif
|
|
|
|
if WITH_OPENVZ
|
|
check_PROGRAMS += openvzutilstest
|
|
endif
|
|
|
|
if WITH_ESX
|
|
check_PROGRAMS += esxutilstest
|
|
endif
|
|
|
|
if WITH_VMX
|
|
check_PROGRAMS += vmx2xmltest xml2vmxtest
|
|
endif
|
|
|
|
if WITH_CIL
|
|
check_PROGRAMS += object-locking
|
|
endif
|
|
|
|
if HAVE_YAJL
|
|
check_PROGRAMS += jsontest
|
|
endif
|
|
|
|
check_PROGRAMS += networkxml2xmltest
|
|
|
|
if WITH_NETWORK
|
|
check_PROGRAMS += networkxml2argvtest
|
|
endif
|
|
|
|
check_PROGRAMS += nwfilterxml2xmltest
|
|
|
|
check_PROGRAMS += storagevolxml2xmltest storagepoolxml2xmltest
|
|
|
|
check_PROGRAMS += nodedevxml2xmltest
|
|
|
|
check_PROGRAMS += interfacexml2xmltest
|
|
|
|
check_PROGRAMS += cputest
|
|
|
|
test_scripts = \
|
|
capabilityschematest \
|
|
interfaceschematest \
|
|
networkschematest \
|
|
storagepoolschematest \
|
|
storagevolschematest \
|
|
domainschematest \
|
|
nodedevschematest \
|
|
nwfilterschematest \
|
|
domainsnapshotschematest
|
|
|
|
if WITH_LIBVIRTD
|
|
test_scripts += \
|
|
test_conf.sh \
|
|
cpuset \
|
|
daemon-conf \
|
|
define-dev-segfault \
|
|
int-overflow \
|
|
libvirtd-fail \
|
|
libvirtd-pool \
|
|
read-bufsiz \
|
|
read-non-seekable \
|
|
start \
|
|
undefine \
|
|
vcpupin \
|
|
virsh-all \
|
|
virsh-optparse \
|
|
virsh-schedinfo \
|
|
virsh-synopsis
|
|
else
|
|
EXTRA_DIST += \
|
|
test_conf.sh \
|
|
cpuset \
|
|
daemon-conf \
|
|
define-dev-segfault \
|
|
int-overflow \
|
|
libvirtd-fail \
|
|
libvirtd-pool \
|
|
read-bufsiz \
|
|
read-non-seekable \
|
|
start \
|
|
undefine \
|
|
vcpupin \
|
|
virsh-all \
|
|
virsh-optparse \
|
|
virsh-schedinfo \
|
|
virsh-synopsis
|
|
endif
|
|
|
|
if WITH_SECDRIVER_APPARMOR
|
|
test_scripts += virt-aa-helper-test
|
|
else
|
|
EXTRA_DIST += virt-aa-helper-test
|
|
endif
|
|
|
|
EXTRA_DIST += $(test_scripts)
|
|
|
|
TESTS = virshtest \
|
|
nodeinfotest \
|
|
qparamtest \
|
|
virbuftest \
|
|
sockettest \
|
|
commandtest \
|
|
seclabeltest \
|
|
hashtest \
|
|
virnetmessagetest \
|
|
virnetsockettest \
|
|
utiltest \
|
|
$(test_scripts)
|
|
|
|
if HAVE_YAJL
|
|
TESTS += jsontest
|
|
endif
|
|
|
|
if WITH_XEN
|
|
TESTS += xml2sexprtest \
|
|
sexpr2xmltest \
|
|
xmconfigtest \
|
|
xencapstest \
|
|
reconnect \
|
|
statstest
|
|
endif
|
|
|
|
if WITH_QEMU
|
|
TESTS += qemuxml2argvtest qemuxml2xmltest qemuargv2xmltest qemuhelptest
|
|
TESTS += nwfilterxml2xmltest
|
|
endif
|
|
|
|
if WITH_OPENVZ
|
|
TESTS += openvzutilstest
|
|
endif
|
|
|
|
if WITH_ESX
|
|
TESTS += esxutilstest
|
|
endif
|
|
|
|
if WITH_VMX
|
|
TESTS += vmx2xmltest xml2vmxtest
|
|
endif
|
|
|
|
if WITH_LIBVIRTD
|
|
check_PROGRAMS += eventtest
|
|
TESTS += eventtest
|
|
endif
|
|
|
|
TESTS += networkxml2xmltest
|
|
|
|
if WITH_NETWORK
|
|
TESTS += networkxml2argvtest
|
|
endif
|
|
|
|
TESTS += storagevolxml2xmltest storagepoolxml2xmltest
|
|
|
|
TESTS += nodedevxml2xmltest
|
|
|
|
TESTS += interfacexml2xmltest
|
|
|
|
TESTS += cputest
|
|
|
|
path_add = $$abs_top_builddir/daemon$(PATH_SEPARATOR)$$abs_top_builddir/tools$(PATH_SEPARATOR)$$abs_top_builddir/tests
|
|
|
|
# NB, automake < 1.10 does not provide the real
|
|
# abs_top_{src/build}dir or builddir variables, so don't rely
|
|
# on them here. Fake them with 'pwd'
|
|
TESTS_ENVIRONMENT = \
|
|
abs_top_builddir=`cd '$(top_builddir)'; pwd` \
|
|
abs_top_srcdir=`cd '$(top_srcdir)'; pwd` \
|
|
abs_builddir=`pwd` \
|
|
abs_srcdir=`cd '$(srcdir)'; pwd` \
|
|
CONFIG_HEADER="`cd '$(top_builddir)'; pwd`/config.h" \
|
|
PATH="$(path_add)$(PATH_SEPARATOR)$$PATH" \
|
|
SHELL="$(SHELL)" \
|
|
LIBVIRT_DRIVER_DIR="$(abs_top_builddir)/src/.libs" \
|
|
LC_ALL=C \
|
|
$(VG)
|
|
|
|
valgrind:
|
|
$(MAKE) check VG="valgrind --quiet --leak-check=full --suppressions=$(srcdir)/.valgrind.supp"
|
|
|
|
sockettest_SOURCES = \
|
|
sockettest.c \
|
|
testutils.c testutils.h
|
|
sockettest_LDADD = ../src/libvirt_util.la $(LDADDS)
|
|
|
|
if WITH_XEN
|
|
xml2sexprtest_SOURCES = \
|
|
xml2sexprtest.c testutilsxen.c testutilsxen.h \
|
|
testutils.c testutils.h
|
|
xml2sexprtest_LDADD = ../src/libvirt_driver_xen.la $(LDADDS)
|
|
|
|
sexpr2xmltest_SOURCES = \
|
|
sexpr2xmltest.c testutilsxen.c testutilsxen.h \
|
|
testutils.c testutils.h
|
|
sexpr2xmltest_LDADD = ../src/libvirt_driver_xen.la $(LDADDS)
|
|
|
|
xmconfigtest_SOURCES = \
|
|
xmconfigtest.c testutilsxen.c testutilsxen.h \
|
|
testutils.c testutils.h
|
|
xmconfigtest_LDADD = ../src/libvirt_driver_xen.la $(LDADDS)
|
|
|
|
xencapstest_SOURCES = \
|
|
xencapstest.c testutils.h testutils.c
|
|
xencapstest_LDADD = ../src/libvirt_driver_xen.la $(LDADDS)
|
|
|
|
reconnect_SOURCES = \
|
|
reconnect.c testutils.h testutils.c
|
|
reconnect_LDADD = $(LDADDS)
|
|
|
|
statstest_SOURCES = \
|
|
statstest.c testutils.h testutils.c
|
|
statstest_LDADD = ../src/libvirt_driver_xen.la $(LDADDS)
|
|
|
|
else
|
|
EXTRA_DIST += xml2sexprtest.c sexpr2xmltest.c xmconfigtest.c \
|
|
xencapstest.c reconnect.c \
|
|
testutilsxen.c testutilsxen.h
|
|
endif
|
|
|
|
if WITH_QEMU
|
|
|
|
qemu_LDADDS = ../src/libvirt_driver_qemu.la
|
|
|
|
if WITH_NETWORK
|
|
qemu_LDADDS += ../src/libvirt_driver_network.la
|
|
endif
|
|
|
|
qemuxml2argvtest_SOURCES = \
|
|
qemuxml2argvtest.c testutilsqemu.c testutilsqemu.h \
|
|
testutils.c testutils.h
|
|
qemuxml2argvtest_LDADD = $(qemu_LDADDS) $(LDADDS)
|
|
|
|
qemuxml2xmltest_SOURCES = \
|
|
qemuxml2xmltest.c testutilsqemu.c testutilsqemu.h \
|
|
testutils.c testutils.h
|
|
qemuxml2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
|
|
|
|
qemuargv2xmltest_SOURCES = \
|
|
qemuargv2xmltest.c testutilsqemu.c testutilsqemu.h \
|
|
testutils.c testutils.h
|
|
qemuargv2xmltest_LDADD = $(qemu_LDADDS) $(LDADDS)
|
|
|
|
qemuhelptest_SOURCES = qemuhelptest.c testutils.c testutils.h
|
|
qemuhelptest_LDADD = $(qemu_LDADDS) $(LDADDS)
|
|
else
|
|
EXTRA_DIST += qemuxml2argvtest.c qemuxml2xmltest.c qemuargv2xmltest.c qemuhelptest.c testutilsqemu.c testutilsqemu.h
|
|
endif
|
|
|
|
if WITH_OPENVZ
|
|
openvzutilstest_SOURCES = \
|
|
openvzutilstest.c \
|
|
testutils.c testutils.h
|
|
openvzutilstest_LDADD = ../src/libvirt_driver_openvz.la $(LDADDS)
|
|
else
|
|
EXTRA_DIST += openvzutilstest.c
|
|
endif
|
|
EXTRA_DIST += openvzutilstest.conf
|
|
|
|
if WITH_ESX
|
|
esxutilstest_SOURCES = \
|
|
esxutilstest.c \
|
|
testutils.c testutils.h
|
|
esxutilstest_LDADD = ../src/libvirt_driver_esx.la $(LDADDS)
|
|
else
|
|
EXTRA_DIST += esxutilstest.c
|
|
endif
|
|
|
|
if WITH_VMX
|
|
vmx2xmltest_SOURCES = \
|
|
vmx2xmltest.c \
|
|
testutils.c testutils.h
|
|
vmx2xmltest_LDADD = ../src/libvirt_vmx.la $(LDADDS)
|
|
|
|
xml2vmxtest_SOURCES = \
|
|
xml2vmxtest.c \
|
|
testutils.c testutils.h
|
|
xml2vmxtest_LDADD = ../src/libvirt_vmx.la $(LDADDS)
|
|
else
|
|
EXTRA_DIST += vmx2xmltest.c xml2vmxtest.c
|
|
endif
|
|
|
|
networkxml2xmltest_SOURCES = \
|
|
networkxml2xmltest.c \
|
|
testutils.c testutils.h
|
|
networkxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
if WITH_NETWORK
|
|
networkxml2argvtest_SOURCES = \
|
|
networkxml2argvtest.c \
|
|
testutils.c testutils.h
|
|
networkxml2argvtest_LDADD = ../src/libvirt_driver_network.la $(LDADDS)
|
|
else
|
|
EXTRA_DIST += networkxml2argvtest.c
|
|
endif
|
|
|
|
nwfilterxml2xmltest_SOURCES = \
|
|
nwfilterxml2xmltest.c \
|
|
testutils.c testutils.h
|
|
nwfilterxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
storagevolxml2xmltest_SOURCES = \
|
|
storagevolxml2xmltest.c \
|
|
testutils.c testutils.h
|
|
storagevolxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
storagepoolxml2xmltest_SOURCES = \
|
|
storagepoolxml2xmltest.c \
|
|
testutils.c testutils.h
|
|
storagepoolxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
nodedevxml2xmltest_SOURCES = \
|
|
nodedevxml2xmltest.c \
|
|
testutils.c testutils.h
|
|
nodedevxml2xmltest_LDADD = $(LDADDS)
|
|
|
|
interfacexml2xmltest_SOURCES = \
|
|
interfacexml2xmltest.c \
|
|
testutils.c testutils.h
|
|
interfacexml2xmltest_LDADD = $(LDADDS)
|
|
|
|
cputest_SOURCES = \
|
|
cputest.c \
|
|
testutils.c testutils.h
|
|
cputest_LDADD = $(LDADDS)
|
|
|
|
virshtest_SOURCES = \
|
|
virshtest.c \
|
|
testutils.c testutils.h
|
|
virshtest_LDADD = $(LDADDS)
|
|
|
|
conftest_SOURCES = \
|
|
conftest.c
|
|
conftest_LDADD = $(LDADDS)
|
|
|
|
nodeinfotest_SOURCES = \
|
|
nodeinfotest.c testutils.h testutils.c
|
|
nodeinfotest_LDADD = $(LDADDS)
|
|
|
|
commandtest_SOURCES = \
|
|
commandtest.c testutils.h testutils.c
|
|
commandtest_CFLAGS = -Dabs_builddir="\"`pwd`\"" $(AM_CFLAGS)
|
|
commandtest_LDADD = $(LDADDS)
|
|
|
|
commandhelper_SOURCES = \
|
|
commandhelper.c
|
|
commandhelper_CFLAGS = -Dabs_builddir="\"`pwd`\"" $(AM_CFLAGS)
|
|
commandhelper_LDADD = $(LDADDS)
|
|
|
|
virnetmessagetest_SOURCES = \
|
|
virnetmessagetest.c testutils.h testutils.c
|
|
virnetmessagetest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
|
virnetmessagetest_LDADD = ../src/libvirt-net-rpc.la $(LDADDS)
|
|
|
|
virnetsockettest_SOURCES = \
|
|
virnetsockettest.c testutils.h testutils.c
|
|
virnetsockettest_CFLAGS = -Dabs_builddir="\"$(abs_builddir)\"" $(AM_CFLAGS)
|
|
virnetsockettest_LDADD = ../src/libvirt-net-rpc.la $(LDADDS)
|
|
|
|
|
|
seclabeltest_SOURCES = \
|
|
seclabeltest.c
|
|
seclabeltest_LDADD = ../src/libvirt_driver_security.la $(LDADDS)
|
|
|
|
qparamtest_SOURCES = \
|
|
qparamtest.c testutils.h testutils.c
|
|
qparamtest_LDADD = $(LDADDS)
|
|
|
|
virbuftest_SOURCES = \
|
|
virbuftest.c testutils.h testutils.c
|
|
virbuftest_LDADD = $(LDADDS)
|
|
|
|
hashtest_SOURCES = \
|
|
hashtest.c hashdata.h testutils.h testutils.c
|
|
hashtest_LDADD = $(LDADDS)
|
|
|
|
jsontest_SOURCES = \
|
|
jsontest.c testutils.h testutils.c
|
|
jsontest_LDADD = $(LDADDS)
|
|
|
|
utiltest_SOURCES = \
|
|
utiltest.c testutils.h testutils.c
|
|
utiltest_LDADD = $(LDADDS)
|
|
|
|
if WITH_LIBVIRTD
|
|
eventtest_SOURCES = \
|
|
eventtest.c testutils.h testutils.c
|
|
eventtest_LDADD = -lrt $(LDADDS)
|
|
endif
|
|
|
|
if WITH_CIL
|
|
CILOPTFLAGS =
|
|
CILOPTINCS =
|
|
CILOPTPACKAGES = -package unix,str,cil
|
|
CILOPTLIBS = -linkpkg
|
|
|
|
object_locking_SOURCES = object-locking.ml
|
|
|
|
%.cmx: %.ml
|
|
ocamlfind ocamlopt $(CILOPTFLAGS) $(CILOPTINCS) $(CILOPTPACKAGES) -c $<
|
|
|
|
object-locking: object-locking.cmx object-locking-files.txt
|
|
ocamlfind ocamlopt $(CILOPTFLAGS) $(CILOPTINCS) $(CILOPTPACKAGES) $(CILOPTLIBS) $< -o $@
|
|
|
|
object-locking-files.txt:
|
|
find $(top_builddir)/src/ -name '*.i' > $@
|
|
|
|
else
|
|
EXTRA_DIST += object-locking.ml
|
|
endif
|
|
|
|
CLEANFILES = *.cov *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.cmi *.cmx object-locking-files.txt
|