public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [committed][gdb/testsuite] Add missing skip_tui_tests
@ 2021-07-14  4:53 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2021-07-14  4:53 UTC (permalink / raw)
  To: gdb-patches

Hi,

When building gdb with --disable-tui, we run into:
...
(gdb) frame apply all -- -^M
Undefined command: "-".  Try "help".^M
(gdb) ERROR: Undefined command "frame apply all -- -".
UNRESOLVED: gdb.base/options.exp: test-frame-apply: frame apply all -- -
...

Fix this by detecting whether tui is supported, and skipping the tui-related
tests otherwise.  Same in some gdb.tui test-cases.

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Add missing skip_tui_tests

gdb/testsuite/ChangeLog:

2021-07-13  Tom de Vries  <tdevries@suse.de>

	* gdb.base/options.exp: Skip tui-related tests when tui is not
	supported.
	* gdb.python/tui-window-disabled.exp: Same.
	* gdb.python/tui-window.exp: Same.

---
 gdb/testsuite/gdb.base/options.exp               | 33 +++++++++++++++---------
 gdb/testsuite/gdb.python/tui-window-disabled.exp |  5 ++++
 gdb/testsuite/gdb.python/tui-window.exp          |  5 ++++
 3 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/gdb/testsuite/gdb.base/options.exp b/gdb/testsuite/gdb.base/options.exp
index 78ec54502c0..6b48a0f4a4b 100644
--- a/gdb/testsuite/gdb.base/options.exp
+++ b/gdb/testsuite/gdb.base/options.exp
@@ -46,6 +46,8 @@ if { ![readline_is_used] } {
     return -1
 }
 
+set tui_supported_p [expr ![skip_tui_tests]]
+
 # Check the completion result, as returned by the "maintenance show
 # test-options-completion-result" command.  TEST is used as test name.
 proc check_completion_result {expected test} {
@@ -320,6 +322,8 @@ proc_with_prefix test-backtrace {} {
 
 # Basic option-machinery + "frame apply" command integration tests.
 proc_with_prefix test-frame-apply {} {
+    global tui_supported_p
+
     test_gdb_complete_unique "frame apply all" "frame apply all"
 
     gdb_test "frame apply level 0-" \
@@ -376,12 +380,14 @@ proc_with_prefix test-frame-apply {} {
 	    test_gdb_completion_offers_commands "$cmd -- "
 	}
 
-	# '-' is a valid TUI command.
-	test_error_cmd2 $cmd " -- -" \
-	    "Cannot enable the TUI when output is not a terminal"
-	test_gdb_complete_unique \
-	    "$cmd -- -" \
-	    "$cmd -- -"
+	if { $tui_supported_p } {
+	    # '-' is a valid TUI command.
+	    test_error_cmd2 $cmd " -- -" \
+		"Cannot enable the TUI when output is not a terminal"
+	    test_gdb_complete_unique \
+		"$cmd -- -" \
+		"$cmd -- -"
+	}
 
 	test_error_cmd2 $cmd " -foo" \
 	    "Undefined command: \"-foo\".  Try \"help\"\\."
@@ -393,6 +399,7 @@ proc_with_prefix test-frame-apply {} {
 
 # Basic option-machinery + "thread apply" command integration tests.
 proc_with_prefix test-thread-apply {} {
+    global tui_supported_p
 
     test_gdb_complete_unique "thread apply all" "thread apply all"
     test_gdb_complete_unique "taas" "taas"
@@ -457,12 +464,14 @@ proc_with_prefix test-thread-apply {} {
 	    test_gdb_completion_offers_commands "$cmd -- "
 	}
 
-	# '-' is a valid TUI command.
-	test_invalid_cmd "$cmd" " -- -" \
-	    "Cannot enable the TUI when output is not a terminal"
-	test_gdb_complete_unique \
-	    "$cmd -- -" \
-	    "$cmd -- -"
+	if { $tui_supported_p } {
+	    # '-' is a valid TUI command.
+	    test_invalid_cmd "$cmd" " -- -" \
+		"Cannot enable the TUI when output is not a terminal"
+	    test_gdb_complete_unique \
+		"$cmd -- -" \
+		"$cmd -- -"
+	}
 
 	test_invalid_cmd $cmd " -foo" \
 	    "Undefined command: \"-foo\".  Try \"help\"\\."
diff --git a/gdb/testsuite/gdb.python/tui-window-disabled.exp b/gdb/testsuite/gdb.python/tui-window-disabled.exp
index af1fa0cde63..f43530bb64a 100644
--- a/gdb/testsuite/gdb.python/tui-window-disabled.exp
+++ b/gdb/testsuite/gdb.python/tui-window-disabled.exp
@@ -30,6 +30,11 @@ if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
     return -1
 }
 
+clean_restart
+if {[skip_tui_tests]} {
+    return
+}
+
 # Copy the Python script to where the tests are being run.
 set remote_python_file [gdb_remote_download host \
 			    ${srcdir}/${subdir}/${testfile}.py]
diff --git a/gdb/testsuite/gdb.python/tui-window.exp b/gdb/testsuite/gdb.python/tui-window.exp
index 8d86afb1449..4710dd67f43 100644
--- a/gdb/testsuite/gdb.python/tui-window.exp
+++ b/gdb/testsuite/gdb.python/tui-window.exp
@@ -25,6 +25,11 @@ if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
     return -1
 }
 
+clean_restart
+if {[skip_tui_tests]} {
+    return
+}
+
 Term::clean_restart 24 80 $testfile
 
 # Skip all tests if Python scripting is not enabled.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-14  4:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-14  4:53 [committed][gdb/testsuite] Add missing skip_tui_tests Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).