gdb/testsuite: New skip_tui_tests predicate.
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 27 Mar 2015 22:52:31 +0000 (22:52 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Wed, 20 May 2015 19:57:20 +0000 (21:57 +0200)
Add a new predicate procedure to the gdb.exp library 'skip_tui_tests',
which returns true if the tui is not compiled into gdb.

Make use of this predicate in the gdb.base/tui-layout.exp test as an
example.

gdb/testsuite/ChangeLog:

* lib/gdb.exp (skip_tui_tests): New proc.
* gdb.base/tui-layout.exp: Check skip_tui_tests.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/tui-layout.exp
gdb/testsuite/lib/gdb.exp

index a74ac524d2c17a443541ad62013b69064aa514c5..3a947eb4fe0c3db0ecaac9de1960d67e3129a10d 100644 (file)
@@ -1,3 +1,8 @@
+2015-05-20  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * lib/gdb.exp (skip_tui_tests): New proc.
+       * gdb.base/tui-layout.exp: Check skip_tui_tests.
+
 2015-05-19  Pedro Alves  <palves@redhat.com>
 
        * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
index 0dcf1cac564ae0f37cbe049e647cd6814b41e198..cac2bc95567617afc9e4da4e97cbc43104c0d767 100644 (file)
@@ -19,4 +19,11 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile] } {
     return -1
 }
 
+if {[skip_tui_tests]} {
+    # TUI support is disabled.  Check for error message.
+    gdb_test "layout asm" "Undefined command: \"layout\".  Try \"help\"."
+    return
+}
+
+# Just check the command does not cause gdb to crash.
 gdb_test "layout asm"
index 73e55e3ea1fd9774198ed14717c9f5c775bbfc68..089a10c3c2683a51fa66d7d6b0083b414aa7a4d5 100644 (file)
@@ -1727,6 +1727,22 @@ proc skip_shlib_tests {} {
     return 1
 }
 
+# Return 1 if we should skip tui related tests.
+
+proc skip_tui_tests {} {
+    global gdb_prompt
+
+    gdb_test_multiple "help layout" "verify tui support" {
+       -re "Undefined command: \"layout\".*$gdb_prompt $" {
+           return 1
+       }
+       -re "$gdb_prompt $" {
+       }
+    }
+
+    return 0
+}
+
 # Test files shall make sure all the test result lines in gdb.sum are
 # unique in a test run, so that comparing the gdb.sum files of two
 # test runs gives correct results.  Test files that exercise