From: Pedro Alves Date: Wed, 8 Mar 2017 00:14:58 +0000 (+0000) Subject: Move TUI testcases to new gdb/testsuite/gdb.tui/ directory X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7cbbff33a502dcba0264a1935840345274b8aee2;p=binutils-gdb.git Move TUI testcases to new gdb/testsuite/gdb.tui/ directory Let's start putting TUI tests in their own dir. gdb/testsuite/ 2017-03-08 Pedro Alves * gdb.base/tui-disasm-long-lines.c, gdb.base/tui-disasm-long-lines.exp, gdb.base/tui-layout.c, gdb.base/tui-layout.exp: Move to ... * gdb.tui/: ... this new directory. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c99f644c9b9..d38590797d6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2017-03-08 Pedro Alves + + * gdb.base/tui-disasm-long-lines.c, + gdb.base/tui-disasm-long-lines.exp, gdb.base/tui-layout.c, + gdb.base/tui-layout.exp: Move to ... + * gdb.tui/: ... this new directory. + 2017-03-07 Pedro Alves * gdb.base/tui-layout.c: New file. diff --git a/gdb/testsuite/gdb.base/tui-disasm-long-lines.c b/gdb/testsuite/gdb.base/tui-disasm-long-lines.c deleted file mode 100644 index e6a5aa08112..00000000000 --- a/gdb/testsuite/gdb.base/tui-disasm-long-lines.c +++ /dev/null @@ -1,47 +0,0 @@ -/* This testcase is part of GDB, the GNU debugger. - - Copyright 2016-2017 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#define LONGER_NAME(x) x ## x -#define LONGER(x) LONGER_NAME(x) -#define LONGNAME1 d_this_identifier_of_32_chars_an -#define LONGNAME2 LONGER (LONGER (LONGER (LONGER (LONGER (LONGNAME1))))) - -/* Construct a long identifier name. If SHORT_IDENTIFIERS is set, limit - it to 1024 chars. */ - -#ifdef SHORT_IDENTIFIERS -#define LONGNAME3 LONGNAME2 -#else -#define LONGNAME3 LONGER (LONGER (LONGER (LONGER (LONGER (LONGNAME2))))) -#endif - -void LONGNAME3 (void); - -int -main () -{ - LONGNAME3 (); - return 0; -} - -/* Function with a long name. Placing it after main makes it more likely - to be shown in the disassembly window on startup. */ - -void -LONGNAME3 (void) -{ -} diff --git a/gdb/testsuite/gdb.base/tui-disasm-long-lines.exp b/gdb/testsuite/gdb.base/tui-disasm-long-lines.exp deleted file mode 100644 index 8740ec1c103..00000000000 --- a/gdb/testsuite/gdb.base/tui-disasm-long-lines.exp +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 2010-2017 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Test that the logic for displaying the TUI disassembly window -# handles very long lines. - -standard_testfile - -set ccopts {debug quiet} -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile" \ - executable $ccopts] != "" } { - # Maybe the compiler can't handle arbitrarily long identifier names. - # Try with a shorter version. - lappend ccopts "additional_flags=-DSHORT_IDENTIFIERS" - if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile" \ - executable $ccopts] != "" } { - untested "compile" - return -1 - } -} - -clean_restart "$binfile" - -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" diff --git a/gdb/testsuite/gdb.base/tui-layout.c b/gdb/testsuite/gdb.base/tui-layout.c deleted file mode 100644 index 956545fdbe2..00000000000 --- a/gdb/testsuite/gdb.base/tui-layout.c +++ /dev/null @@ -1,22 +0,0 @@ -/* This testcase is part of GDB, the GNU debugger. - - Copyright 2017 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -int -main () -{ - return 0; -} diff --git a/gdb/testsuite/gdb.base/tui-layout.exp b/gdb/testsuite/gdb.base/tui-layout.exp deleted file mode 100644 index 41f9ceb998d..00000000000 --- a/gdb/testsuite/gdb.base/tui-layout.exp +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright 2017 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Minimal testcase that just checks that the various "layout $foo" -# commands do not cause gdb to crash. - -standard_testfile - -if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} { - return -1 -} - -if {[skip_tui_tests]} { - return -} - -# Test one layout command. EXECUTION indicates whether to activate -# the layout with or without execution. - -proc test_layout {layout execution} { - global binfile gdb_prompt - - clean_restart $binfile - - if {$execution} { - if ![runto_main] then { - fail "can't run to main" - return 0 - } - } - - set test "layout command" - gdb_test_multiple "layout $layout" $test { - -re "$gdb_prompt $" { - pass $test - } - } -} - -foreach_with_prefix execution {0 1} { - foreach_with_prefix layout {"asm" "reg" "src" "split"} { - test_layout $layout $execution - } -} diff --git a/gdb/testsuite/gdb.tui/tui-disasm-long-lines.c b/gdb/testsuite/gdb.tui/tui-disasm-long-lines.c new file mode 100644 index 00000000000..e6a5aa08112 --- /dev/null +++ b/gdb/testsuite/gdb.tui/tui-disasm-long-lines.c @@ -0,0 +1,47 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2016-2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#define LONGER_NAME(x) x ## x +#define LONGER(x) LONGER_NAME(x) +#define LONGNAME1 d_this_identifier_of_32_chars_an +#define LONGNAME2 LONGER (LONGER (LONGER (LONGER (LONGER (LONGNAME1))))) + +/* Construct a long identifier name. If SHORT_IDENTIFIERS is set, limit + it to 1024 chars. */ + +#ifdef SHORT_IDENTIFIERS +#define LONGNAME3 LONGNAME2 +#else +#define LONGNAME3 LONGER (LONGER (LONGER (LONGER (LONGER (LONGNAME2))))) +#endif + +void LONGNAME3 (void); + +int +main () +{ + LONGNAME3 (); + return 0; +} + +/* Function with a long name. Placing it after main makes it more likely + to be shown in the disassembly window on startup. */ + +void +LONGNAME3 (void) +{ +} diff --git a/gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp b/gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp new file mode 100644 index 00000000000..8740ec1c103 --- /dev/null +++ b/gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp @@ -0,0 +1,43 @@ +# Copyright 2010-2017 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Test that the logic for displaying the TUI disassembly window +# handles very long lines. + +standard_testfile + +set ccopts {debug quiet} +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile" \ + executable $ccopts] != "" } { + # Maybe the compiler can't handle arbitrarily long identifier names. + # Try with a shorter version. + lappend ccopts "additional_flags=-DSHORT_IDENTIFIERS" + if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "$binfile" \ + executable $ccopts] != "" } { + untested "compile" + return -1 + } +} + +clean_restart "$binfile" + +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" diff --git a/gdb/testsuite/gdb.tui/tui-layout.c b/gdb/testsuite/gdb.tui/tui-layout.c new file mode 100644 index 00000000000..956545fdbe2 --- /dev/null +++ b/gdb/testsuite/gdb.tui/tui-layout.c @@ -0,0 +1,22 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +int +main () +{ + return 0; +} diff --git a/gdb/testsuite/gdb.tui/tui-layout.exp b/gdb/testsuite/gdb.tui/tui-layout.exp new file mode 100644 index 00000000000..41f9ceb998d --- /dev/null +++ b/gdb/testsuite/gdb.tui/tui-layout.exp @@ -0,0 +1,56 @@ +# Copyright 2017 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Minimal testcase that just checks that the various "layout $foo" +# commands do not cause gdb to crash. + +standard_testfile + +if {[prepare_for_testing "failed to prepare" ${testfile} ${srcfile}]} { + return -1 +} + +if {[skip_tui_tests]} { + return +} + +# Test one layout command. EXECUTION indicates whether to activate +# the layout with or without execution. + +proc test_layout {layout execution} { + global binfile gdb_prompt + + clean_restart $binfile + + if {$execution} { + if ![runto_main] then { + fail "can't run to main" + return 0 + } + } + + set test "layout command" + gdb_test_multiple "layout $layout" $test { + -re "$gdb_prompt $" { + pass $test + } + } +} + +foreach_with_prefix execution {0 1} { + foreach_with_prefix layout {"asm" "reg" "src" "split"} { + test_layout $layout $execution + } +}