From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.133.114]) by sourceware.org (Postfix) with ESMTPS id 6950F385828E for ; Fri, 6 Oct 2023 15:11:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6950F385828E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2174.outbound.protection.outlook.com [104.47.59.174]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-626-LoBWi5pDM2GyAWbMcVTk7Q-1; Fri, 06 Oct 2023 11:11:18 -0400 X-MC-Unique: LoBWi5pDM2GyAWbMcVTk7Q-1 Received: from SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) by CO3PR17MB5775.namprd17.prod.outlook.com (2603:10b6:303:17b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.19; Fri, 6 Oct 2023 15:11:14 +0000 Received: from SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::30eb:4c4a:cb5a:dd91]) by SA0PR17MB4314.namprd17.prod.outlook.com ([fe80::30eb:4c4a:cb5a:dd91%4]) with mapi id 15.20.6838.029; Fri, 6 Oct 2023 15:11:14 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany Subject: [PATCH v3 0/2] gdb/python: implement support for sending custom MI async Date: Fri, 6 Oct 2023 16:11:04 +0100 Message-ID: <20231006151106.315633-1-jan.vrany@labware.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <87bkddtamc.fsf@redhat.com> References: <87bkddtamc.fsf@redhat.com> X-ClientProxiedBy: LO2P123CA0105.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:139::20) To SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA0PR17MB4314:EE_|CO3PR17MB5775:EE_ X-MS-Office365-Filtering-Correlation-Id: c63b7aad-ab21-4c53-2dd6-08dbc67e7b2e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: EcqiPgwLToiSTf7aEYe+yWRbcByYmY8j9KiFcKebVBf0qRhYQ4Cjws/jC0QtrbxuZXSkVHJT9cjRdAoBYSrhrw4XjF/g1ABYZIm9c9C6HeTLOFQkXaDHvcPflyiagV97sO0lREnJ9i0Gg6UYW4nXOS7jXPFpnjhJdJpmXjJQN4f6gysxtiLk9REJeLWTydUga/gu5HMujlhuMN+Ph2If4VdGFWndYegIyKBvcBas3OY5KaeVSIRYcPVPycQmo2erRd7JP1h6DeXkdDR2ByVEDfpW3Gqg5yafCTO8r+ARbN4yylOLl3HEHEGa8JQEXEeD0CyxcBTwSkyBB1dUEBsg1ern2IzYBzFztQwV53jJBJUKfbPcuWwPvyMXlWE9I8Iz9C5+vUrdhct7VG1mmIabL1VADV4qADe7KkI8mpwbigo+UuZ0wpO7eiAoOatA/0l5tptwDsEvBhJPUZioUq6gImzIUiCD7/sCcpkorSwUEezty8VUmLWKU4wjRG1iNKt4AFWlJfuOmISIKRMQxrIZmVoT0PpUdpS4fGiS+A/jbUnLUJzr/5L/eZZXYvDW2adb X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA0PR17MB4314.namprd17.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(39850400004)(396003)(376002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(478600001)(6506007)(6512007)(6666004)(6486002)(2616005)(107886003)(26005)(316002)(1076003)(8676002)(36756003)(4326008)(2906002)(6916009)(5660300002)(8936002)(44832011)(66556008)(66946007)(41300700001)(86362001)(66476007)(38100700002)(83380400001);DIR:OUT;SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gJbl843vkyiZlU9H7P55hWWEhmabeFXVXuFT6QjzuVBssPSZ8wrvmEXdN8o2?= =?us-ascii?Q?KK487jDSww7P0Ups9k1lyP44P6gnW68rYI3FwEHDlJO3m86I/RI9HpJSYXRC?= =?us-ascii?Q?xL89Okw428RBcodd57bDXkBklJrXXrhGoYGIk/0dIFKbkL3DiPNe/CzcZ5Ev?= =?us-ascii?Q?5AiR5sOoKQukhxe8+xOkmFW5PmK16Ck0HtvixoHyl0yul3ytAQZi6VBu6qXn?= =?us-ascii?Q?lwpc7cBf9QjcIXDsofHn8cOJ9rHGVXU13dRPl7JqIboPfbL55skg2MVgA5uo?= =?us-ascii?Q?l0CKKW4rORpkrF5oaoEJMZdi0RkZG3GEwWqDfJ2HiDeiG/4WD3A5Rmhe4qRH?= =?us-ascii?Q?CKAAM3El1SzjfQsBqi7+9sK54yKvNr6yuZ81nYrG9c1O9C+QvUtrnDv352EP?= =?us-ascii?Q?BASmJ71IQRztKfo7mogYs3OT2GYEU9kHLvbmWKflwxe73Syk/NDlT/FZzeIa?= =?us-ascii?Q?w4HPwKbjiaGvJ4gTybCUi/CVHBeTUk+QgfSxex9ru1A1LZKAySqvQ/LPlXk/?= =?us-ascii?Q?dpdzCI34xRsZRNtm892rkl3r2Oc9oObb8L4bppnXW/Y6O62g3szKUlOuEG3a?= =?us-ascii?Q?dOa2r6ebuSy5rV74ER7yf5ufZUWEajrVp0WM8XSNN9Q4iEhXCgHkEUoA05du?= =?us-ascii?Q?4uYZDp74InAhJ5yIG4VMLpYPwMaJOv0cdshjllY+2+OPbf/zGXkfFHrt7HyN?= =?us-ascii?Q?SR89USZoOnMymmfko7lrzUOTczQl0V1j0lBiqTY3Ceo9Qaj3ohtQmfQiqSAX?= =?us-ascii?Q?MNWgH4mfrU6SyAonqN7bWejMMxp1JJS9xzl7auhVB/7Ui2Z5WZBYOSdR0xMb?= =?us-ascii?Q?6u9gCaJRwX/foPPDgFUkhLG4gGY6SlrC0BtVE1cVpKy+BjNHoxBZ9zJcVFJ4?= =?us-ascii?Q?zjl4RD2UZ76msgIdvJayDKTlh/Q7rFORfs5DtOa9SqBLZgZQ+om3ATFAawa4?= =?us-ascii?Q?PbzL3QZGU8yIXXZEh4+HCVU/c4gPBd3X0OgaSyOcDkAg922qfVOnugB2LDPK?= =?us-ascii?Q?nJiTfO3ltzswXVo1UUcylqpf8V8zsEejgNO2D2U9GJ1aItxmIgMGSc38xa56?= =?us-ascii?Q?5fR4ZxujgdQfXlcNg4H24+ts3RH0Sz1oZ5fAJoeisgq9zOzMubjETeGUHiDX?= =?us-ascii?Q?EG1LYZ9+n49J2ARL3XPqLWSHFcKZ6zjSMHqdQ+/TwMqqwNIMv/qs7ZGCV0Yj?= =?us-ascii?Q?vBgyZKrTP9p/RCHlzncEXtD7PByzqLfLH7uAalF5rkuF+qlO90S/5DdWn0ag?= =?us-ascii?Q?BaZFVU9LXiFJvyORZce3oFq6g/p0mNBUbN1oZNvFsBvt20Vpbi25N097RBkX?= =?us-ascii?Q?0+z61Xi43NEAwW+iu9iMU85n1SURon8oKCVnPj4QtPof/LiX1HQIB0AXe4iL?= =?us-ascii?Q?0dMm2OhhWUdQsgPgWARob0SirJhVYeCR40SH50MiMoTQUnSBz3sZWsF6jEk7?= =?us-ascii?Q?ObKuKTz1fYbN0KI7/Jjfbrx9eqxPOZoWfrLkj6B0RmhsWt4OK5aNGf/UW5oS?= =?us-ascii?Q?COLRQXlzj1uXBoNz77a9jeQ532LuvDGobBHd+Gdg4fMEFt4sHTpzuNdiLr0z?= =?us-ascii?Q?wcSTv9FvcY2CbIFqEWCVjDnzFnfTiN3FjxELCO1q?= X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: c63b7aad-ab21-4c53-2dd6-08dbc67e7b2e X-MS-Exchange-CrossTenant-AuthSource: SA0PR17MB4314.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Oct 2023 15:11:13.9869 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: F4gNCDLc0IRRXtG0C4wQpw34q5sus3FPjrc+j6E87s8awb7HNsr24nzxeNGgt8mtBGEuPDNrJ31eOXIoa5QzBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR17MB5775 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: labware.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=WINDOWS-1252 X-Spam-Status: No, score=-6.0 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,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 List-Id: I hope I addressed all comments raised by Andrew for V2 series Changes since V2: * Fixed formatting errors in patch 1 of this series * Fixed formatting errors in patch 2 of this series * Added report name of incorrect data type into error message as suggested. * Moved target_terminal::ours_for_output () right after the check if UI is an MI UI as suggested. * Fixed tests. Changes since V1: * Moved serialize_mi_result and helpers to py-mi.c as suggested. Also, renamed serialize_mi_result to serialize_mi_results instead of serialize_mi_data and do not rename serialize_mi_result_1. The reason for this is that GDB documentation, section GDB/MI Output Syntax, describes "result" being single 'variable = =3D value' pair and "result-record" and "async-output" contains zero or more of thes= e "result"s, so calling top-level serialization function serialize_mi_results seems a better name than serialize_mi_data (used in previous version). * Made gdb.notify_mi DATA parameter optional as suggested. * Validate gdb.notify_mi NAME parameter as suggested. * Updated documentation: * example formatted as black tool would do it, * rephrase some sentences as suggested, * document that DATA parameter is optional, * document restrictions on NAME parameter and * document that users should prefix user-defined notification with hyphen to avoid possible conflicts. Jan Vrany (2): gdb/python: generalize serialize_mi_result() gdb/python: implement support for sending custom MI async notifications gdb/NEWS | 3 + gdb/doc/python.texi | 45 +++++ gdb/python/py-mi.c | 233 ++++++++++++++++++++++ gdb/python/py-micmd.c | 185 +---------------- gdb/python/python-internal.h | 18 ++ gdb/python/python.c | 4 + gdb/testsuite/gdb.python/py-mi-notify.exp | 71 +++++++ 7 files changed, 383 insertions(+), 176 deletions(-) create mode 100644 gdb/testsuite/gdb.python/py-mi-notify.exp --=20 2.40.1