diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-07-28 20:55:04 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2018-08-09 17:17:34 +0100 |
commit | e5bbcd0f04911d671d0c43d57df9886c06018705 (patch) | |
tree | 778a7eba4996c16b0f67dd4073c43f4d0dd4ea11 | |
parent | 57285adece935b4c827d02eae10c6ae6d60c92fc (diff) | |
download | binutils-e5bbcd0f04911d671d0c43d57df9886c06018705.zip binutils-e5bbcd0f04911d671d0c43d57df9886c06018705.tar.gz binutils-e5bbcd0f04911d671d0c43d57df9886c06018705.tar.bz2 |
gdb: Merge similar tests into a single test script
The three test scripts:
gdb/testsuite/gdb.base/vla-optimized-out.exp
gdb/testsuite/gdb.base/vla-optimized-out-o3.exp
gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp
are all pretty similar, with differences in the compile flags used,
and some of the expected results.
Instead of maintaining 3 files, merge them into a single test script,
and use parameters to control the test behaviour.
gdb/testsuite/ChangeLog:
* gdb.base/vla-optimized-out-o3.exp: Delete.
* gdb.base/vla-optimized-out-o3-strict.exp: Delete.
* gdb.base/vla-optimized-out.exp: Extend to cover all of the
deleted tests.
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp | 40 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/vla-optimized-out-o3.exp | 36 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/vla-optimized-out.exp | 35 |
4 files changed, 34 insertions, 84 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d3e6a4a..975705d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2018-08-09 Andrew Burgess <andrew.burgess@embecosm.com> + + * gdb.base/vla-optimized-out-o3.exp: Delete. + * gdb.base/vla-optimized-out-o3-strict.exp: Delete. + * gdb.base/vla-optimized-out.exp: Extend to cover all of the + deleted tests. + 2018-08-08 Andrew Burgess <andrew.burgess@embecosm.com> PR gdb/18050: diff --git a/gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp b/gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp deleted file mode 100644 index 81ada87..0000000 --- a/gdb/testsuite/gdb.base/vla-optimized-out-o3-strict.exp +++ /dev/null @@ -1,40 +0,0 @@ -# Copyright 2018 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/>. - -# Check whether we can determine the size of an optimized-out vla. - -standard_testfile - -if { [prepare_for_testing "failed to prepare" $testfile vla-optimized-out.c \ - {debug optimize=-O3 additional_flags=-gstrict-dwarf}] } { - return -1 -} - -proc vla_optimized_out { } { - if ![runto f1] { - fail "can't run to f1" - return - } - - gdb_test "p a" \ - { = <optimized out>} \ - "printed optimized out vla" - - gdb_test "p sizeof (a)" \ - { = <optimized out>} \ - "printed optimized out size of optimized out vla" -} - -vla_optimized_out diff --git a/gdb/testsuite/gdb.base/vla-optimized-out-o3.exp b/gdb/testsuite/gdb.base/vla-optimized-out-o3.exp deleted file mode 100644 index 60707e7..0000000 --- a/gdb/testsuite/gdb.base/vla-optimized-out-o3.exp +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 2018 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/>. - -# Check whether we can print an optimized-out vla. - -standard_testfile - -if { [prepare_for_testing "failed to prepare" $testfile "vla-optimized-out.c" \ - {debug optimize=-O3}] } { - return -1 -} - -proc vla_optimized_out { } { - if ![runto f1] { - fail "can't run to f1" - return - } - - gdb_test "p a" \ - { = <optimized out>} \ - "printed optimized out vla" -} - -vla_optimized_out diff --git a/gdb/testsuite/gdb.base/vla-optimized-out.exp b/gdb/testsuite/gdb.base/vla-optimized-out.exp index b27569e..298b689 100644 --- a/gdb/testsuite/gdb.base/vla-optimized-out.exp +++ b/gdb/testsuite/gdb.base/vla-optimized-out.exp @@ -17,24 +17,43 @@ standard_testfile -if { [prepare_for_testing "failed to prepare" $testfile $srcfile \ - {debug optimize=-O1 additional_flags=-DNOCLONE}] } { - return -1 -} +# The EXE_SUFFIX is a string appended to the name of the test binary +# to make it unique per variation. +# The OPTIONS is a two item list, the first item is a list of compiler +# flags used for building the test binary, and the second item is a +# pattern which matches some expected output within this proc. +proc vla_optimized_out {exe_suffix options} { + global testfile srcfile + + lassign $options compile_flags sizeof_result + + if { [prepare_for_testing "failed to prepare" "$testfile-$exe_suffix" $srcfile \ + $compile_flags] } { + return -1 + } -proc vla_optimized_out { } { if ![runto f1] { fail "can't run to f1" return } gdb_test "p a" \ - { = <optimized out>} \ + " = <optimized out>" \ "printed optimized out vla" gdb_test "p sizeof (a)" \ - { = 6} \ + " = $sizeof_result" \ "printed size of optimized out vla" } -vla_optimized_out +foreach {test_prefix options} \ + { "o1" {{debug optimize=-O1 additional_flags=-DNOCLONE} "6"} \ + "o3" {{debug optimize=-O3} "<optimized out>"} \ + "o3_strict" {{debug optimize=-O3 \ + additional_flags=-gstrict-dwarf} \ + "<optimized out>"}} { + with_test_prefix $test_prefix { + vla_optimized_out $test_prefix $options + } +} + |