[gdb/testsuite] Add string cat for tcl version < 8.6.2
I noticed that we started using "string cat", which has been available since tcl version 8.6.2. Add a local implementation for use with older tcl versions. Tested on x86_64-linux. Approved-By: Andrew Burgess <aburgess@redhat.com>
This commit is contained in:
parent
be23e44263
commit
78564d3f6c
2 changed files with 45 additions and 7 deletions
15
gdb/testsuite/gdb.testsuite/string-cat.exp
Normal file
15
gdb/testsuite/gdb.testsuite/string-cat.exp
Normal file
|
@ -0,0 +1,15 @@
|
|||
# Copyright 2024 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/>.
|
||||
|
||||
gdb_assert { [string cat "foo" "bar"] == "foobar" }
|
|
@ -1607,13 +1607,23 @@ proc python_version_at_least { major minor } {
|
|||
<= [list $python_version_major $python_version_minor]]
|
||||
}
|
||||
|
||||
# Return 1 if tcl version used is at least MAJOR.MINOR
|
||||
proc tcl_version_at_least { major minor } {
|
||||
global tcl_version
|
||||
regexp {^([0-9]+)\.([0-9]+)$} $tcl_version \
|
||||
dummy tcl_version_major tcl_version_minor
|
||||
return [version_compare [list $major $minor] \
|
||||
<= [list $tcl_version_major $tcl_version_minor]]
|
||||
# Return 1 if tcl version used is at least MAJOR.MINOR.PATCHLEVEL.
|
||||
proc tcl_version_at_least { major minor {patchlevel 0} } {
|
||||
global tcl_patchLevel
|
||||
regexp {^([0-9]+)\.([0-9]+)\.([0-9]+)$} \
|
||||
$tcl_patchLevel dummy \
|
||||
tcl_version_major tcl_version_minor tcl_version_patchlevel
|
||||
return \
|
||||
[version_compare \
|
||||
[list \
|
||||
$major \
|
||||
$minor \
|
||||
$patchlevel] \
|
||||
<= \
|
||||
[list \
|
||||
$tcl_version_major \
|
||||
$tcl_version_minor \
|
||||
$tcl_version_patchlevel]]
|
||||
}
|
||||
|
||||
if { [tcl_version_at_least 8 5] == 0 } {
|
||||
|
@ -1648,6 +1658,19 @@ if { [tcl_version_at_least 8 6] == 0 } {
|
|||
}
|
||||
}
|
||||
|
||||
if { [tcl_version_at_least 8 6 2] == 0 } {
|
||||
# string cat was added in tcl 8.6.2. Only add if missing.
|
||||
|
||||
rename string tcl_proc_string
|
||||
|
||||
proc string { what args } {
|
||||
if { $what == "cat" } {
|
||||
return [join $args ""]
|
||||
}
|
||||
return [tcl_proc_string $what {*}$args]
|
||||
}
|
||||
}
|
||||
|
||||
# gdb_test_no_output [-prompt PROMPT_REGEXP] [-nopass] COMMAND [MESSAGE]
|
||||
# Send a command to GDB and verify that this command generated no output.
|
||||
#
|
||||
|
|
Loading…
Add table
Reference in a new issue