]>
Commit | Line | Data |
---|---|---|
42a4f53d | 1 | # Copyright 2014-2019 Free Software Foundation, Inc. |
a25eb028 MR |
2 | |
3 | # This program is free software; you can redistribute it and/or modify | |
4 | # it under the terms of the GNU General Public License as published by | |
5 | # the Free Software Foundation; either version 3 of the License, or | |
6 | # (at your option) any later version. | |
7 | # | |
8 | # This program is distributed in the hope that it will be useful, | |
9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | # GNU General Public License for more details. | |
12 | # | |
13 | # You should have received a copy of the GNU General Public License | |
14 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
15 | ||
16 | # Utility procedures, shared between test suite domains. | |
17 | ||
18 | # A helper procedure to retrieve commands to send to GDB before a program | |
19 | # is started. | |
20 | ||
21 | proc gdb_init_commands {} { | |
22 | set commands "" | |
23 | if [target_info exists gdb_init_command] { | |
24 | lappend commands [target_info gdb_init_command] | |
25 | } | |
26 | if [target_info exists gdb_init_commands] { | |
27 | set commands [concat $commands [target_info gdb_init_commands]] | |
28 | } | |
29 | return $commands | |
30 | } | |
c3f814a1 PA |
31 | |
32 | # Given an input string, adds backslashes as needed to create a | |
33 | # regexp that will match the string. | |
34 | ||
35 | proc string_to_regexp {str} { | |
36 | set result $str | |
0567c986 | 37 | regsub -all {[]*+.|(){}^$\[\\]} $str {\\&} result |
c3f814a1 PA |
38 | return $result |
39 | } | |
18125b16 TT |
40 | |
41 | # Wrap STR in an ANSI terminal escape sequences -- one to set the | |
42 | # style to STYLE, and one to reset the style to the default. The | |
43 | # return value is suitable for use as a regular expression. | |
44 | ||
45 | # STYLE can either be the payload part of an ANSI terminal sequence, | |
46 | # or a shorthand for one of the gdb standard styles: "file", | |
47 | # "function", "variable", or "address". | |
48 | ||
49 | proc style {str style} { | |
50 | switch -exact -- $style { | |
206584bd | 51 | title { set style 1 } |
18125b16 TT |
52 | file { set style 32 } |
53 | function { set style 33 } | |
206584bd | 54 | highlight { set style 31 } |
18125b16 TT |
55 | variable { set style 36 } |
56 | address { set style 34 } | |
57 | } | |
58 | return "\033\\\[${style}m${str}\033\\\[m" | |
59 | } |