aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/maint.c2
-rw-r--r--gdb/testsuite/gdb.gdb/unittest.exp21
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" {