[PING][PATCH][gdb/testsuite] Fix mi-sym-info.exp matching FAILs

Tom de Vries tdevries@suse.de
Mon Mar 9 14:57:00 GMT 2020


On 25-02-2020 12:01, Tom de Vries wrote:
> Hi,
> 
> When running gdb.mi/mi-sym-info.exp on openSUSE Leap 15.1, I get:
> ...
> FAIL: gdb.mi/mi-sym-info.exp: List all functions matching type void \
>   (unexpected output)
> FAIL: gdb.mi/mi-sym-info.exp: -symbol-info-variables --max-results 3 \
>   (unexpected output)
> FAIL: gdb.mi/mi-sym-info.exp: -symbol-info-types --max-results 4 \
>   (unexpected output)
> ...
> 
> The executable contains debug info from files other than the source files:
> ...
> $ readelf -wi mi-sym-info | grep "DW_AT_name.*\.[cS]$" | awk '{print $8}'
> ../sysdeps/x86_64/start.S
> init.c
> ../sysdeps/x86_64/crti.S
> src/gdb/testsuite/gdb.mi/mi-sym-info-1.c
> src/gdb/testsuite/gdb.mi/mi-sym-info-2.c
> elf-init.c
> ../sysdeps/x86_64/crtn.S
> ...
> 
> The test does not expect this extra info, resulting in matching failures.
> 
> Fix this by restricting the failing commands using --name.
> 
> Tested on x86_64-linux.
> 
> OK for trunk?
> 

Ping.

Thanks,
- Tom

> [gdb/testsuite] Fix mi-sym-info.exp matching FAILs
> 
> gdb/testsuite/ChangeLog:
> 
> 2020-02-25  Tom de Vries  <tdevries@suse.de>
> 
> 	* gdb.mi/mi-sym-info-2.c (another_char_t, another_short_t): New typedef.
> 	(var1, var2): New variable.
> 	* gdb.mi/mi-sym-info.exp: Add --name to various commands to restrict
> 	matching symbols.
> 
> ---
>  gdb/testsuite/gdb.mi/mi-sym-info-2.c |  5 +++++
>  gdb/testsuite/gdb.mi/mi-sym-info.exp | 13 ++++++++-----
>  2 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/gdb/testsuite/gdb.mi/mi-sym-info-2.c b/gdb/testsuite/gdb.mi/mi-sym-info-2.c
> index a63d888d84..f514e426d5 100644
> --- a/gdb/testsuite/gdb.mi/mi-sym-info-2.c
> +++ b/gdb/testsuite/gdb.mi/mi-sym-info-2.c
> @@ -41,3 +41,8 @@ f3 (another_int_t arg)
>    return arg + 2;
>  }
>  
> +typedef char another_char_t;
> +typedef short another_short_t;
> +
> +static another_char_t var1;
> +static another_short_t var2;
> diff --git a/gdb/testsuite/gdb.mi/mi-sym-info.exp b/gdb/testsuite/gdb.mi/mi-sym-info.exp
> index 9df683ad9d..015f83dc7b 100644
> --- a/gdb/testsuite/gdb.mi/mi-sym-info.exp
> +++ b/gdb/testsuite/gdb.mi/mi-sym-info.exp
> @@ -105,7 +105,7 @@ mi_gdb_test "116-symbol-info-functions --name f3" \
>      "List all functions matching pattern f3"
>  
>  set lineno [gdb_get_line_number "f4 (int *arg)" ${srcfile}]
> -mi_gdb_test "117-symbol-info-functions --type void" \
> +mi_gdb_test "117-symbol-info-functions --type void --name ^\[^_\]" \
>      "117\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile\",fullname=\"\[^\"\]+$srcfile\",symbols=\\\[\{line=\"36\",name=\"f4\",type=\"void \\(int \\*\\)\",description=\"void f4\\(int \\*\\);\"\}\\\]\}\\\]\}" \
>      "List all functions matching type void"
>  
> @@ -141,10 +141,13 @@ mi_gdb_test "123-symbol-info-functions --max-results 2" \
>      "123\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"33\",name=\"f2\",type=\"float \\(another_float_t\\)\",description=\"float f2\\(another_float_t\\);\"\},\{line=\"39\",name=\"f3\",type=\"int \\(another_int_t\\)\",description=\"int f3\\(another_int_t\\);\"\}\\\]\}\\\]\}" \
>      "-symbol-info-functions --max-results 2"
>  
> -mi_gdb_test "124-symbol-info-variables --max-results 3" \
> +mi_gdb_test "124-symbol-info-variables --max-results 3 --name ^\[^_\]" \
>      "124\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"21\",name=\"global_f2\",type=\"int\",description=\"int global_f2;\"\},\{line=\"20\",name=\"global_i2\",type=\"int\",description=\"int global_i2;\"\},\{line=\"19\",name=\"global_f1\",type=\"float\",description=\"static float global_f1;\"\}\\\]\}\\\]\}" \
> -    "-symbol-info-variables --max-results 3"
>  
> -mi_gdb_test "125-symbol-info-types --max-results 4" \
> -    "125\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[\{line=\"24\",name=\"another_float_t\"\},\{line=\"23\",name=\"another_int_t\"\},\{name=\"float\"\},\{name=\"int\"\}\\\]\}\\\]\}" \
> +set s1 "\{line=\"44\",name=\"another_char_t\"\}"
> +set s2 "\{line=\"24\",name=\"another_float_t\"\}"
> +set s3 "\{line=\"23\",name=\"another_int_t\"\}"
> +set s4 "\{line=\"45\",name=\"another_short_t\"\}"
> +mi_gdb_test "125-symbol-info-types --max-results 4 --name another_" \
> +    "125\\^done,symbols=\{debug=\\\[\{filename=\"\[^\"\]+$srcfile2\",fullname=\"\[^\"\]+$srcfile2\",symbols=\\\[$s1,$s2,$s3,$s4\\\]\}\\\]\}" \
>      "-symbol-info-types --max-results 4"
> 


More information about the Gdb-patches mailing list