From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8167 invoked by alias); 3 Mar 2006 15:03:58 -0000 Received: (qmail 8156 invoked by uid 22791); 3 Mar 2006 15:03:57 -0000 X-Spam-Check-By: sourceware.org Received: from astro.systems.pipex.net (HELO astro.systems.pipex.net) (62.241.163.6) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 03 Mar 2006 15:03:54 +0000 Received: from nowt.org (81-178-176-36.dsl.pipex.com [81.178.176.36]) by astro.systems.pipex.net (Postfix) with ESMTP id 9FAEDE00047C for ; Fri, 3 Mar 2006 15:03:51 +0000 (GMT) Received: from wren.home (wren.home [192.168.1.7]) by nowt.org (Postfix) with ESMTP id 116D46EFA0 for ; Fri, 3 Mar 2006 15:03:51 +0000 (GMT) From: Paul Brook To: gdb-patches@sourceware.org Subject: mi-until.exp failures Date: Fri, 03 Mar 2006 15:31:00 -0000 User-Agent: KMail/1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200603031503.50340.paul@nowt.org> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-03/txt/msg00076.txt.bz2 I'm seeing the following failures on arm-none-eabi with a gcc4.x compiler: FAIL: gdb.mi/mi-until.exp: until after while loop (timeout) FAIL: gdb.mi/mi2-until.exp: until after while loop (timeout) Turns out that this the "until" command actuig in unexpected ways, as described in this thread: http://sources.redhat.com/ml/gdb/2005-02/msg00151.html AFAICS there's not been any real consensus whether this is a bug or a feature. I've had a quick look at making the command work purely on source lines, and concluded I don't have the time/inclination to make it work. I just want to squish the unexpected testsuite failure. I've created two patches to that end: a) Decide this is a feature. Tweak the testcase to allow the strange behavior and pass. b) Decide this is a bug. I will file a bug and kfail the testcase. Ok? PASS or KFAIL? Paul 2006-03-03 Paul Brook * gdb.mi/mi-until.exp: Allow until command stopping at top of loop. * gdb.mi/mi2-until.exp: Ditto. Index: testsuite/gdb.mi/mi-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-until.exp,v retrieving revision 1.9 diff -u -p -r1.9 mi-until.exp --- testsuite/gdb.mi/mi-until.exp 18 May 2005 03:41:59 -0000 1.9 +++ testsuite/gdb.mi/mi-until.exp 3 Mar 2006 14:44:38 -0000 @@ -78,7 +78,7 @@ proc test_until {} { send_gdb "111-exec-until\n" gdb_expect { - -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"12\"\}\r\n$mi_gdb_prompt$" { + -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"(12|9)\"\}\r\n$mi_gdb_prompt$" { pass "until after while loop" } timeout { Index: testsuite/gdb.mi/mi2-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-until.exp,v retrieving revision 1.3 diff -u -p -r1.3 mi2-until.exp --- testsuite/gdb.mi/mi2-until.exp 18 May 2005 03:41:59 -0000 1.3 +++ testsuite/gdb.mi/mi2-until.exp 3 Mar 2006 14:44:38 -0000 @@ -79,7 +79,7 @@ proc test_until {} { send_gdb "111-exec-until\n" gdb_expect { - -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"12\"\}\r\n$mi_gdb_prompt$" { + -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"(12|9)\"\}\r\n$mi_gdb_prompt$" { pass "until after while loop" } timeout { 2006-03-03 Paul Brook * gdb.mi/mi-until.exp: kfail broken until command. * gdb.mi/mi2-until.exp: Ditto. Index: gdb/testsuite/gdb.mi/mi-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-until.exp,v retrieving revision 1.9 diff -u -p -r1.9 mi-until.exp --- gdb/testsuite/gdb.mi/mi-until.exp 18 May 2005 03:41:59 -0000 1.9 +++ gdb/testsuite/gdb.mi/mi-until.exp 3 Mar 2006 14:48:00 -0000 @@ -81,6 +81,9 @@ proc test_until {} { -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"12\"\}\r\n$mi_gdb_prompt$" { pass "until after while loop" } + -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"9\"\}\r\n$mi_gdb_prompt$" { + kfail gdb/xxx "until after while loop (went backwards)" + } timeout { fail "until after while loop (timeout)" } Index: gdb/testsuite/gdb.mi/mi2-until.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi2-until.exp,v retrieving revision 1.3 diff -u -p -r1.3 mi2-until.exp --- gdb/testsuite/gdb.mi/mi2-until.exp 18 May 2005 03:41:59 -0000 1.3 +++ gdb/testsuite/gdb.mi/mi2-until.exp 3 Mar 2006 14:48:00 -0000 @@ -82,6 +82,9 @@ proc test_until {} { -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"12\"\}\r\n$mi_gdb_prompt$" { pass "until after while loop" } + -re "111\\^running\r\n${mi_gdb_prompt}111\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"foo\",args=\\\[\\\],file=\".*until.c\",fullname=\"${fullname_syntax}${srcfile}\",line=\"9\"\}\r\n$mi_gdb_prompt$" { + kfail gdb/xxx "until after while loop (went backwards)" + } timeout { fail "until after while loop (timeout)" }