This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [PATCH v5 15/15] test: add mi vla test
- From: "Agovic, Sanimir" <sanimir dot agovic at intel dot com>
- To: 'Joel Brobecker' <brobecker at adacore dot com>
- Cc: "tromey at redhat dot com" <tromey at redhat dot com>, "Boell, Keven" <keven dot boell at intel dot com>, "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Wed, 12 Mar 2014 12:52:09 +0000
- Subject: RE: [PATCH v5 15/15] test: add mi vla test
- Authentication-results: sourceware.org; auth=none
- References: <1391704056-25246-1-git-send-email-sanimir dot agovic at intel dot com> <1391704056-25246-16-git-send-email-sanimir dot agovic at intel dot com> <20140228180716 dot GH16479 at adacore dot com>
Thanks for your review.
I addressed all issues in the series dealing with tests.
https://sourceware.org/ml/gdb-patches/2014-02/msg00874.html
https://sourceware.org/ml/gdb-patches/2014-02/msg00873.html
https://sourceware.org/ml/gdb-patches/2014-02/msg00872.html
https://sourceware.org/ml/gdb-patches/2014-02/msg00871.html
-Sanimir
> -----Original Message-----
> From: Joel Brobecker [mailto:brobecker@adacore.com]
> Sent: Friday, February 28, 2014 07:07 PM
> To: Agovic, Sanimir
> Cc: tromey@redhat.com; Boell, Keven; gdb-patches@sourceware.org
> Subject: Re: [PATCH v5 15/15] test: add mi vla test
>
> On Thu, Feb 06, 2014 at 05:27:36PM +0100, Sanimir Agovic wrote:
> > 2013-10-18 Keven Boell <keven.boell@intel.com>
> > Sanimir Agovic <sanimir.agovic@intel.com>
> >
> > testsuite/gdb.mi/
> >
> > * mi-vla-c99.exp: New file.
> > * vla.c: New file.
>
> Some minor comments as before - pre-approved with those changes.
>
> > Signed-off-by: Sanimir Agovic <sanimir.agovic@intel.com>
> > ---
> > gdb/testsuite/gdb.mi/mi-vla-c99.exp | 82 +++++++++++++++++++++++++++++++++++++
> > gdb/testsuite/gdb.mi/vla.c | 35 ++++++++++++++++
> > 2 files changed, 117 insertions(+)
> > create mode 100644 gdb/testsuite/gdb.mi/mi-vla-c99.exp
> > create mode 100644 gdb/testsuite/gdb.mi/vla.c
> >
> > diff --git a/gdb/testsuite/gdb.mi/mi-vla-c99.exp b/gdb/testsuite/gdb.mi/mi-vla-c99.exp
> > new file mode 100644
> > index 0000000..9d0c6cc
> > --- /dev/null
> > +++ b/gdb/testsuite/gdb.mi/mi-vla-c99.exp
> > @@ -0,0 +1,82 @@
> > +# Copyright 1999-2013 Free Software Foundation, Inc.
>
> Copyright year range.
>
> > +
> > +# Contributed by Intel Corp. <keven.boell@intel.com>
> > +#
> > +# 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/>.
> > +
> > +# Verify that, using the MI, we can evaluate a simple C Variable Length
> > +# Array (VLA).
> > +
> > +load_lib mi-support.exp
> > +set MIFLAGS "-i=mi"
> > +
> > +gdb_exit
> > +if [mi_gdb_start] {
> > + continue
> > +}
> > +
> > +standard_testfile vla.c
> > +
> > +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" \
> > + "${binfile}" executable {debug}] != "" } {
> > + untested mi-vla-basics.exp
> > + return -1
> > +}
> > +
> > +mi_delete_breakpoints
> > +mi_gdb_reinitialize_dir $srcdir/$subdir
> > +mi_gdb_load ${binfile}
> > +
> > +set bp_lineno [gdb_get_line_number "vla-filled"]
> > +
> > +mi_create_breakpoint "-t vla.c:$bp_lineno" 1 "del" "func" \
> > + ".*vla.c" $bp_lineno $hex \
> > + "insert breakpoint at line $bp_lineno after vla is filled"
> > +mi_run_cmd
> > +mi_expect_stop "breakpoint-hit" "func" "\{name=\"n\",value=\"5\"\}" \
> > + ".*vla.c" "$bp_lineno" { "" "disp=\"del\"" } \
> > + "run to breakpoint at line $bp_lineno"
> > +
> > +mi_gdb_test "500-data-evaluate-expression vla" \
> > + "500\\^done,value=\"\\{0, 1, 2, 3, 4\\}\"" "evaluate complete vla"
> > +
> > +mi_gdb_test "501-data-evaluate-expression vla\[0\]" \
> > + "501\\^done,value=\"0\"" "evaluate vla\[0\]"
> > +
> > +mi_gdb_test "502-data-evaluate-expression vla\[2\]" \
> > + "502\\^done,value=\"2\"" "evaluate vla\[2\]"
> > +
> > +mi_gdb_test "503-data-evaluate-expression vla\[4\]" \
> > + "503\\^done,value=\"4\"" "evaluate vla\[4\]"
> > +
> > +mi_create_varobj_checked vla vla "int \\\[5\\\]" \
> > + "create local variable vla"
> > +
> > +mi_gdb_test "504-var-info-type vla" \
> > + "504\\^done,type=\"int \\\[5\\\]\"" \
> > + "info type variable vla"
> > +
> > +mi_gdb_test "505-var-show-format vla" \
> > + "505\\^done,format=\"natural\"" \
> > + "show format variable vla"
> > +
> > +mi_gdb_test "506-var-evaluate-expression vla" \
> > + "506\\^done,value=\"\\\[5\\\]\"" \
> > + "eval variable vla"
> > +
> > +mi_list_array_varobj_children "vla" "5" "int" \
> > + "get children of vla"
> > +
> > +mi_gdb_exit
> > +return 0
> > diff --git a/gdb/testsuite/gdb.mi/vla.c b/gdb/testsuite/gdb.mi/vla.c
> > new file mode 100644
> > index 0000000..9b33fc8
> > --- /dev/null
> > +++ b/gdb/testsuite/gdb.mi/vla.c
> > @@ -0,0 +1,35 @@
> > +/* This testcase is part of GDB, the GNU debugger.
> > +
> > + Contributed by Intel Corp. <keven.boell@intel.com>
> > +
> > + Copyright 2013 Free Software Foundation, Inc.
>
> Copyright year range...
>
> > +
> > + 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 func (int n)
>
> Formatting:
>
> int
> func (int n)
>
> > +{
> > + int vla[n], i;
> > +
> > + for (i = 0; i < n; i++)
> > + vla[i] = i;
> > +
> > + return n; /* vla-filled */
> > +}
> > +
> > +int main ()
>
> Rewrite:
>
> int
> main (void)
>
> > +{
> > + func (5);
> > +
> > + return 0;
> > +}
> > --
> > 1.8.4.2
>
> --
> Joel
Intel GmbH
Dornacher Strasse 1
85622 Feldkirchen/Muenchen, Deutschland
Sitz der Gesellschaft: Feldkirchen bei Muenchen
Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk
Registergericht: Muenchen HRB 47456
Ust.-IdNr./VAT Registration No.: DE129385895
Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052