This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix sequential gdb test runs


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

commit a4674e4efc0c93abd2865d5cf97da710fa3affae
Author: Pedro Alves <palves@redhat.com>
Date:   Fri May 8 18:06:46 2015 +0100

    Fix sequential gdb test runs
    
    Sequential test runs are stopping prematurely like this:
    
     $ make check RUNTESTFLAGS="non-existing-program.exp server-exec-info.exp"
    
     Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.server/non-existing-program.exp ...
     Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.server/server-exec-info.exp ...
     can not find channel named "exp6"
         while executing
     "match_max [match_max -d]"
         (procedure "default_gdb_init" line 26)
         invoked from within
     "default_gdb_init $test_file_name"
         (procedure "gdb_init" line 83)
         invoked from within
     "${tool}_init $test_file_name"
         (procedure "runtest" line 18)
         invoked from within
     "runtest $test_name"
         ("foreach" body line 42)
         invoked from within
     ...
     make[2]: *** [check-single] Error 1
     make[2]: Leaving directory `/home/pedro/gdb/mygit/build/gdb/testsuite'
     make[1]: *** [check] Error 2
     make[1]: Leaving directory `/home/pedro/gdb/mygit/build/gdb/testsuite'
     make: *** [check] Error 2
    
    default_gdb_init has this:
    
        # Unlike most tests, we have a small number of tests that generate
        # a very large amount of output.  We therefore increase the expect
        # buffer size to be able to contain the entire test output.  This
        # is especially needed by gdb.base/info-macros.exp.
        match_max -d 65536
        # Also set this value for the currently running GDB.
        match_max [match_max -d]
    
    It's the second match_max that is erroring.  As that call does not
    specify an explicit channel name with -i, expect defaults to
    $spawn_id, which is pointing at a channel that is already gone.  (If
    the spawn_id variable is not set, match_max defaults to
    $user_spawn_id / stdin/out).
    
    gdb/testsuite/ChangeLog:
    2015-05-08  Pedro Alves  <palves@redhat.com>
    
    	* gdb.server/non-existing-program.exp: Unset spawn_id.

Diff:
---
 gdb/testsuite/ChangeLog                           | 4 ++++
 gdb/testsuite/gdb.server/non-existing-program.exp | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 93a0e7f..4064b28 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-05-08  Pedro Alves  <palves@redhat.com>
+
+	* gdb.server/non-existing-program.exp: Unset spawn_id.
+
 2015-05-08  Siva Chandra Reddy  <sivachandra@google.com>
 
 	PR python/18291
diff --git a/gdb/testsuite/gdb.server/non-existing-program.exp b/gdb/testsuite/gdb.server/non-existing-program.exp
index f842c44..63a9cb7 100644
--- a/gdb/testsuite/gdb.server/non-existing-program.exp
+++ b/gdb/testsuite/gdb.server/non-existing-program.exp
@@ -61,3 +61,7 @@ expect {
 	fail "$msg (timeout)"
     }
 }
+
+# expect defaults to spawn_id in many places.  Avoid confusing any
+# following code.
+unset spawn_id


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]