diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2020-11-22 22:04:27 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-11-22 22:04:27 -0500 |
commit | 199225823d86e3cd6844a4886296610261e3abb4 (patch) | |
tree | 565a9766a27b1954a62a138de992eb01cacd559d | |
parent | c751e4652de3223acd205f2250e26d5abae17186 (diff) | |
download | gdb-199225823d86e3cd6844a4886296610261e3abb4.zip gdb-199225823d86e3cd6844a4886296610261e3abb4.tar.gz gdb-199225823d86e3cd6844a4886296610261e3abb4.tar.bz2 |
gdb/testsuite: add template for test cases
The wiki contains a template for new test cases:
https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#Building_the_Example_Program
... which is helpful, because even after many years I can't write all
the boilerplate for writing a test case without doing some mistakes.
However, I think it would be nice to have it in the tree. It's much
faster to cp the files than going to the wiki and copy/pasting the
contents.
As a bonus, the copyright years will get updated in these files, unlike
those in the wiki. So they will always be good when we start a new
test.
If this patch is merged, I plan to change the wiki to just point to
these files.
gdb/testsuite/ChangeLog:
* gdb.base/template.exp: New.
* gdb.base/template.c: New.
Change-Id: I7dbf068a043b48f83cc325087d70e868eee998c6
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/template.c | 24 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/template.exp | 32 |
3 files changed, 61 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 91fc9e0..185d7cd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2020-11-22 Simon Marchi <simon.marchi@polymtl.ca> + + * gdb.base/template.exp: New. + * gdb.base/template.c: New. + 2020-11-22 Gary Benson <gbenson@redhat.com> PR gdb/26905 diff --git a/gdb/testsuite/gdb.base/template.c b/gdb/testsuite/gdb.base/template.c new file mode 100644 index 0000000..a09574c --- /dev/null +++ b/gdb/testsuite/gdb.base/template.c @@ -0,0 +1,24 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2020 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 <http://www.gnu.org/licenses/>. */ + +int +main (void) +{ + int i = 0; + + return i; /* next-line */ +} diff --git a/gdb/testsuite/gdb.base/template.exp b/gdb/testsuite/gdb.base/template.exp new file mode 100644 index 0000000..007a147 --- /dev/null +++ b/gdb/testsuite/gdb.base/template.exp @@ -0,0 +1,32 @@ +# Copyright 2020 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 <http://www.gnu.org/licenses/>. + +# This serves as a template for writing new test cases. Replace this with +# a description of what this test case tests. + +standard_testfile + +if { [prepare_for_testing "failed to prepare" \ + ${testfile} ${srcfile}] } { + return +} + +if { ![runto_main] } { + untested "could not run to main" + return +} + +set lineno [gdb_get_line_number "next-line"] +gdb_test "advance $lineno" "next-line.*" "advance to next-line" |