From: Andrew Burgess Date: Sat, 28 Jul 2018 19:55:04 +0000 (+0100) Subject: gdb: Merge similar tests into a single test script X-Git-Tag: users/ARM/embedded-binutils-master-2018q4~1123 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5bbcd0f04911d671d0c43d57df9886c06018705;p=external%2Fbinutils.git 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. --- 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 + + * 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 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 . - -# 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" \ - { = } \ - "printed optimized out vla" - - gdb_test "p sizeof (a)" \ - { = } \ - "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 . - -# 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" \ - { = } \ - "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" \ - { = } \ + " = " \ "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} ""} \ + "o3_strict" {{debug optimize=-O3 \ + additional_flags=-gstrict-dwarf} \ + ""}} { + with_test_prefix $test_prefix { + vla_optimized_out $test_prefix $options + } +} +