Fix global variable collision in gdb.multi/multi-kill.exp
authorPedro Alves <palves@redhat.com>
Fri, 15 May 2020 10:09:51 +0000 (11:09 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 15 May 2020 10:09:51 +0000 (11:09 +0100)
commit272c36b87f81fd64e5f4669730da72c39d0716b3
treefdcdcd8cf990874a51b6fba529efc40a4da3a955
parent013707794a67269dd34fd8ae6e354e982c547dc0
Fix global variable collision in gdb.multi/multi-kill.exp

The new gdb.multi/multi-kill.exp testcase added an 'testpid' array,
which may conflict with other global 'testpid' variables used by other
testcases, resulting in:

 ...
 ERROR: tcl error sourcing
 /data/gdb_versions/devel/src/gdb/testsuite/gdb.multi/multi-kill.exp.
 ERROR: can't set "testpid(1)": variable isn't array
     while executing
 "set testpid($num) [get_integer_valueof "pid" -1]"

or

 $ runtest gdb.threads/check-libthread-db.exp gdb.multi/multi-kill.exp
 ...
 Running /home/pedro/gdb/binutils-gdb/src/gdb/testsuite/gdb.multi/multi-kill.exp ...
 Running /home/pedro/gdb/binutils-gdb/src/gdb/testsuite/gdb.threads/check-libthread-db.exp ...
 ERROR: tcl error sourcing /home/pedro/gdb/binutils-gdb/src/gdb/testsuite/gdb.threads/check-libthread-db.exp.
 ERROR: can't set "testpid": variable is array
     while executing
 "set testpid [spawn_id_get_pid $test_spawn_id]"
     ("uplevel" body line 8)

Fix this with a namespace, like gdb.linespec/explicit.exp does.

gdb/testsuite/ChangeLog:
2020-05-15  Pedro Alves  <palves@redhat.com>

* gdb.multi/multi-kill.exp: Wrap in namespace.
(start_inferior): Add TESTPID parameter.  Use it instead of the
testpid global.
(top level): Define empty TESTPID array, and pass it down to
start_inferior.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.multi/multi-kill.exp