This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: Recent MI patches broke the testsuite
- From: "J. Johnston" <jjohnstn at redhat dot com>
- To: Daniel Jacobowitz <drow at mvista dot com>
- Cc: gdb-patches at sources dot redhat dot com, ezannoni at redhat dot com
- Date: Mon, 16 Dec 2002 13:04:42 -0500
- Subject: Re: Recent MI patches broke the testsuite
- Organization: Red Hat Inc.
- References: <20021215211132.GA31984@nevyn.them.org>
My bad. :( The new mi-basics.exp testcase is my usual sanity test
for this change. It was updated and in fact works fine as it is expecting
the new behavior.
I did not look at the correct gdb.log for the full mi testsuite.
As you have noted, the lib/mi-support.exp routine mi_reinitialize_dir
is using -environment-directory and is expecting the old output.
I have a patch for lib/mi=support.exp to handle the new syntax which I have
included. Since I require approval for patches I will revert the
original patch and resubmit with the added change unless Elena says
otherwise.
-- Jeff J.
Daniel Jacobowitz wrote:
202-environment-directory ../../../src/gdb/testsuite/gdb.mi
202^done,source-path="/opt/src/binutils/x86-as/gdb/testsuite/../../../src/gdb/testsuite/gdb.mi:$cdir:$cwd"
(gdb)
FAIL: gdb.mi/mi-basics.exp: environment-directory arg operation
203-environment-directory
203^done,source-path="/opt/src/binutils/x86-as/gdb/testsuite/../../../src/gdb/testsuite/gdb.mi:$cdir:$cwd"
(gdb)
FAIL: gdb.mi/mi-basics.exp: environment-directory empty-string operation
It appears to be this patch:
2002-12-13 Jeff Johnston <jjohnstn@redhat.com>
* mi-cmds.c (-environment-directory) Change to use mi_cmd_env_dir,
(-environment-cd): Change to use mi_cmd_env_cd,.
(-environment-pwd): Change to use mi_cmd_env_pwd.
(-environment-path): Change to use mi_cmd_env_path.
* mi-cmds.h (mi_cmd_env_cd, mi_cmd_env_dir): New prototypes.
(mi_cmd_env_path, mi_cmd_env_pwd): Ditto.
* mi-cmd-env.c: New file. Part of fix for PR gdb/741.
* gdbmi.texinfo (environment-cd): Update output and example.
(environment-pwd): Ditto.
(environment-dir): Update output, description, and examples.
(environment-path): Ditto.
Not only did it break several tests in gdb.mi/, it also broke the utility
function mi_gdb_reinitialize_dir in lib/mi-support.exp. This causes all my
testsuite runs to time out. Please don't commit patches like this without
testing them.
The output which expects "105-^done\r\n" needs to be updated as well as the
tests in mi-basics.exp; possibly elsewhere.
Index: lib/mi-support.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/mi-support.exp,v
retrieving revision 1.19
diff -u -r1.19 mi-support.exp
--- lib/mi-support.exp 25 Nov 2002 19:54:09 -0000 1.19
+++ lib/mi-support.exp 16 Dec 2002 17:49:08 -0000
@@ -234,6 +234,7 @@
proc mi_gdb_reinitialize_dir { subdir } {
global mi_gdb_prompt
+ global MIFLAGS
global suppress_flag
if { $suppress_flag } {
@@ -244,8 +245,9 @@
return "";
}
- send_gdb "104-environment-directory\n"
- gdb_expect 60 {
+ if { $MIFLAGS == "-i=mi1" } {
+ send_gdb "104-environment-directory\n"
+ gdb_expect 60 {
-re ".*Reinitialize source path to empty.*y or n. " {
warning "Got confirmation prompt for dir reinitialization."
send_gdb "y\n"
@@ -256,6 +258,14 @@
}
-re "$mi_gdb_prompt$" {}
timeout {error "Dir reinitialization failed (timeout)"}
+ }
+ } else {
+ send_gdb "104-environment-directory -r\n"
+ gdb_expect 60 {
+ -re "104\\\^done,source-path=.*\r\n$mi_gdb_prompt$" {}
+ -re "$mi_gdb_prompt$" {}
+ timeout {error "Dir reinitialization failed (timeout)"}
+ }
}
send_gdb "105-environment-directory $subdir\n"
@@ -263,7 +273,7 @@
-re "Source directories searched.*$mi_gdb_prompt$" {
verbose "Dir set to $subdir"
}
- -re "105\\\^done\r\n$mi_gdb_prompt$" {
+ -re "105\\\^done.*\r\n$mi_gdb_prompt$" {
# FIXME: We return just the prompt for now.
verbose "Dir set to $subdir"
# perror "Dir \"$subdir\" failed."