From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26182 invoked by alias); 11 Apr 2014 17:36:44 -0000 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 Received: (qmail 26165 invoked by uid 89); 11 Apr 2014 17:36:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail-gw3-out.broadcom.com Received: from mail-gw3-out.broadcom.com (HELO mail-gw3-out.broadcom.com) (216.31.210.64) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 11 Apr 2014 17:36:42 +0000 Received: from irvexchcas08.broadcom.com (HELO IRVEXCHCAS08.corp.ad.broadcom.com) ([10.9.208.57]) by mail-gw3-out.broadcom.com with ESMTP; 11 Apr 2014 10:54:13 -0700 Received: from IRVEXCHSMTP1.corp.ad.broadcom.com (10.9.207.51) by IRVEXCHCAS08.corp.ad.broadcom.com (10.9.208.57) with Microsoft SMTP Server (TLS) id 14.3.174.1; Fri, 11 Apr 2014 10:36:39 -0700 Received: from mail-irva-13.broadcom.com (10.10.10.20) by IRVEXCHSMTP1.corp.ad.broadcom.com (10.9.207.51) with Microsoft SMTP Server id 14.3.174.1; Fri, 11 Apr 2014 10:36:40 -0700 Received: from [10.177.73.80] (unknown [10.177.73.80]) by mail-irva-13.broadcom.com (Postfix) with ESMTP id 756BCEAD4C for ; Fri, 11 Apr 2014 10:36:39 -0700 (PDT) Message-ID: <53482826.6030403@broadcom.com> Date: Fri, 11 Apr 2014 17:36:00 -0000 From: Andrew Burgess User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: "gdb-patches@sourceware.org" Subject: [PATCH] gdb.base/memattr.exp regexp improvements Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00210.txt.bz2 I hit an issue in the test gdb.base/memattr.exp, on my target the memory regions created were not listed in the order 1, 2, 3, 4, 5, instead, region 1 is placed after region 5. This is just because region 1 is initialised data, and 2->5 are uninitialised, and it just happens that our linker places things in that order. It's possible to see the same errors on x86-64 if the memory regions in the file gdb.base/memattr.c (the test source) are reordered, so, for example, move region 2 to the end of the list. The patch below just improves the regexps used in the test such that the order of the memory regions is no longer important. I don't believe that the order is actually important to the test[1]. OK to apply? Thanks, Andrew [1] We're probably NOT currently testing that the memory regions are in ascending order, but we weren't really testing this before either. gdb/testsuite/ChangeLog: * gdb.base/memattr.exp: Improve regexps to handle memory regions appearing in any order. diff --git a/gdb/testsuite/gdb.base/memattr.exp b/gdb/testsuite/gdb.base/memattr.exp index af7de1f..1e23dae 100644 --- a/gdb/testsuite/gdb.base/memattr.exp +++ b/gdb/testsuite/gdb.base/memattr.exp @@ -110,24 +110,31 @@ set see3 0 set see4 0 set see5 0 +set info_mem_header_pattern \ + "info mem.*Num\[ \t\]+Enb\[ \t\]+Low\[ \t\]+Addr\[ \t\]+High\[ \t\]+Addr\[ \t\]+Attrs\[^\n\r]*.." + gdb_test_multiple "info mem" "info mem(1)" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -181,23 +188,27 @@ set see4 0 set see5 0 gdb_test_multiple "info mem" "mem 2 and 4 were disabled" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -219,23 +230,27 @@ set see4 0 set see5 0 gdb_test_multiple "info mem" "mem 2-4 were enabled" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -257,23 +272,27 @@ set see4 0 set see5 0 gdb_test_multiple "info mem" "mem 1 to 5 were disabled" { - -re "1 n \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 n \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 n \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 n \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 n \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -295,23 +314,27 @@ set see4 0 set see5 0 gdb_test_multiple "info mem" "mem 1 to 5 were enabled" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -340,23 +363,27 @@ set see5 0 gdb_test_no_output "delete mem 1" "delete mem 1" gdb_test_multiple "info mem" "mem 1 was deleted" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -377,23 +404,27 @@ set see5 0 gdb_test_no_output "delete mem 2 4" "delete mem 2 4" gdb_test_multiple "info mem" "mem 2 and 4 were deleted" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue } @@ -416,23 +447,27 @@ gdb_test "delete mem 2-4" \ "No memory region number 2.*No memory region number 4." \ "delete mem 2-4" gdb_test_multiple "info mem" "mem 2-4 were deleted" { - -re "1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*" { + -re ${info_mem_header_pattern} { + # Discard the header. + exp_continue + } + -re "^1 y \[ \t\]+$hex $hex wo nocache \[^\r\n\]*.." { set see1 1 exp_continue } - -re "2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*" { + -re "^2 y \[ \t\]+$hex $hex ro nocache \[^\r\n\]*.." { set see2 1 exp_continue } - -re "3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^3 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see3 1 exp_continue } - -re "4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*" { + -re "^4 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see4 1 exp_continue } - -re "5 y \[ \t\]+$hex $hex rw nocache .\[^\r\n\]*" { + -re "^5 y \[ \t\]+$hex $hex rw nocache \[^\r\n\]*.." { set see5 1 exp_continue }