diff options
author | Sanimir Agovic <sanimir.agovic@intel.com> | 2013-11-20 13:45:36 +0000 |
---|---|---|
committer | Sanimir Agovic <sanimir.agovic@intel.com> | 2013-11-20 13:50:14 +0000 |
commit | 10d8cbd222af0f56ca41e17a29fbdea46c5dc288 (patch) | |
tree | a2c21c8b652e00644e5c814b40ddff08f1391680 /gdb/testsuite | |
parent | 6b1141e3f3a7d8303f575caf66347f902f6b07ea (diff) | |
download | gdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.zip gdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.tar.gz gdb-10d8cbd222af0f56ca41e17a29fbdea46c5dc288.tar.bz2 |
test: test eval routines with EVAL_AVOID_SIDE_EFFECTS flag set
Ensure that certain commands (e.g. whatis/ptype) and sizeof intrinsic
have no side effects (variables cannot be altered).
2013-11-20 Sanimir Agovic <sanimir.agovic@intel.com>
testsuite/
* gdb.base/eval-avoid-side-effects.exp: New test.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/eval-avoid-side-effects.exp | 40 |
2 files changed, 44 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 560f674..aa25faa 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-11-20 Sanimir Agovic <sanimir.agovic@intel.com> + + * gdb.base/eval-avoid-side-effects.exp: New file. + 2013-11-20 Walfred Tedeschi <walfred.tedeschi@intel.com> * gdb.arch/i386-mpx.c: New file diff --git a/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp b/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp new file mode 100644 index 0000000..da1e36f --- /dev/null +++ b/gdb/testsuite/gdb.base/eval-avoid-side-effects.exp @@ -0,0 +1,40 @@ +# Copyright 2013 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/>. + +# Tests to cover evaluate_subexp and others with EVAL_AVOID_SIDE_EFFECTS +# flag set. + +standard_testfile int-type.c + +if { [prepare_for_testing ${testfile}.exp $testfile $srcfile] } { + return -1 +} + +if ![runto_main] { + return -1 +} + +set sizeof_int [get_sizeof "int" 4] + +gdb_test_no_output "set variable x=42" "set variable x=42" + +gdb_test "print sizeof ++x" "= ${sizeof_int}" "test sizeof side effects" +gdb_test "print x" "= 42" "sizeof has no side effects" + +gdb_test "ptype ++x" "= int" "test ptype side effects" +gdb_test "print x" "= 42" "ptype has no side effects" + +gdb_test "whatis ++x" "= int" "test whatis side effects" +gdb_test "print x" "= 42" "whatis has no side effects" |