* [PULL v2 00/46] Next round of Meson bugfixes and cleanups
@ 2020-09-06 17:53 Paolo Bonzini
2020-09-06 17:53 ` [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles Paolo Bonzini
2020-09-06 18:34 ` [PULL v2 00/46] Next round of Meson bugfixes and cleanups Peter Maydell
0 siblings, 2 replies; 10+ messages in thread
From: Paolo Bonzini @ 2020-09-06 17:53 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 227de21ed0759e275a469394af72c999d0134bb5:
Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into staging (2020-09-05 15:30:41 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:
meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)
----------------------------------------------------------------
meson related:
* convert unit tests
* bugfixes for mtest2make
* miscellaneous bugfixes
* dead code removal and configure cleanups
* oss-fuzz fixes
* msys fixes
----------------------------------------------------------------
Alexander Bulekov (3):
oss-fuzz: fix rpath
meson: specify fuzz linker script as a project arg
fuzz: Add support for custom fuzzing library
Bruce Rogers (1):
meson: remove linkage of sdl to baum
Marc-André Lureau (12):
meson: build qapi tests library
meson: declare tasn1 dependency
meson: declare keyutils dependency
meson: convert qht-bench
meson: move keyutils dependency check
meson: remove old socket_scm_helper rule
meson: convert vhost-user-bridge
meson: convert atomic*-bench
tests: do not print benchmark output to stdout
tests/migration/stress: remove unused exit_success
meson: fix migration/stress compilation with glibc>=2.30
meson: convert migration/initrd-stress
Paolo Bonzini (25):
qemu-iotests: move check-block back to Makefiles
mtest2make: split environment from test command
mtest2make: split working directory from test command
mtest2make: hide output of successful tests
mtest2make: unify tests that appear in multiple suites
meson: remove b_lundef option
configure: do not include absolute paths in -I and -L paths
configure: include cross sdl2-config in meson cross file
ninjatool: use constant names for stamp files
meson: fix libqos linking
meson: convert the speed tests
configure: remove dead code for in-tree builds
meson: compute config_all_devices directly
Makefile: remove dead variables and includes
Makefile: inline the relevant parts of rules.mak
configure: move disassembler configuration to meson
configure: move C++ compiler handling to meson
meson: keep all compiler flags detection together
configure: move -ldl test to meson
configure: remove unnecessary libm test
configure: do not look for install(1)
meson: get glib compilation flags from GLIB_CFLAGS
configure: do not include dependency flags in QEMU_CFLAGS and LIBS
configure: drop dead variables and functions
docs: suggest Meson replacements for various configure functions
Thomas Huth (2):
tests/Makefile: test-image-locking needs CONFIG_POSIX
meson: convert the unit tests
Yonggang Luo (3):
tests: handling signal on win32 properly
configure: update dtc submodule
meson: Convert undefsym.sh to undefsym.py
.gitignore | 2 -
Makefile | 63 +++---
Makefile.objs | 34 ----
accel/tcg/meson.build | 2 +-
chardev/meson.build | 4 +-
configure | 353 ++++-----------------------------
disas/meson.build | 4 +-
docs/devel/build-system.rst | 18 +-
hw/arm/meson.build | 2 +-
hw/mips/meson.build | 2 +-
hw/riscv/meson.build | 2 +-
meson.build | 152 ++++++++++----
monitor/meson.build | 2 +-
rules.mak | 158 ---------------
scripts/empty.c | 6 +
scripts/grepy.sh | 3 -
scripts/mtest2make.py | 100 +++++-----
scripts/ninjatool.py | 8 +-
scripts/oss-fuzz/build.sh | 2 +-
scripts/test-driver.py | 35 ++++
scripts/undefsym.py | 49 +++++
scripts/undefsym.sh | 20 --
tests/Makefile.include | 414 ++-------------------------------------
tests/benchmark-crypto-cipher.c | 8 +-
tests/benchmark-crypto-hash.c | 2 +-
tests/benchmark-crypto-hmac.c | 8 +-
tests/docker/Makefile.include | 4 +
tests/include/meson.build | 16 ++
tests/meson.build | 257 ++++++++++++++++++++++++
tests/migration/initrd-stress.sh | 10 +
tests/migration/meson.build | 14 ++
tests/migration/stress.c | 15 +-
tests/qemu-iotests/meson.build | 4 -
tests/qtest/fuzz/meson.build | 7 +-
tests/qtest/libqos/meson.build | 9 +-
tests/tcg/Makefile.qemu | 2 -
tests/test-crypto-secret.c | 10 +-
tests/test-qga.c | 2 +-
tests/test-replication.c | 4 +
39 files changed, 686 insertions(+), 1121 deletions(-)
delete mode 100644 Makefile.objs
delete mode 100644 rules.mak
create mode 100644 scripts/empty.c
delete mode 100755 scripts/grepy.sh
create mode 100644 scripts/test-driver.py
create mode 100644 scripts/undefsym.py
delete mode 100755 scripts/undefsym.sh
create mode 100644 tests/include/meson.build
create mode 100755 tests/migration/initrd-stress.sh
create mode 100644 tests/migration/meson.build
--
2.26.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles
2020-09-06 17:53 [PULL v2 00/46] Next round of Meson bugfixes and cleanups Paolo Bonzini
@ 2020-09-06 17:53 ` Paolo Bonzini
2020-09-11 10:58 ` Max Reitz
2020-09-06 18:34 ` [PULL v2 00/46] Next round of Meson bugfixes and cleanups Peter Maydell
1 sibling, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2020-09-06 17:53 UTC (permalink / raw)
To: qemu-devel
check-block has its own test harness, unlike every other test. If
we capture its output, as is in general nicer to do without V=1,
there will be no sign of progress. So for lack of a better option
just move the invocation of the test back to Makefile rules.
As a side effect, this will also fix "make check" in --disable-tools
builds, as they were trying to run qemu-iotests without having
made qemu-img before.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
meson.build | 1 -
tests/Makefile.include | 15 ++++++++++++---
tests/qemu-iotests/meson.build | 4 ----
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/meson.build b/meson.build
index 5aaa364730..85f3c01b98 100644
--- a/meson.build
+++ b/meson.build
@@ -1097,7 +1097,6 @@ if have_tools
dependencies: [block, qemuutil], install: true)
qemu_nbd = executable('qemu-nbd', files('qemu-nbd.c'),
dependencies: [block, qemuutil], install: true)
- qemu_block_tools += [qemu_img, qemu_io, qemu_nbd]
subdir('storage-daemon')
subdir('contrib/rdmacm-mux')
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 9ac8f5b86a..08301f5bc9 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -468,7 +468,6 @@ check-tcg: $(RUN_TCG_TARGET_RULES)
.PHONY: clean-tcg
clean-tcg: $(CLEAN_TCG_TARGET_RULES)
-
# Python venv for running tests
.PHONY: check-venv check-acceptance
@@ -523,8 +522,18 @@ check-acceptance: check-venv $(TESTS_RESULTS_DIR) get-vm-images
# Consolidated targets
.PHONY: check-block check-unit check check-clean get-vm-images
-check-block:
-check-build: build-unit
+check:
+
+ifeq ($(CONFIG_TOOLS)$(CONFIG_POSIX),yy)
+QEMU_IOTESTS_HELPERS-$(CONFIG_LINUX) = tests/qemu-iotests/socket_scm_helper$(EXESUF)
+check: check-block
+check-block: $(SRC_PATH)/tests/check-block.sh qemu-img$(EXESUF) \
+ qemu-io$(EXESUF) qemu-nbd$(EXESUF) $(QEMU_IOTESTS_HELPERS-y) \
+ $(patsubst %-softmmu,qemu-system-%,$(filter %-softmmu,$(TARGET_DIRS)))
+ @$<
+endif
+
+check-build: build-unit $(QEMU_IOTESTS_HELPERS-y)
check-clean:
rm -rf $(check-unit-y) tests/*.o tests/*/*.o $(QEMU_IOTESTS_HELPERS-y)
diff --git a/tests/qemu-iotests/meson.build b/tests/qemu-iotests/meson.build
index 3de09fb8fa..60470936b4 100644
--- a/tests/qemu-iotests/meson.build
+++ b/tests/qemu-iotests/meson.build
@@ -4,7 +4,3 @@ if 'CONFIG_LINUX' in config_host
else
socket_scm_helper = []
endif
-test('qemu-iotests', sh, args: [files('../check-block.sh')],
- depends: [qemu_block_tools, emulators, socket_scm_helper],
- suite: 'block', timeout: 10000)
-
--
2.26.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups
2020-09-06 17:53 [PULL v2 00/46] Next round of Meson bugfixes and cleanups Paolo Bonzini
2020-09-06 17:53 ` [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles Paolo Bonzini
@ 2020-09-06 18:34 ` Peter Maydell
2020-09-07 2:56 ` 罗勇刚(Yonggang Luo)
1 sibling, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2020-09-06 18:34 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Sun, 6 Sep 2020 at 18:56, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 227de21ed0759e275a469394af72c999d0134bb5:
>
> Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into staging (2020-09-05 15:30:41 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:
>
> meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)
>
> ----------------------------------------------------------------
> meson related:
> * convert unit tests
> * bugfixes for mtest2make
> * miscellaneous bugfixes
> * dead code removal and configure cleanups
> * oss-fuzz fixes
> * msys fixes
Build failure, Windows (this is the second "uint" type usage
I've seen today...):
../../tests/test-vmstate.c: In function 'int_cmp':
../../tests/test-vmstate.c:884:5: error: unknown type name 'uint'
uint ua = GPOINTER_TO_UINT(a);
^
../../tests/test-vmstate.c:885:5: error: unknown type name 'uint'
uint ub = GPOINTER_TO_UINT(b);
^
Makefile.ninja:5443: recipe for target
'tests/test-vmstate.exe.p/test-vmstate.c.obj' failed
make: *** [tests/test-vmstate.exe.p/test-vmstate.c.obj] Error 1
make: *** Waiting for unfinished jobs....
../../tests/test-util-filemonitor.c: In function 'test_file_monitor_events':
../../tests/test-util-filemonitor.c:620:17: error: too many arguments
to function 'mkdir'
if (mkdir(pathsrc, 0700) < 0) {
^
In file included from
/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/unistd.h:10:0,
from /home/petmay01/qemu-for-merges/include/qemu/osdep.h:93,
from ../../tests/test-util-filemonitor.c:21:
/usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/io.h:280:15: note:
declared here
int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
^
Build failure, OpenBSD:
In file included from ../src/hw/arm/nseries.c:30:
In file included from /home/qemu/qemu-test.yhbDti/src/include/hw/arm/omap.h:24:
In file included from
/home/qemu/qemu-test.yhbDti/src/include/hw/input/tsc2xxx.h:14:
/home/qemu/qemu-test.yhbDti/src/include/ui/console.h:11:11: fatal
error: 'epoxy/gl.h' file not found
# include <epoxy/gl.h>
^~~~~~~~~~~~
1 error generated.
gmake: *** [Makefile.ninja:1735:
libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1
Odd warning on most but not all of the builds, though they went on to
complete OK:
make: Entering directory '/home/peter.maydell/qemu-freebsd/build'
/home/peter.maydell/qemu-freebsd/tests/Makefile.include:144: warning:
overriding recipe for target 'check-block'
Makefile.mtest:1345: warning: ignoring old recipe for target 'check-block'
config-host.mak is out-of-date, running configure
cross containers no
NOTE: guest cross-compilers enabled: aarch64-linux-gnu-gcc cc
aarch64-linux-gnu-gcc cc
/usr/bin/python3 /home/peter.maydell/qemu-freebsd/meson/meson.py
--internal regenerate /home/peter.maydell/qemu-freebsd
/home/peter.maydell/qemu-freebsd/build --backend ninja
The Meson build system
Version: 0.55.1
[etc]
x86-64 clang build failed at the link stage (this is config we've
talked about before with
'../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
'--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base
-Werror'
but where the clang++ doesn't work because the right libstdc++ happens
not to be present):
Linking target qemu-alpha
libcommon.fa.p/cpus-common.c.o: In function `cpu_list_add':
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
undefined reference to `__ubsan_handle_type_mismatch_v1'
libcommon.fa.p/cpus-common.c.o: In function `cpu_get_free_index':
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
undefined reference to `__ubsan_handle_type_mismatch_v1'
/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
undefined reference to `__ubsan_handle_type_mismatch_v1'
libcommon.fa.p/cpus-common.c.o:/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
more undefined references to `__ubsan_handle_type_mismatch_v1' follow
collect2: error: ld returned 1 exit status
thanks
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups
2020-09-06 18:34 ` [PULL v2 00/46] Next round of Meson bugfixes and cleanups Peter Maydell
@ 2020-09-07 2:56 ` 罗勇刚(Yonggang Luo)
0 siblings, 0 replies; 10+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-07 2:56 UTC (permalink / raw)
To: Peter Maydell; +Cc: Paolo Bonzini, QEMU Developers
[-- Attachment #1: Type: text/plain, Size: 5102 bytes --]
On Mon, Sep 7, 2020 at 2:35 AM Peter Maydell <peter.maydell@linaro.org>
wrote:
> On Sun, 6 Sep 2020 at 18:56, Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > The following changes since commit
> 227de21ed0759e275a469394af72c999d0134bb5:
> >
> > Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20200903' into
> staging (2020-09-05 15:30:41 +0100)
> >
> > are available in the Git repository at:
> >
> > https://gitlab.com/bonzini/qemu.git tags/for-upstream
> >
> > for you to fetch changes up to 6264b35324d3766d3c2ff369c4e8ecba8bd5b571:
> >
> > meson: remove linkage of sdl to baum (2020-09-06 19:50:57 +0200)
> >
> > ----------------------------------------------------------------
> > meson related:
> > * convert unit tests
> > * bugfixes for mtest2make
> > * miscellaneous bugfixes
> > * dead code removal and configure cleanups
> > * oss-fuzz fixes
> > * msys fixes
>
> Build failure, Windows (this is the second "uint" type usage
> I've seen today...):
>
> ../../tests/test-vmstate.c: In function 'int_cmp':
> ../../tests/test-vmstate.c:884:5: error: unknown type name 'uint'
> uint ua = GPOINTER_TO_UINT(a);
> ^
> ../../tests/test-vmstate.c:885:5: error: unknown type name 'uint'
> uint ub = GPOINTER_TO_UINT(b);
> ^
>
I've already fixes this issue, that patch can be quenued
> Makefile.ninja:5443: recipe for target
> 'tests/test-vmstate.exe.p/test-vmstate.c.obj' failed
> make: *** [tests/test-vmstate.exe.p/test-vmstate.c.obj] Error 1
> make: *** Waiting for unfinished jobs....
> ../../tests/test-util-filemonitor.c: In function
> 'test_file_monitor_events':
> ../../tests/test-util-filemonitor.c:620:17: error: too many arguments
> to function 'mkdir'
> if (mkdir(pathsrc, 0700) < 0) {
> ^
> In file included from
> /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/unistd.h:10:0,
> from
> /home/petmay01/qemu-for-merges/include/qemu/osdep.h:93,
> from ../../tests/test-util-filemonitor.c:21:
> /usr/lib/mxe/usr/x86_64-w64-mingw32.shared/include/io.h:280:15: note:
> declared here
> int __cdecl mkdir (const char *) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
> ^
>
>
>
> Build failure, OpenBSD:
>
> In file included from ../src/hw/arm/nseries.c:30:
> In file included from
> /home/qemu/qemu-test.yhbDti/src/include/hw/arm/omap.h:24:
> In file included from
> /home/qemu/qemu-test.yhbDti/src/include/hw/input/tsc2xxx.h:14:
> /home/qemu/qemu-test.yhbDti/src/include/ui/console.h:11:11: fatal
> error: 'epoxy/gl.h' file not found
> # include <epoxy/gl.h>
> ^~~~~~~~~~~~
> 1 error generated.
> gmake: *** [Makefile.ninja:1735:
> libqemu-aarch64-softmmu.fa.p/hw_arm_nseries.c.o] Error 1
>
>
>
> Odd warning on most but not all of the builds, though they went on to
> complete OK:
>
> make: Entering directory '/home/peter.maydell/qemu-freebsd/build'
> /home/peter.maydell/qemu-freebsd/tests/Makefile.include:144: warning:
> overriding recipe for target 'check-block'
> Makefile.mtest:1345: warning: ignoring old recipe for target 'check-block'
> config-host.mak is out-of-date, running configure
> cross containers no
>
> NOTE: guest cross-compilers enabled: aarch64-linux-gnu-gcc cc
> aarch64-linux-gnu-gcc cc
> /usr/bin/python3 /home/peter.maydell/qemu-freebsd/meson/meson.py
> --internal regenerate /home/peter.maydell/qemu-freebsd
> /home/peter.maydell/qemu-freebsd/build --backend ninja
> The Meson build system
> Version: 0.55.1
> [etc]
>
>
> x86-64 clang build failed at the link stage (this is config we've
> talked about before with
> '../../configure' '--cc=clang' '--cxx=clang++' '--enable-gtk'
> '--extra-cflags=-fsanitize=undefined -fno-sanitize=shift-base
> -Werror'
> but where the clang++ doesn't work because the right libstdc++ happens
> not to be present):
>
> Linking target qemu-alpha
> libcommon.fa.p/cpus-common.c.o: In function `cpu_list_add':
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:80:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> libcommon.fa.p/cpus-common.c.o: In function `cpu_get_free_index':
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:68:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
> /home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
> undefined reference to `__ubsan_handle_type_mismatch_v1'
>
> libcommon.fa.p/cpus-common.c.o:/home/petmay01/linaro/qemu-for-merges/build/clang/../../cpus-common.c:67:
> more undefined references to `__ubsan_handle_type_mismatch_v1' follow
> collect2: error: ld returned 1 exit status
>
> thanks
> -- PMM
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 6348 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PULL v2 00/46] Next round of Meson bugfixes and cleanups
@ 2020-09-07 16:44 Paolo Bonzini
2020-09-07 20:49 ` Peter Maydell
0 siblings, 1 reply; 10+ messages in thread
From: Paolo Bonzini @ 2020-09-07 16:44 UTC (permalink / raw)
To: qemu-devel
The following changes since commit 62f9256052df85194faa33137bbe0afb1c95b6e6:
Merge remote-tracking branch 'remotes/kraxel/tags/vga-20200904-pull-request' into staging (2020-09-07 13:27:20 +0100)
are available in the Git repository at:
https://gitlab.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to cfdedc114244adf488242f547af899bc2fe9f3c0:
meson: remove linkage of sdl to baum (2020-09-07 18:43:20 +0200)
----------------------------------------------------------------
meson related:
* convert unit tests
* bugfixes for mtest2make
* miscellaneous bugfixes
* dead code removal and configure cleanups
* oss-fuzz fixes
* msys fixes
----------------------------------------------------------------
Alexander Bulekov (3):
oss-fuzz: fix rpath
meson: specify fuzz linker script as a project arg
fuzz: Add support for custom fuzzing library
Bruce Rogers (1):
meson: remove linkage of sdl to baum
Marc-André Lureau (12):
meson: build qapi tests library
meson: declare tasn1 dependency
meson: declare keyutils dependency
meson: convert qht-bench
meson: move keyutils dependency check
meson: remove old socket_scm_helper rule
meson: convert vhost-user-bridge
meson: convert atomic*-bench
tests: do not print benchmark output to stdout
tests/migration/stress: remove unused exit_success
meson: fix migration/stress compilation with glibc>=2.30
meson: convert migration/initrd-stress
Paolo Bonzini (25):
qemu-iotests: move check-block back to Makefiles
mtest2make: split environment from test command
mtest2make: split working directory from test command
mtest2make: hide output of successful tests
mtest2make: unify tests that appear in multiple suites
meson: remove b_lundef option
configure: do not include absolute paths in -I and -L paths
configure: include cross sdl2-config in meson cross file
ninjatool: use constant names for stamp files
meson: fix libqos linking
meson: convert the speed tests
configure: remove dead code for in-tree builds
meson: compute config_all_devices directly
Makefile: remove dead variables and includes
Makefile: inline the relevant parts of rules.mak
configure: move disassembler configuration to meson
meson: keep all compiler flags detection together
configure: move -ldl test to meson
configure: remove unnecessary libm test
configure: do not look for install(1)
meson: get glib compilation flags from GLIB_CFLAGS
meson: get opengl compilation flags from OPENGL_CFLAGS
configure: do not include dependency flags in QEMU_CFLAGS and LIBS
configure: drop dead variables and functions
docs: suggest Meson replacements for various configure functions
Thomas Huth (2):
tests/Makefile: test-image-locking needs CONFIG_POSIX
meson: convert the unit tests
Yonggang Luo (3):
tests: handling signal on win32 properly
configure: update dtc submodule
meson: Convert undefsym.sh to undefsym.py
.gitignore | 2 -
Makefile | 63 +++---
Makefile.objs | 34 ----
accel/tcg/meson.build | 2 +-
chardev/meson.build | 4 +-
configure | 304 ++++------------------------
disas/meson.build | 4 +-
docs/devel/build-system.rst | 18 +-
hw/arm/meson.build | 2 +-
hw/mips/meson.build | 2 +-
hw/riscv/meson.build | 2 +-
meson.build | 127 ++++++++----
monitor/meson.build | 2 +-
rules.mak | 158 ---------------
scripts/grepy.sh | 3 -
scripts/mtest2make.py | 100 +++++-----
scripts/ninjatool.py | 8 +-
scripts/oss-fuzz/build.sh | 2 +-
scripts/test-driver.py | 35 ++++
scripts/undefsym.py | 49 +++++
scripts/undefsym.sh | 20 --
tests/Makefile.include | 414 ++-------------------------------------
tests/benchmark-crypto-cipher.c | 8 +-
tests/benchmark-crypto-hash.c | 2 +-
tests/benchmark-crypto-hmac.c | 8 +-
tests/docker/Makefile.include | 4 +
tests/include/meson.build | 16 ++
tests/meson.build | 255 ++++++++++++++++++++++++
tests/migration/initrd-stress.sh | 10 +
tests/migration/meson.build | 14 ++
tests/migration/stress.c | 15 +-
tests/qemu-iotests/meson.build | 4 -
tests/qtest/fuzz/meson.build | 7 +-
tests/qtest/libqos/meson.build | 9 +-
tests/tcg/Makefile.qemu | 2 -
tests/test-crypto-secret.c | 10 +-
tests/test-qga.c | 2 +-
tests/test-replication.c | 4 +
ui/meson.build | 3 +-
39 files changed, 662 insertions(+), 1066 deletions(-)
delete mode 100644 Makefile.objs
delete mode 100644 rules.mak
delete mode 100755 scripts/grepy.sh
create mode 100644 scripts/test-driver.py
create mode 100644 scripts/undefsym.py
delete mode 100755 scripts/undefsym.sh
create mode 100644 tests/include/meson.build
create mode 100755 tests/migration/initrd-stress.sh
create mode 100644 tests/migration/meson.build
--
2.26.2
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 00/46] Next round of Meson bugfixes and cleanups
2020-09-07 16:44 Paolo Bonzini
@ 2020-09-07 20:49 ` Peter Maydell
0 siblings, 0 replies; 10+ messages in thread
From: Peter Maydell @ 2020-09-07 20:49 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On Mon, 7 Sep 2020 at 17:45, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> The following changes since commit 62f9256052df85194faa33137bbe0afb1c95b6e6:
>
> Merge remote-tracking branch 'remotes/kraxel/tags/vga-20200904-pull-request' into staging (2020-09-07 13:27:20 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to cfdedc114244adf488242f547af899bc2fe9f3c0:
>
> meson: remove linkage of sdl to baum (2020-09-07 18:43:20 +0200)
>
> ----------------------------------------------------------------
> meson related:
> * convert unit tests
> * bugfixes for mtest2make
> * miscellaneous bugfixes
> * dead code removal and configure cleanups
> * oss-fuzz fixes
> * msys fixes
Conflict in tests/Makefile.include, resolution not immediately
obvious -- could you rebase and resend, please?
thanks
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles
2020-09-06 17:53 ` [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles Paolo Bonzini
@ 2020-09-11 10:58 ` Max Reitz
2020-09-11 11:05 ` Max Reitz
2020-09-11 11:17 ` Paolo Bonzini
0 siblings, 2 replies; 10+ messages in thread
From: Max Reitz @ 2020-09-11 10:58 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
[-- Attachment #1.1: Type: text/plain, Size: 1485 bytes --]
On 06.09.20 19:53, Paolo Bonzini wrote:
> check-block has its own test harness, unlike every other test. If
> we capture its output, as is in general nicer to do without V=1,
> there will be no sign of progress. So for lack of a better option
> just move the invocation of the test back to Makefile rules.
>
> As a side effect, this will also fix "make check" in --disable-tools
> builds, as they were trying to run qemu-iotests without having
> made qemu-img before.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> meson.build | 1 -
> tests/Makefile.include | 15 ++++++++++++---
> tests/qemu-iotests/meson.build | 4 ----
> 3 files changed, 12 insertions(+), 8 deletions(-)
I’m not entirely sure why (or I would’ve sent a patch myself), but this
breaks all iotests using the socket_scm_helper program unless one runs
make check-block before (or make tests/qemu-iotests/socket_scm_helper
specifically).
It seems like the socket_scm_helper is now only built as a dependency of
check-block, instead of all the time. That’s a bit of a shame.
(The obvious workaround of course is to specifically build the
socket_scm_helper, but that doesn’t seem right.)
As a reproducer:
[delete build directory, or most importantly the socket_scm_helper]
[configure]
[make]
$ cd tests/qemu-iotests
$ ./check -nbd 147
[...]
+qemu.machine.QEMUMachineError: socket_scm_helper does not exist
[...]
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles
2020-09-11 10:58 ` Max Reitz
@ 2020-09-11 11:05 ` Max Reitz
2020-09-11 11:19 ` Paolo Bonzini
2020-09-11 11:17 ` Paolo Bonzini
1 sibling, 1 reply; 10+ messages in thread
From: Max Reitz @ 2020-09-11 11:05 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
[-- Attachment #1.1: Type: text/plain, Size: 1140 bytes --]
On 11.09.20 12:58, Max Reitz wrote:
> On 06.09.20 19:53, Paolo Bonzini wrote:
>> check-block has its own test harness, unlike every other test. If
>> we capture its output, as is in general nicer to do without V=1,
>> there will be no sign of progress. So for lack of a better option
>> just move the invocation of the test back to Makefile rules.
>>
>> As a side effect, this will also fix "make check" in --disable-tools
>> builds, as they were trying to run qemu-iotests without having
>> made qemu-img before.
>>
>> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>> ---
>> meson.build | 1 -
>> tests/Makefile.include | 15 ++++++++++++---
>> tests/qemu-iotests/meson.build | 4 ----
>> 3 files changed, 12 insertions(+), 8 deletions(-)
>
> I’m not entirely sure why (or I would’ve sent a patch myself)
On closer inspection it seems like it’s because of the
“build_by_default: false”, which seems like a rather conscious decision.
Was I only lucky that the socket_scm_helper was built by default so
far? Should I have explicitly built it all this time?
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles
2020-09-11 10:58 ` Max Reitz
2020-09-11 11:05 ` Max Reitz
@ 2020-09-11 11:17 ` Paolo Bonzini
1 sibling, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2020-09-11 11:17 UTC (permalink / raw)
To: Max Reitz, qemu-devel
[-- Attachment #1.1: Type: text/plain, Size: 1279 bytes --]
On 11/09/20 12:58, Max Reitz wrote:
> It seems like the socket_scm_helper is now only built as a dependency of
> check-block, instead of all the time. That’s a bit of a shame.
> (The obvious workaround of course is to specifically build the
> socket_scm_helper, but that doesn’t seem right.)
Or just remove the build_by_default: false here:
socket_scm_helper = executable('socket_scm_helper', 'socket_scm_helper.c',
build_by_default: false)
I guess now is a good time to decide which executables to build by
default (static_libraries should never be built by default) and
document it in docs/devel/build-system.rst.
Right now, the only executables that aren't built by default are:
- rdmacm-mux and vhost-user-blk because they're broken
- gen-features because it's built anyway for s390 targets
- vhost-user-bridge, and that probably should be changed
- socket_scm_helper, which could/should be changed too
- fptest, not sure why that works at all O:-) Tests are built by
default (and they trigger coverity quite a bit). We will be
able to fix that, and at the same time respect the "tests(depends: ...)"
argument instead of just having "check: all", when meson 0.56.0
comes out.
Paolo
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles
2020-09-11 11:05 ` Max Reitz
@ 2020-09-11 11:19 ` Paolo Bonzini
0 siblings, 0 replies; 10+ messages in thread
From: Paolo Bonzini @ 2020-09-11 11:19 UTC (permalink / raw)
To: Max Reitz, qemu-devel
[-- Attachment #1.1: Type: text/plain, Size: 560 bytes --]
On 11/09/20 13:05, Max Reitz wrote:
> On closer inspection it seems like it’s because of the
> “build_by_default: false”, which seems like a rather conscious decision.
> Was I only lucky that the socket_scm_helper was built by default so
> far? Should I have explicitly built it all this time?
Yes, you were lucky but that's not a reason not to change it.
The problem with touching a whole build system is that you are not going
to test everybody's usecase, and yours is definitely reasonable and not
"M-x butterfly" territory.
Paolo
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-09-11 11:20 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-06 17:53 [PULL v2 00/46] Next round of Meson bugfixes and cleanups Paolo Bonzini
2020-09-06 17:53 ` [PULL v2 01/46] qemu-iotests: move check-block back to Makefiles Paolo Bonzini
2020-09-11 10:58 ` Max Reitz
2020-09-11 11:05 ` Max Reitz
2020-09-11 11:19 ` Paolo Bonzini
2020-09-11 11:17 ` Paolo Bonzini
2020-09-06 18:34 ` [PULL v2 00/46] Next round of Meson bugfixes and cleanups Peter Maydell
2020-09-07 2:56 ` 罗勇刚(Yonggang Luo)
-- strict thread matches above, loose matches on Subject: below --
2020-09-07 16:44 Paolo Bonzini
2020-09-07 20:49 ` Peter Maydell
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).