Fix sequential gdb test runs
authorPedro Alves <palves@redhat.com>
Fri, 8 May 2015 17:06:46 +0000 (18:06 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 8 May 2015 17:06:46 +0000 (18:06 +0100)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.server/non-existing-program.exp

index 93a0e7f..4064b28 100644 (file)
@@ -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
index f842c44..63a9cb7 100644 (file)
@@ -61,3 +61,7 @@ expect {
        fail "$msg (timeout)"
     }
 }
+
+# expect defaults to spawn_id in many places.  Avoid confusing any
+# following code.
+unset spawn_id