Message ID | 08f40746-3771-d36a-889c-a31069436062@ericsson.com |
---|---|
State | New, archived |
Headers |
Received: (qmail 21135 invoked by alias); 15 Nov 2017 16:09:52 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <gdb-patches.sourceware.org> List-Unsubscribe: <mailto:gdb-patches-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:gdb-patches-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/gdb-patches/> List-Post: <mailto:gdb-patches@sourceware.org> List-Help: <mailto:gdb-patches-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 21061 invoked by uid 89); 15 Nov 2017 16:09:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KB_WAM_FROM_NAME_SINGLEWORD, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: sesbmg23.ericsson.net Received: from sesbmg23.ericsson.net (HELO sesbmg23.ericsson.net) (193.180.251.37) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 15 Nov 2017 16:09:49 +0000 Received: from ESESSHC016.ericsson.se (Unknown_Domain [153.88.183.66]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id EC.C6.08439.AC66C0A5; Wed, 15 Nov 2017 17:09:46 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.66) with Microsoft SMTP Server (TLS) id 14.3.352.0; Wed, 15 Nov 2017 17:08:46 +0100 Received: from [100.94.50.4] (192.176.1.84) by DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.239.4; Wed, 15 Nov 2017 16:08:44 +0000 Subject: Re: [PATCH 6/6] Fix racy output matching in gdb.tui/tui-completion.exp To: Pedro Alves <palves@redhat.com>, <gdb-patches@sourceware.org> References: <1509039747-15026-1-git-send-email-palves@redhat.com> <1509039747-15026-7-git-send-email-palves@redhat.com> From: Simon Marchi <simon.marchi@ericsson.com> Message-ID: <08f40746-3771-d36a-889c-a31069436062@ericsson.com> Date: Wed, 15 Nov 2017 11:08:35 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <1509039747-15026-7-git-send-email-palves@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-ClientProxiedBy: HE1PR0102CA0030.eurprd01.prod.exchangelabs.com (2603:10a6:7:14::43) To DB4PR07MB315.eurprd07.prod.outlook.com (2a01:111:e400:982f::23) X-MS-Office365-Filtering-Correlation-Id: 33a8a695-cf05-4424-9076-08d52c4325b0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(2017052603258); SRVR:DB4PR07MB315; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 3:Ve71coODUPY6wK1cOWGngUfdtG6rDKu1qYi5sIUxkG/ftBM94OHi+lCt8A0wSWrGzU8iG4DkCfr0eIHT3E9OyqHFnileCK2E4us1IWWiRcSkCv1udftu7rx7Zx/TvBT8HZxig9vBIu48uG2SE6w50OpxL+HphDt7UdjZiLMQJOFY2sBX14tdZlSKavvzzkvmHL/PEUMytYjlKvw0rgqS4KHryoWtFWzaRxuwrTAlkAJW0Y8C+xzrHb6ST6nmUryu; 25:wQTJkPf/hZP/tE6PqFUYp9Q5LdDGSE/kpmDqgK4IbfdLEXEybjtS2KzokGYAchFsxZQvtfS2B+mgUaM1qMBruw8dzsdVFKGzTNFJgahAwpEAB+JkE7wVpIS96s1VtahnxZzwz+V0oN3x1v4fQqh+l7UyYz+Z+Dr6kQnirrQzTcsyXq+kIVTfXo+ELKOzDl4MKb28T7CGR1fV6is7qODRacFsxgTGoaqh5C74d9COTeYFec18EenTQH9IgzJV3Q/jf1Vz+qV6cPjhLJzVkl8MPPzOnLvgIDhxRWevV3VLj1libGz5Pt7cqPHwYkOjTwZGMSbeZ+j4VROrF52/pAeZUwAAJgQIyP/PDaLSoWim9FU=; 31:7ucS7v2O99L8jf/HltWlgPu4b4LrxKJQ6DGKPa3UWJG56KQjU5SpIWd0FMJl4RxZQeUqTxI2gH/oifeSnEeBc83T9nnyQAjj8UsAvSfUcDtekESc33oudZcRnfwKg3+cEdObrHt69SMiOLyHd08rNWkrEv6MuKSQFuUjN+I2aULryMKA/YooNDbGz7mQYk6K4fmmJ5yGMqcAAIeD1Q0IbomwwbVkGGq8TE5lCpaS22I= X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB4PR07MB315: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 20:bC+w04Hrsyq1tTLTM4uuLSZRLib29D8r3K1nNClnaL94BhIIDfYeYVKsvlrlwt3kLyhYeR4KtT5eNEV8Ti2xI0a8pec/9UJvbIcBdp1DZ+C5rqK6eSc9h9v8UIRn5cu9BjF/QjFiT9Fof97Jd5FOYYm9midFL8tSXZ1Id2AgX+zqPV7Sgj3/kRn1UV+S2XWTAO6NKI9KDm7rZGjaClUcDm+Gn5/u+uvp3Mzs2h60goMtkS6vf1DMwgPySDs4cCfIBiclPP6F5UsFkP8rJGOwPx2YgfJnMWK35rNogTdlI3/jtTXfomnIPLErl/scWTQ1wpcV8ZwsBpheDBkcIGqyO89zISxgb2Gub8xAM2DwAPOzjcEr/4lOPTVFOs8KpTk3sJyVRwRy8W05TEQcBsm4Yg/hJ/98Y1Nhfs6ehY86c6nrZDMsk9NEuby1b9NcUHkWiDnzEvuCuBCIXHEiHndbkuiuyzPQw1QHQqeL9/5WLuKFPzVnZBRy45FGlgYVLngq; 4:leL1aRLUUWG9++bbYrVp3BdyC5FTT3TjPCFPGs8fAr468t2U48bmnLzlNkhHVuB6W3uW2Y9A01TOIppNTMcQfRRCmzxPQTiYg2aq59eGkj88bAszB9TaVxZXgQvm19oE9xUOlhnOYUwQllvRNAC46X/FCk9kQTBz7Jsgsfo4b6GAEEfvPcdVuAVVTIYwlShKBVMwAG4AWj5aFYYR2YNba9MkDVLQdkULbG7kUAHahCZJREuZZOrvBCo/Pvnzs5vbgboOdtBACJPL9lg4TDm1JbQnZbpPjBrdqoetjLNPeLXgJw90cVFt1BnU/vJWCMa/ X-Microsoft-Antispam-PRVS: <DB4PR07MB315155E898820CDA3C5186CED290@DB4PR07MB315.eurprd07.prod.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(37575265505322); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3231022)(6041248)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DB4PR07MB315; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB4PR07MB315; X-Forefront-PRVS: 0492FD61DD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(39860400002)(376002)(346002)(199003)(54534003)(189002)(24454002)(377424004)(105586002)(65826007)(316002)(58126008)(31696002)(86362001)(16576012)(23676003)(83506002)(7736002)(6666003)(230700001)(2950100002)(31686004)(47776003)(106356001)(6116002)(97736004)(5660300001)(229853002)(3846002)(50986999)(49976008)(6486002)(65806001)(65956001)(81156014)(53936002)(478600001)(4001150100001)(6246003)(54356999)(16526018)(64126003)(36756003)(33646002)(76176999)(305945005)(68736007)(66066001)(25786009)(189998001)(8676002)(101416001)(2906002)(8936002)(81166006)(53546010)(50466002)(78286006); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB315; H:[100.94.50.4]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjRQUjA3TUIzMTU7MjM6YUF0SW5yZkhNbkRLYUtwZWM3VXA1dFNraGVl?= =?utf-8?B?NVZYSDk0UkErdXNQem9uU0JSZVBkL0dLeGtiUHFtN2pZZ0FBQ1pGbmd1SjNp?= =?utf-8?B?VzJBbW9remlNSXVUcTk2MXdnSk1wUElGeFVLMTlMSUV3UG9MczZxTG9Vckxk?= =?utf-8?B?SlhyOFFBb3Z3Y0FqVTh4UnRSdk9FVE9UdFh2TFdBYllyMUdRUTZMRGJHK0pJ?= =?utf-8?B?K3oyZTRlVkh3KzlrRmdHUnlqYitlZEhUK3hqTXpNNWVpcGsydHB5emVMN0NG?= =?utf-8?B?Slh1dGI4N2NqMERFSXEzU2FHTVhEYU44MlcxUWF1cVQvYnlCV2Z4MHRReVIw?= =?utf-8?B?a3pXdDcyekk3b0lxWWcza0VBNnVySjR2WWZWT1hSNFRtT3hVNWFnUGtXb2Jt?= =?utf-8?B?YXJmZnkzL29SWHFzZXBxd0dGUEFheExDT1UvN2wzeWhIN1p3SHhodSsveVds?= =?utf-8?B?eHhyV0hJRkp3eVYrZmV3ekJ0UFRRbVZyaWhpamNsMlJTNUJlZFcvaDRxVUpT?= =?utf-8?B?RDRPMlgyNlFzbWl6SG9iY3E0SlpLeFY2c1R6RXJLU1NObmgyYm8yZkswQ0tk?= =?utf-8?B?T0J6bTI3T3hCa1ZSMGFZSVVqR0ZaNHNwVUVyeVhKVko2MjVkT1Y1UmNPUVFu?= =?utf-8?B?d2pRdDljOE9UU3JMNzNuUGZUVnhyb0N2UktWYUlub2ZVdGc0V3ZTZlNaMCtz?= =?utf-8?B?WllMWlQ4RXl6ejgvQmZVK21NblppTFFsai82Y0pIM3Z2WUJkQ09xWHFVQUR4?= =?utf-8?B?dWFBSGwvL3R0Qyt5dllPYy9pdzQ3SUpVQis5VVBFZmRnUlZIc2o4c3dGQkZ6?= =?utf-8?B?Zm1GMmRaQ3Z5M1E3UVBQSEtHeWpBa3FHSXJVZXhRaHhGL3V0eWU3WDlqOHl1?= =?utf-8?B?clNFdXR6MkZqYkNIUmFjTWZMY1dYV2oxcHkrNS84Qzdhbm50YzNOK1hIUHha?= =?utf-8?B?ZEJyY1psVHMwOEt5QWJnME1LRVg4OXV0UWFEbG1MakRzcHZSamVtamdFbUNz?= =?utf-8?B?ZlUzM0lhQkN1K3dCb2Q2bFlGQmcrMG5xVjRRREYwRVpzL0RJdFZmcnRXTmEz?= =?utf-8?B?bFZMQUV4ZWY0OHFYSWxhWFUrTkp6Qm1mVUVkQ0QrcGhBdlIzeFRQYXRyQkwy?= =?utf-8?B?c2ovTGRrckQ1MWkvR3dUbXhscTJKYkNldFcvYkI2OEhFRU1zdXdsbDFVbHNH?= =?utf-8?B?RndaTkt3ODg4OUFIQXphMkQvcGF6NUJsVEN4QXVyTjBMY1FwVmt0U0dURE9w?= =?utf-8?B?Q0R0Q1dHaGdrcDI5a3IrRXZ5akpRQlFMb2dhUytVWUNTL3lxeTY5NmFDclM2?= =?utf-8?B?U045d2o5aUxoMTlqdWlobGpESVZHWkpzb1BTS0JNZHhZVXdlekR5VGdJMG5t?= =?utf-8?B?eEVYa0ZTU0JFbWk2NVA1UXc2Vis1OHIzSWVLNTZYSEJrYlV3SEwrNXMxSUVT?= =?utf-8?B?TVcyalhqdHZIUEVGaWs1djVGSnBzVVR3eWZqV0RvZ0Z6MHVHSE45Y0RNaHd6?= =?utf-8?B?OWhIUFJYV0lJbDEvRkNuU29VNWVMejY1cFpkVzBNRVExeTZ5OUR1ZW5zNDZM?= =?utf-8?B?RTltUUhaUC81b3cybEprUGZWK1BYbmNoQ1ZUVVVoV3RIVVFFTTJJR3pzY2Ra?= =?utf-8?B?WUZNN3BmK3RGVjhpZW80dWEwNUI1ZXFXaS9sM0tPdTYrdWM4L21IOTdDcHJk?= =?utf-8?B?UTB1bHNLRzkvcWtON3V5SnVNUHlGOWlQb00rQS9GVDBtVitOMXV2cWRRby9q?= =?utf-8?B?dnVFL0xXK2ZyTlMyeG1WdEhDVFlrL0lyOWNUT3pMWjdQYW50eTAwV0J4Q01K?= =?utf-8?B?aG94N1BmNU9hanYwdEdDUEMxT2E1dWlUaUE1aGQ0MEQ5ZjkxeG1XT25iRGRn?= =?utf-8?Q?hlLR3CLDbR0E5/GwG58xnPnZp2Fa4+G?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR07MB315; 6:I3b1bIRsgWrtdXFB6PQL6gOiJBHvQOhovhVTOQGZBJ2d+T4oQPSoHKN8uhVWPY2oj5H8JI6IRsgA1A1qg98f1skROBmla90Q76YHz2Ju+5368qS6/K4p7ZO6mWo9xaXBsC/wf/o2qTHTAHL2RxHWflU5eadtgfH9ybFjpsnKT+TzUENKQub8QXabBiFvTWyDHqDJ6Lnnt/UcyUJhhc3ZQc6W/pbvYplcsJsDoDhl25gVp5kTTHkCuZgcgt9ucf7lxN48RYy5HbCEpYoWWk1n3OzSz0O1hkOeb8XaikoS2ZNVG+Dt9j0jG/fkSSigL5WSAgnTxrU0Is/356Nw1K3GKYJs3d0ofLffA6MX6xBBeB4=; 5:NUrNTjmU81w2XsJ8VYSyad1pzsV/jJ4Yey3T+GkdkvraYHTCPPdtxlPPlsY+Uy71daAZ3kPgbUAH8CkvWpyoFiwPxnImQ3S7dDbmCYn7bZa6iMVGlGSvsqpCZdZKNlbCcw+FW33q3sVp3gbXV4NWIhwTF+RzUUZdsy+5fs/yrqA=; 24:KoFibFf5g5I3kc25DfrphKux22vQsdf/tpQK7HnBTxNM9y28vrfiX/bpKpyjiHqbeiuvOc4G123FEUr3PhPgJaoAle3TBsZYoeTrgXIInaE=; 7:N+350srlMo12eYp4+jLGLdRVZyMvlzr0O+8upWut+phTvOSf+rc2IumeN3iEho692eHxianAp40RabbE78XI18VuGkCZDRFpzE0Q92yyyzu6G2htdnwmJtNh/Ty0YHCZutwgusQQYWakJQnPWpPykWrbzyILbaDi/f7i7V2V+l7HuST55Z/uBFXwFOE8NyzKVxmSD6UMcUV44f0I8W/KIPbhpcDUpNh1cb55KXJ7FYRg7PfLJptXWlZ6Ol5bhTI9 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2017 16:08:44.0802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33a8a695-cf05-4424-9076-08d52c4325b0 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB315 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes |
Commit Message
Simon Marchi
Nov. 15, 2017, 4:08 p.m. UTC
On 2017-10-26 01:42 PM, Pedro Alves wrote: > 'make check-read1 TESTS="gdb.tui/tui-completion.exp"' exposes this test race: > > (gdb) PASS: gdb.tui/completion.exp: set max-completions unlimited > layout ^G > asm next prev regs split src > (gdb) FAIL: gdb.tui/completion.exp: completion of layout names: tab completion > Quit > (gdb) PASS: gdb.tui/completion.exp: completion of layout names: quit command input > focus ^G > cmd next prev src > (gdb) FAIL: gdb.tui/completion.exp: completion of focus command: tab completion > Quit > > This is caused by expecting "$gdb_prompt layout $". > gdb_test_multiple's internal prompt regexp can match first if expect's > internal buffer is filled with partial output. Fix that by splitting > the gdb_test_multiple in question in two. Since the same problem/code > appears twice in the file, factor out a common procedure. > > gdb/testsuite/ChangeLog: > yyyy-mm-dd Pedro Alves <palves@redhat.com> > > * gdb.tui/tui-completion.exp (test_tab_completion): New procedure, > factored out from ... > (top level): ... here, and adjusted to avoid expecting beyond the > prompt in a single gdb_test_multiple. > --- > gdb/testsuite/gdb.tui/completion.exp | 36 +++++++++++++++++------------------- > 1 file changed, 17 insertions(+), 19 deletions(-) > > diff --git a/gdb/testsuite/gdb.tui/completion.exp b/gdb/testsuite/gdb.tui/completion.exp > index ac5d5f2..f53a244 100644 > --- a/gdb/testsuite/gdb.tui/completion.exp > +++ b/gdb/testsuite/gdb.tui/completion.exp > @@ -22,12 +22,20 @@ if {[skip_tui_tests] || [target_info exists gdb,nointerrupts]} { > > gdb_test_no_output "set max-completions unlimited" > > -with_test_prefix "completion of layout names" { > +# TAB-complete INPUT_LINE, and expect EXPECTED_RE as completion match > +# output. > +proc test_tab_completion {input_line expected_re} { > + global gdb_prompt > + > set test "tab completion" > - send_gdb "layout\t\t\t" > + send_gdb "$input_line\t\t\t" > gdb_test_multiple "" "$test" { > - -re "asm *next *prev *regs *split *src *\r\n$gdb_prompt layout $" { > - pass "$test" > + -re "$expected_re\r\n$gdb_prompt " { > + gdb_test_multiple "" "$test" { > + -re "^$input_line$" { > + pass "$test" > + } > + } > } > } > send_gdb "\003" > @@ -39,20 +47,10 @@ with_test_prefix "completion of layout names" { > } > } > > -with_test_prefix "completion of focus command" { > - set test "tab completion" > - send_gdb "focus \t\t" > - gdb_test_multiple "" "$test" { > - -re "cmd *next *prev *src *\r\n$gdb_prompt focus $" { > - pass "$test" > - } > - } > +with_test_prefix "completion of layout names" { > + test_tab_completion "layout" "asm *next *prev *regs *split *src *" > +} > > - send_gdb "\003" > - set test "quit command input" > - gdb_test_multiple "" "$test" { > - -re "$gdb_prompt $" { > - pass "$test" > - } > - } > +with_test_prefix "completion of focus command" { > + test_tab_completion "focus" "cmd *next *prev *src *" > } > Hi Pedro, I am seeing a failure in this test (gdb.tui/completion.exp), I pushed this patch to fix it. commit 71774bc994e3f2a09c3b1988dbf2e99b86f53e2e Author: Simon Marchi <simon.marchi@ericsson.com> Date: Wed Nov 15 11:07:02 2017 -0500 Fix gdb.tui/completion.exp test When I run it locally, the test gdb.tui/completion.exp test fails because of a timeout: Running /home/emaisin/src/binutils-gdb/gdb/testsuite/gdb.tui/completion.exp ... FAIL: gdb.tui/completion.exp: completion of layout names: tab completion (timeout) The problem seems to be this regex, which confirms that after doing layout<TAB>, "layout" is printed again after the gdb prompt: -re "^$input_line$" The problem is that there's a trailing space in the output after "layout". Since the regex has an anchored end (the $), it doesn't match. Adding a space fixes the test. gdb/testsuite/ChangeLog: * gdb.tui/completionn.exp (test_tab_completion): Add space in regex.
Comments
On 11/15/2017 04:08 PM, Simon Marchi wrote: > Hi Pedro, > > I am seeing a failure in this test (gdb.tui/completion.exp), I pushed > this patch to fix it. > Thanks. Guess I only tested with "make check-read1", which masks this problem, because the regex matches as soon at the 't' in "layout" is consumed. Kind of ironic. :-P Sorry about that. Thanks, Pedro Alves
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8c57179..bb8dd79 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2017-11-15 Simon Marchi <simon.marchi@ericsson.com> + + * gdb.tui/completionn.exp (test_tab_completion): Add space in + regex. + 2017-11-13 Simon Marchi <simon.marchi@polymtl.ca> * gdb.opt/inline-locals.exp: Remove trailing parentheses from diff --git a/gdb/testsuite/gdb.tui/completion.exp b/gdb/testsuite/gdb.tui/completion.exp index f53a244..426b6bf 100644 --- a/gdb/testsuite/gdb.tui/completion.exp +++ b/gdb/testsuite/gdb.tui/completion.exp @@ -32,7 +32,7 @@ proc test_tab_completion {input_line expected_re} { gdb_test_multiple "" "$test" { -re "$expected_re\r\n$gdb_prompt " { gdb_test_multiple "" "$test" { - -re "^$input_line$" { + -re "^$input_line $" { pass "$test" } }