binutils-gdb/gdb/testsuite/gdb.base/testenv.exp
Joel Brobecker 61baf725ec update copyright year range in GDB files
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.

gdb/ChangeLog:

        Update copyright year range in all GDB files.
2017-01-01 10:52:34 +04:00

123 lines
3.3 KiB
Text

# Copyright 2011-2017 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 file was written by Pierre Muller <muller@ics.u-strasbg.fr>
#
# Check if environment variables are correctly passed to inferiors
#
# There's no support for passing environment variables in the remote protocol.
if { [is_remote target] } {
return 0
}
standard_testfile .c
# Compile binary
# and start with a fresh gdb
if { [prepare_for_testing "failed to prepare" ${binfile} ${srcfile}] } {
return -1
}
# make sure $pc is sane, in case we're talking to a board.
if { ![runto_main] } {
gdb_suppress_tests
}
set bp_line [gdb_get_line_number "set breakpoint here"]
gdb_breakpoint $bp_line
#
# Test gdb set/unset environment commands.
# Executable lists and counts all environment variables
# starting with TEST_GDB.
# First test with no TEST_GDB_VAR
gdb_test "continue" \
".*Program found 0 variables starting with TEST_GDB.*" \
"test no TEST_GDB var"
gdb_test_no_output "set env TEST_GDB_VAR1 test1" \
"set TEST_GDB_VAR1"
runto_main
gdb_breakpoint $bp_line
# Second test with one TEST_GDB_VAR
gdb_test "continue" \
".*Program found 1 variables starting with TEST_GDB.*" \
"test with one TEST_GDB var"
gdb_test_no_output "set env TEST_GDB_VAR2 test2" \
"set TEST_GDB_VAR2"
runto_main
gdb_breakpoint $bp_line
# Third test with two TEST_GDB_VAR
gdb_test "continue" \
".*Program found 2 variables starting with TEST_GDB.*" \
"test with two TEST_GDB var"
gdb_test_no_output "unset env TEST_GDB_VAR1" \
"unset TEST_GDB_VAR1"
runto_main
gdb_breakpoint $bp_line
# Fourth test with one TEST_GDB_VAR left, after one was removed
# with unset command.
gdb_test "continue" \
".*Program found 1 variables starting with TEST_GDB.*" \
"test with one TEST_GDB var, after unset"
gdb_exit
set env(TEST_GDB_GLOBAL) "Global environment value"
clean_restart $binfile
# make sure $pc is sane, in case we're talking to a board.
if { ![runto_main] } {
gdb_suppress_tests
}
set bp_line [gdb_get_line_number "set breakpoint here"]
gdb_breakpoint $bp_line
gdb_test "show env" ".*TEST_GDB_GLOBAL=.*" "test passing TEST_GDB_GLOBAL to GDB"
# First test with only inherited TEST_GDB_GLOBAL
gdb_test "continue" \
".*TEST_GDB_GLOBAL=Global environment value.*Program found 1 variables starting with TEST_GDB.*" \
"test with TEST_GDB_GLOBAL"
gdb_test_no_output "unset env TEST_GDB_GLOBAL" \
"unset TEST_GDB_GLOBAL"
runto_main
gdb_breakpoint $bp_line
# Second test with one TEST_GDB_VAR
gdb_test "continue" \
".*Program found 0 variables starting with TEST_GDB.*" \
"test with TEST_GDB_GLOBAL unset"
gdb_exit
# Clear environment in case we're doing multiple runs
unset env(TEST_GDB_GLOBAL)