diff options
author | Tom de Vries <tdevries@suse.de> | 2021-10-29 14:11:08 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-10-29 14:11:08 +0200 |
commit | b88e456f7e3e6d8c354da57d3e77a98575070ee8 (patch) | |
tree | ae039d8d59040b4948105511f21e612d143c3ee4 /gdb/testsuite/gdb.gdb | |
parent | 91b7c7e522802371f07cf614e5e5b24c1911a6d8 (diff) | |
download | gdb-b88e456f7e3e6d8c354da57d3e77a98575070ee8.zip gdb-b88e456f7e3e6d8c354da57d3e77a98575070ee8.tar.gz gdb-b88e456f7e3e6d8c354da57d3e77a98575070ee8.tar.bz2 |
[gdb/build] Fix build with --disable-unit-tests
A build with --disable-unit-tests currently run into:
...
ld: maint.o: in function \
`maintenance_selftest_completer(cmd_list_element*, completion_tracker&,
char const*, char const*)':
src/gdb/maint.c:1183: undefined reference to \
`selftests::for_each_selftest(
gdb::function_view<
void (std::__cxx11::basic_string<char,std::char_traits<char>,
std::allocator<char> > const&)>)'
...
Fix this by guarding the call to selftests::for_each_selftest in
maintenance_selftest_completer with GDB_SELF_TEST, such that the "-verbose"
completion still works.
Rebuild on x86_64-linux and ran gdb.gdb/unittest.exp.
Diffstat (limited to 'gdb/testsuite/gdb.gdb')
-rw-r--r-- | gdb/testsuite/gdb.gdb/unittest.exp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/gdb/testsuite/gdb.gdb/unittest.exp b/gdb/testsuite/gdb.gdb/unittest.exp index 0ddd206..bcb4bbd 100644 --- a/gdb/testsuite/gdb.gdb/unittest.exp +++ b/gdb/testsuite/gdb.gdb/unittest.exp @@ -40,6 +40,7 @@ proc run_selftests { binfile } { clean_restart ${binfile} } + set enabled 1 set test "maintenance selftest" gdb_test_multiple $test $test { -re ".*Running selftest \[^\n\r\]+\." { @@ -57,23 +58,35 @@ proc run_selftests { binfile } { } -re "Selftests have been disabled for this build.\r\n$gdb_prompt $" { unsupported $test + set enabled 0 } } + + return $enabled } # Test completion of command "maintenance selftest". proc_with_prefix test_completion {} { + global self_tests_enabled + clean_restart - test_gdb_complete_tab_multiple "maintenance selftest string_v" "" \ - {string_vappendf string_view string_vprintf} - test_gdb_complete_tab_unique "maintenance selftest string_vie" "maintenance selftest string_view" " " + + if { $self_tests_enabled } { + test_gdb_complete_tab_multiple "maintenance selftest string_v" "" \ + {string_vappendf string_view string_vprintf} + test_gdb_complete_tab_unique "maintenance selftest string_vie" \ + "maintenance selftest string_view" " " + } else { + test_gdb_complete_tab_none "maintenance selftest string_v" + test_gdb_complete_tab_none "maintenance selftest string_vie" + } test_gdb_complete_tab_unique "maintenance selftest -ver" "maintenance selftest -verbose" " " test_gdb_complete_tab_none "maintenance selftest name_that_does_not_exist" } with_test_prefix "no executable loaded" { - run_selftests "" + set self_tests_enabled [run_selftests ""] } with_test_prefix "executable loaded" { |