From patchwork Thu Dec 5 07:35:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 102460 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5A7C63858D35 for ; Thu, 5 Dec 2024 07:36:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5A7C63858D35 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=RtAkkFRx; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=7gij0OdY; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=RtAkkFRx; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=7gij0OdY X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 26CBC3858D20 for ; Thu, 5 Dec 2024 07:33:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 26CBC3858D20 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 26CBC3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733384033; cv=none; b=LVky7VJCZk+9Fqhc8nCHwWvlHljAU8rkO1kLzHDWDtYAqCfp1HL9WfpS29ZRm8qeFbkTW6tn/pV5JicuRv9F7A0KUAQ/5JhExvqxGfhX7e00JVOGqkMcFys69PWik+3SETf283b0crbt0dbCL6InZOawkPsot1tFSKjVwkFqGh4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733384033; c=relaxed/simple; bh=4qwhhTvzPG2XdvfLPGaPccOWhlaBW3Ohkl9lf98e0mo=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-Id:MIME-Version; b=fBtcJ58C7EP04n5nVaiqhtPuhw1NPyv1bPeVGCfwZNwbyxUurTqix/b1ngvd4xlsQNo5zhwjWc/KlSuKwuUJ6a/n+uNJZFXQjE489YrNgRIXPatVrdDAX4WxAp9RISRmS8M6d5pZmUAtpdDKkX9AoVD5VgTvrj0ITkf4+Fgf+aE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 26CBC3858D20 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104: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 2848D211A3 for ; Thu, 5 Dec 2024 07:33:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZXWoSX6Rfz9aPDL0mBDardTz9OtXhk0tLLCTOFq2Vgc=; b=RtAkkFRxvaOWArjX9Eb4I9aYLy3SbDv0G3inBXih/YqAptsHGIii2Krs0X+F9lbrHiNpOt E1sP9/ptKLYmhQcygznJYn1pz4TgotRG9nTqwNhlA6cy1ADrHa+U8b8bTQVly/TeSRuLY+ 7Kzm/4HteEMtl7N97I2SN8NAJ1H577g= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZXWoSX6Rfz9aPDL0mBDardTz9OtXhk0tLLCTOFq2Vgc=; b=7gij0OdY/poYBGJtxB4HQM19b64GMmqwBINbsdIvNIQSwR9zS2R/X5s4e3pXfSqjjhJzAs gqGU6c0Y5w+9NwAQ== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=RtAkkFRx; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=7gij0OdY DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZXWoSX6Rfz9aPDL0mBDardTz9OtXhk0tLLCTOFq2Vgc=; b=RtAkkFRxvaOWArjX9Eb4I9aYLy3SbDv0G3inBXih/YqAptsHGIii2Krs0X+F9lbrHiNpOt E1sP9/ptKLYmhQcygznJYn1pz4TgotRG9nTqwNhlA6cy1ADrHa+U8b8bTQVly/TeSRuLY+ 7Kzm/4HteEMtl7N97I2SN8NAJ1H577g= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZXWoSX6Rfz9aPDL0mBDardTz9OtXhk0tLLCTOFq2Vgc=; b=7gij0OdY/poYBGJtxB4HQM19b64GMmqwBINbsdIvNIQSwR9zS2R/X5s4e3pXfSqjjhJzAs gqGU6c0Y5w+9NwAQ== 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 0EC5A13A5A for ; Thu, 5 Dec 2024 07:33:52 +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 ONAxAmBXUWcNXwAAD6G6ig (envelope-from ) for ; Thu, 05 Dec 2024 07:33:52 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 1/2] [gdb/testsuite] Fix gdb.dap/scopes.exp on s390x Date: Thu, 5 Dec 2024 08:35:10 +0100 Message-Id: <20241205073511.4236-2-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20241205073511.4236-1-tdevries@suse.de> References: <20241205073511.4236-1-tdevries@suse.de> MIME-Version: 1.0 X-Rspamd-Queue-Id: 2848D211A3 X-Spam-Score: -3.01 X-Rspamd-Action: no action X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; ARC_NA(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_TLS_ALL(0.00)[]; DKIM_TRACE(0.00)[suse.de:+]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_NONE(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; FROM_HAS_DN(0.00)[] X-Rspamd-Server: rspamd1.dmz-prg2.suse.org X-Spam-Level: X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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~patchwork=sourceware.org@sourceware.org On s390x-linux, I run into: ... >>> {"seq": 12, "type": "request", "command": "setExpression", "arguments": {"expression": "$pswm", "value": "505810539591499783", "frameId": 0}} Content-Length: 154^M ^M {"request_seq": 12, "type": "response", "command": "setExpression", "success": false, "message": "Couldn't write registers: Invalid argument.", "seq": 25}FAIL: gdb.dap/scopes.exp: set first register success ... This is not specific to DAP support, we get the same on the command-line: ... $ gdb -q -batch a.out -ex start -ex 'set var $pswm = 0' ... Couldn't write registers: Invalid argument. ... Fix this by declaring the test unsupported. Tested on s390x-linux. --- gdb/testsuite/gdb.dap/scopes.exp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/gdb/testsuite/gdb.dap/scopes.exp b/gdb/testsuite/gdb.dap/scopes.exp index aa3bb688c0e..4f1038ea597 100644 --- a/gdb/testsuite/gdb.dap/scopes.exp +++ b/gdb/testsuite/gdb.dap/scopes.exp @@ -143,11 +143,22 @@ set val [expr {$val ^ 7}] # setVariable isn't implemented yet, so use the register name. Note # that we sneak the "$" into the name, written in a slightly funny way # to work around apparent TON limitations. -set response [dap_check_request_and_response "set first register" \ - setExpression \ - [format {o expression [s \$%s] value [s %d] frameId [i %d]} \ - $name $val $frame_id]] -set response [lindex $response 0] +set test "set first register" +set response_and_events \ + [dap_request_and_response \ + setExpression \ + [format {o expression [s \$%s] value [s %d] frameId [i %d]} \ + $name $val $frame_id]] +set response [lindex $response_and_events 0] + +# On s390x, the first register is pswm, which can't be written. +set unsupported_message "Couldn't write registers: Invalid argument." +if { [dict get $response success] == "false" + && [dict get $response message] == $unsupported_message } { + unsupported $test + return +} +gdb_assert { [dict get $response success] == "true" } $test gdb_assert {[dict get $response body value] == $val} \ "setting register yields updated value" From patchwork Thu Dec 5 07:35:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 102462 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 429DD3858C50 for ; Thu, 5 Dec 2024 07:37:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 429DD3858C50 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=FgfCE8zh; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=3rqpRqO5; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=FgfCE8zh; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=3rqpRqO5 X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 30FE13858D21 for ; Thu, 5 Dec 2024 07:33:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 30FE13858D21 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 30FE13858D21 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733384033; cv=none; b=feBzLAbt8Km7cDH3qDamDH4IVPFZlgD0+OIFlVc571KENZbsOEIq9CvdSCWjRw00dCMrx53//MqVIv0E6xN9zM32IZTbVw/0Kz/rnQpPdZTCu2wrHTuma8kcorTmyLfnA9ov+fLroRerzdWuW7DrBJTi4Y2Bx207CmiUOpTY1ts= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1733384033; c=relaxed/simple; bh=H3FTtDGCyEiiOx38TjEOiYk1MbbwtEN9Qv1cceD4f7g=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-Id:MIME-Version; b=LZGKNIAjzSurc0HlW17M9qXnSeBITzzBN8t2XPcZQxbGdi+Y8xur56YSjgcN0JmekxqvYu2TBvLISWNBK0xd7AkjZQbA2n2Bj3WpFU2VGVSy8iKHDjUKuyi4O79uRjp+mpC3bZT7IEmMb2P/9RD0oe5X9prtzYAu7BPR1Pbhz9E= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30FE13858D21 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104: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 46F0F211D6 for ; Thu, 5 Dec 2024 07:33:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Iis1ImTT5PbJdVZgQoriolaEHexhNBbln2TuNDfWfbw=; b=FgfCE8zheG5V9m59vCx6cz1Cuvrixpz68nldyI5AuBQwp8uH7tlkPirA+YFskTVBq3BmZQ ClfPZRz9Va87EUtKoVtlkHINyhbm2l5em9WzOJLxeMlfSbgyf+Vnu7xDnGgf1jx7F2vBQ4 Te2hhveanJJ/8HLD0Vr2tv9xB5+DHqc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Iis1ImTT5PbJdVZgQoriolaEHexhNBbln2TuNDfWfbw=; b=3rqpRqO5PU2pKuCPhrDyNGtbytTjapQ97o7yxn4NwwgGlp34ZcvS8azgYK8JIo2Un94aSZ 7Xv+pXxkEnWBk/CQ== Authentication-Results: smtp-out1.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=FgfCE8zh; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=3rqpRqO5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Iis1ImTT5PbJdVZgQoriolaEHexhNBbln2TuNDfWfbw=; b=FgfCE8zheG5V9m59vCx6cz1Cuvrixpz68nldyI5AuBQwp8uH7tlkPirA+YFskTVBq3BmZQ ClfPZRz9Va87EUtKoVtlkHINyhbm2l5em9WzOJLxeMlfSbgyf+Vnu7xDnGgf1jx7F2vBQ4 Te2hhveanJJ/8HLD0Vr2tv9xB5+DHqc= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1733384032; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Iis1ImTT5PbJdVZgQoriolaEHexhNBbln2TuNDfWfbw=; b=3rqpRqO5PU2pKuCPhrDyNGtbytTjapQ97o7yxn4NwwgGlp34ZcvS8azgYK8JIo2Un94aSZ 7Xv+pXxkEnWBk/CQ== 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 2BC9A13A79 for ; Thu, 5 Dec 2024 07:33:52 +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 qJZTCWBXUWcNXwAAD6G6ig (envelope-from ) for ; Thu, 05 Dec 2024 07:33:52 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 2/2] [gdb/testsuite] Fix gdb.dap/step-out.exp on s390x Date: Thu, 5 Dec 2024 08:35:11 +0100 Message-Id: <20241205073511.4236-3-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20241205073511.4236-1-tdevries@suse.de> References: <20241205073511.4236-1-tdevries@suse.de> MIME-Version: 1.0 X-Rspamd-Queue-Id: 46F0F211D6 X-Spam-Level: X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[99.99%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-1.000]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_COUNT_TWO(0.00)[2]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; MIME_TRACE(0.00)[0:+]; DKIM_TRACE(0.00)[suse.de:+] X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Action: no action X-Spam-Score: -3.01 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org 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~patchwork=sourceware.org@sourceware.org With test-case gdb.dap/step-out.exp on s390x-linux, I get: ... >>> {"seq": 7, "type": "request", "command": "scopes", "arguments": {"frameId": 0}} Content-Length: 569^M ^M {"request_seq": 7, "type": "response", "command": "scopes", "body": {"scopes": [{"variablesReference": 1, "name": "Locals", "presentationHint": "locals", "expensive": false, "namedVariables": 1, "line": 35, "source": {"name": "step-out.c", "path": "/home/vries/gdb/src/gdb/testsuite/gdb.dap/step-out.c"}}, {"variablesReference": 2, "name": "Registers", "presentationHint": "registers", "expensive": false, "namedVariables": 114, "line": 35, "source": {"name": "step-out.c", "path": "/home/vries/gdb/src/gdb/testsuite/gdb.dap/step-out.c"}}]}, "success": true, "seq": 21}PASS: gdb.dap/step-out.exp: get scopes success FAIL: gdb.dap/step-out.exp: three scopes ... The problem is that the test-case expects three scopes: ... lassign $scopes scope reg_scope return_scope ... but the return_scope is missing because this doesn't work: ... $ gdb -q -batch outputs/gdb.dap/step-out/step-out \ -ex "b function_breakpoint_here" \ -ex run \ -ex finish ... Value returned has type: struct result. Cannot determine contents ... This is likely caused by a problem in gdb, but there's nothing wrong the DAP support. Fix this by: - allowing two scopes, and - declaring the tests of return_scope unsupported. Tested on s390x-linux. --- gdb/testsuite/gdb.dap/step-out.exp | 52 +++++++++++++++++------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/gdb/testsuite/gdb.dap/step-out.exp b/gdb/testsuite/gdb.dap/step-out.exp index 193264fa250..40b21d64fc7 100644 --- a/gdb/testsuite/gdb.dap/step-out.exp +++ b/gdb/testsuite/gdb.dap/step-out.exp @@ -59,31 +59,37 @@ set scopes [dap_check_request_and_response "get scopes" scopes \ [format {o frameId [i %d]} $frame_id]] set scopes [dict get [lindex $scopes 0] body scopes] -gdb_assert {[llength $scopes] == 3} "three scopes" +gdb_assert {[llength $scopes] == 2 || [llength $scopes] == 3} "two or three scopes" lassign $scopes scope reg_scope return_scope -gdb_assert {[dict get $scope name] == "Locals"} "scope is locals" -gdb_assert {[dict get $scope presentationHint] == "locals"} \ - "locals presentation hint" -gdb_assert {[dict get $scope namedVariables] == 1} "one var in scope" - -gdb_assert {[dict get $return_scope name] == "Return"} "scope is return" -gdb_assert {[dict get $return_scope presentationHint] == "returnValue"} \ - "returnValue presentation hint" -gdb_assert {[dict get $return_scope namedVariables] == 1} \ - "one var in return scope" - -set num [dict get $return_scope variablesReference] -set refs [lindex [dap_check_request_and_response "fetch arguments" \ - "variables" \ - [format {o variablesReference [i %d]} $num]] \ - 0] -set varlist [lindex [dict get $refs body variables] 0] - -gdb_assert {[dict get $varlist variablesReference] > 0} \ - "variable has children" -gdb_assert {[dict get $varlist name] == "(return)"} \ - "variable is return value" + +set test "scope is locals" +if { $return_scope == "" } { + unsupported $test +} else { + gdb_assert {[dict get $scope name] == "Locals"} $test + gdb_assert {[dict get $scope presentationHint] == "locals"} \ + "locals presentation hint" + gdb_assert {[dict get $scope namedVariables] == 1} "one var in scope" + + gdb_assert {[dict get $return_scope name] == "Return"} "scope is return" + gdb_assert {[dict get $return_scope presentationHint] == "returnValue"} \ + "returnValue presentation hint" + gdb_assert {[dict get $return_scope namedVariables] == 1} \ + "one var in return scope" + + set num [dict get $return_scope variablesReference] + set refs [lindex [dap_check_request_and_response "fetch arguments" \ + "variables" \ + [format {o variablesReference [i %d]} $num]] \ + 0] + set varlist [lindex [dict get $refs body variables] 0] + + gdb_assert {[dict get $varlist variablesReference] > 0} \ + "variable has children" + gdb_assert {[dict get $varlist name] == "(return)"} \ + "variable is return value" +} set response_and_events [dap_request_and_response stepOut {o threadId [i 1]}] set response [lindex $response_and_events 0]