public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [gdb/testsuite] Fix mi-sym-info.exp matching FAILs
@ 2020-03-12 23:41 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2020-03-12 23:41 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=49ba92c0a6765ee7dc3a773c1a044680d29cee0e

commit 49ba92c0a6765ee7dc3a773c1a044680d29cee0e
Author: Tom de Vries <tdevries@suse.de>
Date:   Fri Mar 13 00:41:44 2020 +0100

    [gdb/testsuite] Fix mi-sym-info.exp matching FAILs
    
    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.
    
    gdb/testsuite/ChangeLog:
    
    2020-03-13  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.

Diff:
---
 gdb/testsuite/ChangeLog              |  7 +++++++
 gdb/testsuite/gdb.mi/mi-sym-info-2.c |  5 +++++
 gdb/testsuite/gdb.mi/mi-sym-info.exp | 13 ++++++++-----
 3 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index de419eba187..145e1e49131 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2020-03-13  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.
+
 2020-03-13  Tom de Vries  <tdevries@suse.de>
 
 	* lib/tuiterm.exp (Term::command_no_prompt_prefix): New proc.
diff --git a/gdb/testsuite/gdb.mi/mi-sym-info-2.c b/gdb/testsuite/gdb.mi/mi-sym-info-2.c
index a63d888d84f..f514e426d5e 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 c07f3e80970..7f8cf228d90 100644
--- a/gdb/testsuite/gdb.mi/mi-sym-info.exp
+++ b/gdb/testsuite/gdb.mi/mi-sym-info.exp
@@ -107,7 +107,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"
 
@@ -143,10 +143,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"


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-03-12 23:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-12 23:41 [binutils-gdb] [gdb/testsuite] Fix mi-sym-info.exp matching FAILs Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).