From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22715 invoked by alias); 18 Apr 2011 16:39:21 -0000 Received: (qmail 22380 invoked by uid 22791); 18 Apr 2011 16:39:19 -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; Mon, 18 Apr 2011 16:39:02 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3IGd1Sb015097 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 18 Apr 2011 12:39:01 -0400 Received: from dhcp-25-89.brq.redhat.com (pdp-11.brq.redhat.com [10.34.24.63]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p3IGd0wG024621 for ; Mon, 18 Apr 2011 12:39:01 -0400 Message-ID: <4DAC6924.2000100@redhat.com> Date: Mon, 18 Apr 2011 16:39: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/setshow.exp: fix racy tests (PR testsuite/12649) 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/msg00277.txt.bz2 It took some time, but I've fixed all racy cases by using {,old_}gdb_prompt variable. Also it was needed to escape "(gdb) " prompt properly. Ok to apply? 2011-04-18 Marek Polacek * gdb.base/setshow.exp: Fix racy tests. ($old_gdb_prompt): New variable. Index: testsuite/gdb.base/setshow.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/setshow.exp,v retrieving revision 1.20 diff -u -r1.20 setshow.exp --- testsuite/gdb.base/setshow.exp 1 Jan 2011 15:33:42 -0000 1.20 +++ testsuite/gdb.base/setshow.exp 18 Apr 2011 16:28:28 -0000 @@ -55,25 +55,32 @@ #test set annotate 2 +# Here we need to fiddle with prompts. +set old_gdb_prompt $gdb_prompt +set gdb_prompt "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n" + gdb_test_multiple "set annotate 2" "set annotate 2" { - -re ".*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" { - pass "set annotate 2" + -re "\r\n$gdb_prompt$" { + pass "set annotate 2" } } gdb_test_multiple "show annotate" "show annotate 2" { - -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" { + -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$old_gdb_prompt .*\032\032prompt.*$" { pass "show annotate 2" } } #test annotation_level 2 gdb_test_multiple "info line 1" "annotation_level 2" { - -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" { + -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$old_gdb_prompt .*\032\032prompt.*$" { pass "annotation_level 2" } } +# Restore the original prompt for the rest of the testsuite. +set gdb_prompt $old_gdb_prompt + #test set annotate 1 gdb_test "set annotate 1" ".*post-prompt.*" "set annotate 1" gdb_test "show annotate" "Annotation_level is 1..*" "show annotate (1)" @@ -212,7 +219,7 @@ #test set prompt (gdb) - gdb_test_multiple "set prompt (gdb) " "set prompt gdb" { + gdb_test_multiple "set prompt \\(gdb\\) " "set prompt gdb" { -re "$gdb_prompt $" { pass "set prompt gdb" }