[testsuite] skip tab-completion tests if no readline
Commit Message
I found a bunch of borked tab-completion tests when running tests on a
remote Windows host, where the input stream is not a tty and has no
readline support. I've copied the test for readline support verbatim
from the older gdb.base/completion.exp testcase into these newer
testcases. OK to commit?
-Sandra
Comments
>>>>> "Sandra" == Sandra Loosemore <sandra@codesourcery.com> writes:
Sandra> I found a bunch of borked tab-completion tests when running tests on a
Sandra> remote Windows host, where the input stream is not a tty and has no
Sandra> readline support. I've copied the test for readline support verbatim
Sandra> from the older gdb.base/completion.exp testcase into these newer
Sandra> testcases. OK to commit?
Thank you. This is ok.
Tom
>>>>> "Sandra" == Sandra Loosemore <sandra@codesourcery.com> writes:
Sandra> I found a bunch of borked tab-completion tests when running tests on a
Sandra> remote Windows host, where the input stream is not a tty and has no
Sandra> readline support. I've copied the test for readline support verbatim
Sandra> from the older gdb.base/completion.exp testcase into these newer
Sandra> testcases. OK to commit?
Actually, I had a couple thoughts just as I hit send...
Sandra> # This file is part of the gdb testsuite.
Sandra> +# Tests below are about tab-completion, which doesn't work if readline
Sandra> +# library isn't used. Check it first.
Sandra> +
Sandra> +if { ![readline_is_used] } {
Sandra> + return -1
Sandra> +}
Perhaps the early returns should call "untested". I'm on the fence
about this, sometimes it is done, sometimes not. I don't know if it
matters to anybody -- I never really look at these lines.
https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#A.22untested.22_calls
Second, this particular check runs early. I wonder if readline_is_used
actually works at this spot, because I would imagine gdb isn't running yet.
What does "runtest cpls-ops.exp" do?
Tom
commit b4262306c3d11c87c11c873d3bd6065fcb6b0625
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Tue Sep 18 21:10:55 2018 -0700
Skip GDB tab-completion tests if no readline.
2018-09-18 Sandra Loosemore <sandra@codesourcery.com>
gdb/testsuite/
* gdb.base/complete-empty.exp: Skip tab-completion tests if
no readline.
* gdb.base/utf8-identifiers.exp: Likewise.
* gdb.cp/cpcompletion.exp: Likewise.
* gdb.linespec/cpcompletion.exp: Likewise.
* gdb.linespec/cpls-abi-tag.exp: Likewise.
* gdb.linespec/cpls-ops.exp: Likewise.
@@ -1,3 +1,13 @@
+2018-09-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gdb.base/complete-empty.exp: Skip tab-completion tests if
+ no readline.
+ * gdb.base/utf8-identifiers.exp: Likewise.
+ * gdb.cp/cpcompletion.exp: Likewise.
+ * gdb.linespec/cpcompletion.exp: Likewise.
+ * gdb.linespec/cpls-abi-tag.exp: Likewise.
+ * gdb.linespec/cpls-ops.exp: Likewise.
+
2018-09-18 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.arch/amd64-invalid-stack-top.exp: Expect optional
@@ -15,6 +15,13 @@
# This file is part of the gdb testsuite.
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
load_lib completion-support.exp
gdb_exit
@@ -56,6 +56,13 @@ gdb_test "continue" \
# names getting in the way of completion.
gdb_test_no_output "nosharedlibrary"
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
# Test linespec completion.
# A unique completion.
@@ -15,6 +15,13 @@
# This file is part of the gdb testsuite.
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
load_lib completion-support.exp
# A helper procedure to test location completions restricted by
@@ -15,6 +15,13 @@
# This file is part of the gdb testsuite.
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
load_lib completion-support.exp
standard_testfile cpls.cc cpls2.cc cpls-hyphen.cc
@@ -17,6 +17,13 @@
# Test ABI tag support in linespecs.
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
load_lib completion-support.exp
standard_testfile cpls-abi-tag.cc
@@ -15,6 +15,13 @@
# This file is part of the gdb testsuite.
+# Tests below are about tab-completion, which doesn't work if readline
+# library isn't used. Check it first.
+
+if { ![readline_is_used] } {
+ return -1
+}
+
load_lib completion-support.exp
standard_testfile cpls-ops.cc