[libvirt PATCH 280/351] meson: tests: built utils static libraries

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:58:36 UTC 2020


With the old build system we just list the source files directly for
each test, but this would not work as expected with Meson.

For every binary there is a separate directory with its object files
which would mean all the utils sources would be compiled repeatedly
for every test using them.

Having static libraries ensures that the utils sources are compiled
only once.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 tests/Makefile.am | 10 +--------
 tests/meson.build | 53 +++++++++++++++++++++++++++++++++++++++++++++++
 tests/testutils.c |  2 +-
 3 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/tests/Makefile.am b/tests/Makefile.am
index 3cdeedb2308..3bc1a791a16 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -137,7 +137,7 @@ test_programs += qemuxml2argvtest qemuxml2xmltest \
 	qemuvhostusertest \
 	$(NULL)
 test_helpers += qemucapsprobe
-test_libraries += libqemumonitortestutils.la \
+test_libraries += \
 		libqemutestdriver.la \
 		$(NULL)
 endif WITH_QEMU
@@ -357,16 +357,8 @@ libxlxml2domconfigtest_LDADD = libxltestdriver.la \
 	$(libxl_LDADDS) $(LIBXML_LIBS)
 endif ! WITH_LIBXL
 
-QEMUMONITORTESTUTILS_SOURCES = \
-	qemumonitortestutils.c \
-	qemumonitortestutils.h \
-	testutilsqemuschema.h testutilsqemuschema.c \
-	$(NULL)
-
 if WITH_QEMU
 
-libqemumonitortestutils_la_SOURCES = $(QEMUMONITORTESTUTILS_SOURCES)
-
 qemu_LDADDS = ../src/libvirt_driver_qemu_impl.la
 if WITH_DTRACE_PROBES
 qemu_LDADDS += ../src/libvirt_qemu_probes.lo
diff --git a/tests/meson.build b/tests/meson.build
index ca6e5b5f74d..5cbd3cd2077 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -117,3 +117,56 @@ foreach mock : mock_libs
     ],
   )
 endforeach
+
+
+# build libraries used by tests
+
+test_utils_lib = static_library(
+  'test_utils',
+  [ 'testutils.c' ],
+  dependencies: [ tests_dep ],
+)
+
+if conf.has('WITH_LIBXL')
+  test_utils_xen_lib = static_library(
+    'test_utils_xen',
+    [ 'testutilsxen.c' ],
+    dependencies: [ tests_dep ],
+  )
+
+else
+  test_utils_xen_lib = []
+endif
+
+if conf.has('WITH_LXC')
+  test_utils_lxc_lib = static_library(
+    'test_utils_lxc',
+    [ 'testutilslxc.c' ],
+    dependencies: [ tests_dep ],
+  )
+else
+  test_utils_lxc_lib = []
+endif
+
+if conf.has('WITH_QEMU')
+  test_utils_qemu_lib = static_library(
+    'test_utils_qemu',
+    [ 'testutilsqemu.c' ],
+    dependencies: [ tests_dep ],
+  )
+
+  test_utils_qemu_monitor_lib = static_library(
+    'test_utils_qemu_monitor',
+    [ 'qemumonitortestutils.c', 'testutilsqemuschema.c' ],
+    dependencies: [ tests_dep ],
+  )
+else
+  test_utils_qemu_lib = []
+  test_utils_qemu_monitor_lib = []
+endif
+
+test_file_wrapper_lib = static_library(
+  'test_file_wrapper',
+  [ 'virfilewrapper.c' ],
+  dependencies: [ tests_dep ],
+)
diff --git a/tests/testutils.c b/tests/testutils.c
index a1cd093e4e2..3f53f635fc2 100644
--- a/tests/testutils.c
+++ b/tests/testutils.c
@@ -340,7 +340,7 @@ virTestRewrapFile(const char *filename)
 
     script = g_strdup_printf("%s/scripts/test-wrap-argv.py", abs_top_srcdir);
 
-    cmd = virCommandNewArgList(PYTHON, script, "--in-place", filename, NULL);
+    cmd = virCommandNewArgList(PYTHON3, script, "--in-place", filename, NULL);
     if (virCommandRun(cmd, NULL) < 0)
         return -1;
 
-- 
2.26.2




More information about the libvir-list mailing list