From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id xBpVESvvLWgp+CwAWB0awg (envelope-from ) for ; Wed, 21 May 2025 11:20:11 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cUVAs2Vj; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=uFxZkesm; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cUVAs2Vj; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=uFxZkesm; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 3A12C1E11C; Wed, 21 May 2025 11:20:11 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id E30801E102 for ; Wed, 21 May 2025 11:20:07 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 75EDD3857C58 for ; Wed, 21 May 2025 15:20:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 75EDD3857C58 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cUVAs2Vj; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=uFxZkesm; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=cUVAs2Vj; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=uFxZkesm Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2a07:de40:b251:101:10:150:64:1]) by sourceware.org (Postfix) with ESMTPS id ECF5F3858C56 for ; Wed, 21 May 2025 15:19:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ECF5F3858C56 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ECF5F3858C56 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1747840777; cv=none; b=BxhLhfyxjVZ0lRMtwtuoxKoQ26SzxkdpdXtQnu36ueldzJKBsP7eKtNfuiltoo3cNxRHG97xjtR79whB3wpMnidDCNxFbLYbOWNtk8x8F1E3gwwQucrauLdKSjomvD8ogFrV44zNPrgWmq5EQ50G+S2GSNBo5e7bqTDusDs8w7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1747840777; c=relaxed/simple; bh=rffsDJZujLrBZIo1jmcjnyx15GEYVszwYbbkMHN+uiE=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature: Message-ID:Date:MIME-Version:Subject:To:From; b=Czh74boFk/ePLdQsD9bGjyULQgPqSrt4+b8kC2Z7/7aej/kDiO5s8E2MzmZ82xfGkimjx+BMlwZTZpJHHx/bxrq2vT9kdiVYGGfQITh6VARrOfdXV4ZoVxI73c3hJD5iwFV1PHd6OjbRVeu67Xd/bbD+XTpI8JA6XW8eE5yHCNs= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ECF5F3858C56 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 843B9228C3; Wed, 21 May 2025 15:19:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1747840775; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hp2hYXN6QtZiEn1lgazq1y4XSkb5JWFRWqa+DMrwpTg=; b=cUVAs2Vjpj4dOuKFhqnDWGCB2X8nL+YHmsDnWx949JUzUiitPvUUZq+Jkgm0fHKK91IZsD 0S4F9uP5RbrSJGw/0q76kqFjENjRu7Nn3ncDE3l0xRa07Cu7WaLa4iO3eFzvMb1VhkZns5 pf+OdCs8MKjbUHw0LSG0BRP9PVv0+qk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1747840775; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hp2hYXN6QtZiEn1lgazq1y4XSkb5JWFRWqa+DMrwpTg=; b=uFxZkesmGiYU3Fm+B9TfHIQPCJ5xZWfIepY+VLjZ34pGGOtNTsqzN5082+mTnv1QdI5FDF cC2WmxemT8mxXmBg== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1747840775; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hp2hYXN6QtZiEn1lgazq1y4XSkb5JWFRWqa+DMrwpTg=; b=cUVAs2Vjpj4dOuKFhqnDWGCB2X8nL+YHmsDnWx949JUzUiitPvUUZq+Jkgm0fHKK91IZsD 0S4F9uP5RbrSJGw/0q76kqFjENjRu7Nn3ncDE3l0xRa07Cu7WaLa4iO3eFzvMb1VhkZns5 pf+OdCs8MKjbUHw0LSG0BRP9PVv0+qk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1747840775; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hp2hYXN6QtZiEn1lgazq1y4XSkb5JWFRWqa+DMrwpTg=; b=uFxZkesmGiYU3Fm+B9TfHIQPCJ5xZWfIepY+VLjZ34pGGOtNTsqzN5082+mTnv1QdI5FDF cC2WmxemT8mxXmBg== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6822E13888; Wed, 21 May 2025 15:19:35 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id yKzrFwfvLWg2IwAAD6G6ig (envelope-from ); Wed, 21 May 2025 15:19:35 +0000 Content-Type: multipart/mixed; boundary="------------HCGz02quVLw97NpolRCl3UQS" Message-ID: <9c94d111-a9a6-4c89-9e8e-4d5386f1562f@suse.de> Date: Wed, 21 May 2025 17:19:29 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 42/47] gdb_test_multiple: Anchor prompt match if -lbl To: Pedro Alves , gdb-patches@sourceware.org References: <20250519132308.3553663-1-pedro@palves.net> <20250519132308.3553663-43-pedro@palves.net> Content-Language: en-US From: Tom de Vries In-Reply-To: <20250519132308.3553663-43-pedro@palves.net> X-Spamd-Result: default: False [-3.20 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MIME_BASE64_TEXT_BOGUS(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-0.992]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-patch]; MIME_BASE64_TEXT(0.10)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FUZZY_BLOCKED(0.00)[rspamd.com]; ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; MIME_TRACE(0.00)[0:+,1:+,2:+]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; TO_DN_SOME(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; HAS_ATTACHMENT(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email, suse.de:mid, imap1.dmz-prg2.suse.org:helo] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org This is a multi-part message in MIME format. --------------HCGz02quVLw97NpolRCl3UQS Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/19/25 15:23, Pedro Alves wrote: > I wrote a test like this: > > gdb_test_multiple "command" "" -lbl { > -re "^\r\nprefix foo(?=\r\n)" { > exp_continue > } > -re "^\r\nprefix bar(?=\r\n)" { > exp_continue > } > -re "^\r\prefix (?=\r\n)" { Hi Pedro, Missing n in "\r\n". > exp_continue > } > -re "^\r\n$::gdb_prompt $" { > pass $gdb_test_name > } > } > > Anchors are needed in my case to avoid too-eager matching due to the > common prefix. I'm not saying you don't need anchors, maybe you do or maybe you don't, but I don't understand how a common prefix is a reason to need one. Also, if you need anchors, you need to match the command as well, so you need a -re "^command(?=\r\n)" clause. > The intent is for the prompt match above to override the built-in > prompt match. However, it doesn't and the test fails with output like > this: > > (gdb) command > prefix foo > prefix bar > meant-to-be-matched-by-lbl > (gdb) > > That's because the built-in match for the prompt matches before the > -lbl pattern for this expect buffer: > > \r\nmeant-to-be-matched-by-lbl\r\n(gdb) > You can fix that by dropping the anchor and using "\r\n$::gdb_prompt $" instead. Even more simple, use -wrap "". > This this by anchoring the built-in prompt match if -lbl was > requested. > This might be a good idea indeed. FWIW, the intent of -lbl was to handle except buffers overflows, so the -lbl pattern is meant to match lines in absence of a prompt. But AFAIU, your patch will make matching more predictable, so that's a good thing. I created a mockup test-case to emulate the case you describe above. I've left the anchoring in place for the prefix lines, but for the gdb output printed by gdb.sh, it doesn't look necessary. [ The test-case has hardcoded paths in it. ] Thanks, - Tom --------------HCGz02quVLw97NpolRCl3UQS Content-Type: text/x-patch; charset=UTF-8; name="0001-try.patch" Content-Disposition: attachment; filename="0001-try.patch" Content-Transfer-Encoding: base64 RnJvbSA5MTM2MzEyOGI1OTE4YTE2YTg0MjZjYTMxYjQzOTI3MDA0ZDE1MzVkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb20gZGUgVnJpZXMgPHRkZXZyaWVzQHN1c2UuZGU+ CkRhdGU6IFdlZCwgMjEgTWF5IDIwMjUgMTc6MTM6NTUgKzAyMDAKU3ViamVjdDogW1BBVENI XSB0cnkKCi0tLQogLi4uL2dkYi50ZXN0c3VpdGUvZ2RiLXRlc3QtbXVsdGlwbGUuZXhwICAg ICAgIHwgMjUgKysrKysrKysrKwogZ2RiL3Rlc3RzdWl0ZS9nZGIudGVzdHN1aXRlL2dkYi5z aCAgICAgICAgICAgIHwgNDcgKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2Vk LCA3MiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9n ZGIudGVzdHN1aXRlL2dkYi10ZXN0LW11bHRpcGxlLmV4cAogY3JlYXRlIG1vZGUgMTAwNzU1 IGdkYi90ZXN0c3VpdGUvZ2RiLnRlc3RzdWl0ZS9nZGIuc2gKCmRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi50ZXN0c3VpdGUvZ2RiLXRlc3QtbXVsdGlwbGUuZXhwIGIvZ2RiL3Rl c3RzdWl0ZS9nZGIudGVzdHN1aXRlL2dkYi10ZXN0LW11bHRpcGxlLmV4cApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWMwNjc0ZWYyMGYKLS0tIC9kZXYvbnVs bAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50ZXN0c3VpdGUvZ2RiLXRlc3QtbXVsdGlwbGUu ZXhwCkBAIC0wLDAgKzEsMjUgQEAKK3NldCBHREIgJHNyY2Rpci8kc3ViZGlyL2dkYi5zaAor Y2xlYW5fcmVzdGFydAorCitnZGJfdGVzdF9tdWx0aXBsZSAiY29tbWFuZCIgIiIgLWxibCB7 CisgICAgLXJlICJeY29tbWFuZCg/PVxyXG4pIiB7CisJdmVyYm9zZSAtbG9nIDxDT01NQU5E PgorCWV4cF9jb250aW51ZQorICAgIH0KKyAgICAtcmUgIl5cclxucHJlZml4IGZvbyg/PVxy XG4pIiB7CisJdmVyYm9zZSAtbG9nIDxQUkVGSVgtRk9PPgorCWV4cF9jb250aW51ZQorICAg IH0KKyAgICAtcmUgIl5cclxucHJlZml4IGJhcig/PVxyXG4pIiB7CisJdmVyYm9zZSAtbG9n IDxQUkVGSVgtQkFSPgorCWV4cF9jb250aW51ZQorICAgIH0KKyAgICAtcmUgIl5cclxucHJl Zml4ICg/PVxyXG4pIiB7CisJdmVyYm9zZSAtbG9nIDxQUkVGSVg+CisJZXhwX2NvbnRpbnVl CisgICAgfQorICAgIC1yZSAtd3JhcCAiIiB7CisJdmVyYm9zZSAtbG9nICI8UFJPTVBUPiIK KwlwYXNzICRnZGJfdGVzdF9uYW1lCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGVzdHN1aXRlL2dkYi5zaCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRlc3RzdWl0 ZS9nZGIuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAuLjljMzU4 ZjFhMjA0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGVzdHN1aXRl L2dkYi5zaApAQCAtMCwwICsxLDQ3IEBACisjIS9iaW4vc2gKKword2hpbGUgWyAkIyAtZ3Qg MCBdOyBkbworICAgIGNhc2UgJDEgaW4KKwktLXZlcnNpb24pCisJICAgIGVjaG8gImdkYi5z aCIKKwkgICAgZXhpdCAwCisJICAgIDs7CisJKikKKwkgICAgOzsKKyAgICBlc2FjCisKKyAg ICBzaGlmdAorZG9uZQorCit3aGlsZSB0cnVlOyBkbworICAgIGVjaG8gLW4gIihnZGIpICIK KyAgICByZWFkIGxpbmUKKworICAgIGlmIFsgIiRsaW5lIiA9ICJzZXQgaGVpZ2h0IDAiIF07 IHRoZW4KKwljb250aW51ZQorICAgIGZpCisKKyAgICBpZiBbICIkbGluZSIgPSAic2V0IHdp ZHRoIDAiIF07IHRoZW4KKwljb250aW51ZQorICAgIGZpCisKKyAgICBpZiBbICIkbGluZSIg PSAiZGlyIiBdOyB0aGVuCisJZWNobyAtbiAiUmVpbml0aWFsaXplIHNvdXJjZSBwYXRoIHRv IGVtcHR5PyAoeSBvciBuKSAiCisJcmVhZCByZXNwb25zZQorCWVjaG8gJ1NvdXJjZSBkaXJl Y3RvcmllcyBzZWFyY2hlZDogJGNkaXI6JGN3ZCcKKwljb250aW51ZQorICAgIGZpCisKKyAg ICBpZiBbICIkbGluZSIgPSAiZGlyIC9kYXRhL3ZyaWVzL2dkYi9zcmMvZ2RiL3Rlc3RzdWl0 ZS9nZGIudGVzdHN1aXRlIiBdOyB0aGVuCisJZWNobyAiU291cmNlIGRpcmVjdG9yaWVzIHNl YXJjaGVkOiAvZGF0YS92cmllcy9nZGIvc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLnRlc3RzdWl0 ZTokY2RpcjokY3dkIgorCWNvbnRpbnVlCisgICAgZmkKKworICAgIGlmIFsgIiRsaW5lIiA9 ICJjb21tYW5kIiBdOyB0aGVuCisJZWNobyAicHJlZml4IGZvbyIKKwllY2hvICJwcmVmaXgg YmFyIgorCWZvciBuIGluICQoc2VxIDEgMSk7IGRvCisJICAgIGVjaG8gIm1lYW50LXRvLWJl LW1hdGNoZWQtYnktbGJsLSRuIgorCWRvbmUKKyAgICBmaQorZG9uZQoKYmFzZS1jb21taXQ6 IDE0ZGQ5OGIwZjdmMDRkMjViYzdiYzYzZGUzYWI5NThiZGQ1MTY0MWQKLS0gCjIuNDMuMAoK --------------HCGz02quVLw97NpolRCl3UQS--