This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFC] Fixing gdb.base/completion.exp (PR testsuite/12649)
- From: Marek Polacek <mpolacek at redhat dot com>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Thu, 28 Apr 2011 13:55:48 +0200
- Subject: Re: [RFC] Fixing gdb.base/completion.exp (PR testsuite/12649)
- References: <4DB82F26.30801@redhat.com>
Ok, here's a stab at the first part of this test. What I tried to do
is to convert "send_gdb + sleep + gdb_expect" to gdb_test{,_multiple,no_output}.
Also some quick notes indicated by `XXX'. Do you agree with it so far?
I've tried to preserve all the already existing tests. Thanks.
[ ... ]
set oldtimeout1 $timeout
set timeout 30
gdb_test_no_output "complete hfgfh" "complete 'hfgfh'"
#exp_internal 0
gdb_test "complete show output" "show output-radix" "complete 'show output'"
gdb_test "complete show output-" "show output-radix" "complete 'show output-'"
gdb_test "complete p" "passcount\r\npath\r\nprint\r\nprint-object\r\nprintf\r\nptype\r\npwd\r\npython" \
"complete 'p'"
# It is not possible to use `complete' here since this would list all
# the symbols.
gdb_test "p \t" "The history is empty." "complete 'p '"
gdb_test_no_output "complete info t foo" "complete 'info t foo'"
# XXX Should we list everything, i.e. "info target\r\ninfo tasks\r\ninfo terminal\r\n..."?
gdb_test "complete info t" "\(info \[a-z\]+\r\n\)*" "complete 'info t'"
gdb_test_no_output "complete info t " "complete 'info t '"
gdb_test_no_output "complete info asdfgh" "complete 'info asdfgh'"
gdb_test_no_output "complete info asdfgh\\x20" "complete 'info asdfgh '"
gdb_test "complete info" "info" "complete 'info'"
gdb_test "complete info " "\(info \[a-z\]+\r\n\)*" "complete 'info '"
gdb_test "info" "\"info\".*unambiguous\\." "complete (2) 'info '"
gdb_test "complete help info wat" "help info watchpoints" "complete 'help info wat'"
# XXX
# Does the `complete' behave correct?
# (gdb) p "break1<TAB> -> (gdb) p "break1.c"
# (gdb) complete p "break1 -> p "break1.c
# No `"' here? ------------------------> ^
# We proceed as it is.
gdb_test "complete p \"break1" "p \"break1.c" "complete 'p \"break1'"
# XXX Here was:
# setup_xfail "*-*-*"
gdb_test "complete p \"break1." "p \"break1\\.c" "complete 'p \"break1.'"
gdb_test "p 'arg\t" "Unmatched single quote\\." "complete 'p \'arg'"
gdb_test "p 'arg\t\t" ".*argv.*" "complete (2) 'p \'arg'"
# These tests used to try completing the shorter "p b-a".
# Unfortunately, on some systems, there are .o files in system
# libraries which declare static variables named `b'. Of course,
[ ... ]