diff options
-rw-r--r-- | gdb/maint.c | 2 | ||||
-rw-r--r-- | gdb/testsuite/gdb.gdb/unittest.exp | 21 |
2 files changed, 19 insertions, 4 deletions
diff --git a/gdb/maint.c b/gdb/maint.c index 85fa18c..bcc71aa 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -1180,11 +1180,13 @@ maintenance_selftest_completer (cmd_list_element *cmd, (tracker, &text, gdb::option::PROCESS_OPTIONS_UNKNOWN_IS_ERROR, grp)) return; +#if GDB_SELF_TEST selftests::for_each_selftest ([&tracker, text] (const std::string &name) { if (startswith (name.c_str (), text)) tracker.add_completion (make_unique_xstrdup (name.c_str ())); }); +#endif } static void 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" { |