From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20379 invoked by alias); 13 Apr 2011 07:58:31 -0000 Received: (qmail 20365 invoked by uid 22791); 13 Apr 2011 07:58:29 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 13 Apr 2011 07:58:17 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3D7wHpf007414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 13 Apr 2011 03:58:17 -0400 Received: from dhcp-25-89.brq.redhat.com (pdp-11.brq.redhat.com [10.34.24.63]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p3D7wGTi001069 for ; Wed, 13 Apr 2011 03:58:16 -0400 Message-ID: <4DA55797.5090800@redhat.com> Date: Wed, 13 Apr 2011 07:58:00 -0000 From: Marek Polacek User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100827 Red Hat Thunderbird/3.1.3 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [PATCH] gdb.base/commands.exp: fix racy test Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-04/txt/msg00179.txt.bz2 Here is a first attempt to fix some racy tests. The problem is with the ".*" part which just slurps everything, this clearly shows when we use preloaded read() which returns just one char at a time. I've also split gdb_test_multiple to avoid unnecessary exp_continue. Ok? Signed-off-by: Marek Polacek --- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/gdb.base/commands.exp | 12 ++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 9ae251b..7874b8c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2011-04-13 Marek Polacek + + * gdb.base/commands.exp (redefine_backtrace_test): Fix race. + 2011-04-04 Tom Tromey * gdb.cp/maint.exp (test_help): Update. diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp index 3bff053..a0827c6 100644 --- a/gdb/testsuite/gdb.base/commands.exp +++ b/gdb/testsuite/gdb.base/commands.exp @@ -704,18 +704,22 @@ proc redefine_backtrace_test {} { global gdb_prompt gdb_test_multiple "define backtrace" "define backtrace" { - -re "Really redefine built-in.*$" { + -re "Really redefine built-in command \"backtrace\"\\? \\(y or n\\) $" { send_gdb "y\n" - exp_continue } + } - -re "End with" { + # We send nothing this time. + gdb_test_multiple "" "expect response to define backtrace" { + -re "End with a line saying just \"end\".\r\n>$" { pass "define backtrace in redefine_backtrace_test" } - default { + + default { fail "(timeout or eof) define backtrace in redefine_backtrace_test" } } + gdb_test "echo hibob\\n\nend" \ "" \ "enter commands in redefine_backtrace_test" -- 1.7.3.4