mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 05:35:39 +00:00
tests/functional: Provide GDB to the functional tests
The probe of GDB is done in 'configure' and the full path is passed to meson.build via the -Dgdb=option. Meson then can pass the location of GDB to the functional tests via an environment variable: QEMU_TEST_GDB. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org> Message-ID: <20251003141820.85278-4-gustavo.romero@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
This commit is contained in:
committed by
Alex Bennée
parent
c8f24e1b95
commit
b46b3818cf
2
configure
vendored
2
configure
vendored
@@ -2003,6 +2003,8 @@ if test "$skip_meson" = no; then
|
||||
test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE"
|
||||
test "$plugins" = yes && meson_option_add "-Dplugins=true"
|
||||
test "$tcg" != enabled && meson_option_add "-Dtcg=$tcg"
|
||||
test -n "$gdb_bin" && meson_option_add "-Dgdb=$gdb_bin"
|
||||
|
||||
run_meson() {
|
||||
NINJA=$ninja $meson setup "$@" "$PWD" "$source_path"
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ option('trace_file', type: 'string', value: 'trace',
|
||||
option('coroutine_backend', type: 'combo',
|
||||
choices: ['ucontext', 'sigaltstack', 'windows', 'wasm', 'auto'],
|
||||
value: 'auto', description: 'coroutine backend to use')
|
||||
option('gdb', type: 'string', value: '',
|
||||
description: 'Path to GDB')
|
||||
|
||||
# Everything else can be set via --enable/--disable-* option
|
||||
# on the configure script command line. After adding an option
|
||||
|
||||
@@ -58,6 +58,7 @@ meson_options_help() {
|
||||
printf "%s\n" ' --enable-ubsan enable undefined behaviour sanitizer'
|
||||
printf "%s\n" ' --firmwarepath=VALUES search PATH for firmware files [share/qemu-'
|
||||
printf "%s\n" ' firmware]'
|
||||
printf "%s\n" ' --gdb=VALUE Path to GDB'
|
||||
printf "%s\n" ' --iasl=VALUE Path to ACPI disassembler'
|
||||
printf "%s\n" ' --includedir=VALUE Header file directory [include]'
|
||||
printf "%s\n" ' --interp-prefix=VALUE where to find shared libraries etc., use %M for'
|
||||
@@ -323,6 +324,7 @@ _meson_option_parse() {
|
||||
--disable-fuzzing) printf "%s" -Dfuzzing=false ;;
|
||||
--enable-gcrypt) printf "%s" -Dgcrypt=enabled ;;
|
||||
--disable-gcrypt) printf "%s" -Dgcrypt=disabled ;;
|
||||
--gdb=*) quote_sh "-Dgdb=$2" ;;
|
||||
--enable-gettext) printf "%s" -Dgettext=enabled ;;
|
||||
--disable-gettext) printf "%s" -Dgettext=disabled ;;
|
||||
--enable-gio) printf "%s" -Dgio=enabled ;;
|
||||
|
||||
@@ -77,6 +77,12 @@ foreach speed : ['quick', 'thorough']
|
||||
test_env.set('PYTHONPATH', meson.project_source_root() / 'python:' +
|
||||
meson.current_source_dir())
|
||||
|
||||
# Define the GDB environment variable if gdb is available.
|
||||
gdb = get_option('gdb')
|
||||
if gdb != ''
|
||||
test_env.set('QEMU_TEST_GDB', gdb)
|
||||
endif
|
||||
|
||||
foreach test : target_tests
|
||||
testname = '@0@-@1@'.format(target_base, test)
|
||||
if fs.exists('generic' / 'test_' + test + '.py')
|
||||
|
||||
Reference in New Issue
Block a user