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.129.114]) by sourceware.org (Postfix) with ESMTPS id EF7CC3857803 for ; Wed, 13 Sep 2023 14:39:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EF7CC3857803 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 NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2168.outbound.protection.outlook.com [104.47.58.168]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-125-lPmNw5DwNVCX26miEBBRnA-1; Wed, 13 Sep 2023 10:39:26 -0400 X-MC-Unique: lPmNw5DwNVCX26miEBBRnA-1 Received: from SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) by DS7PR17MB6635.namprd17.prod.outlook.com (2603:10b6:8:e1::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.31; Wed, 13 Sep 2023 14:39:23 +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.6768.036; Wed, 13 Sep 2023 14:39:21 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany Subject: [PATCH v2 0/2] gdb/python: implement support for sending custom MI async notifications Date: Wed, 13 Sep 2023 15:38:41 +0100 Message-ID: <20230913143843.185997-1-jan.vrany@labware.com> X-Mailer: git-send-email 2.40.1 X-ClientProxiedBy: LO4P265CA0274.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:37a::6) To SA0PR17MB4314.namprd17.prod.outlook.com (2603:10b6:806:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA0PR17MB4314:EE_|DS7PR17MB6635:EE_ X-MS-Office365-Filtering-Correlation-Id: da7a74b2-4b6b-46a8-3755-08dbb46737de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: jULagKv967bDpS5rhu/BCDLtrSO5fiToJRHo1NHz3XW5500WPc0c9+JJXxkCaW+zzz0G1yAmdeffARjmOw/yiMU8HgAx+z9ION4ndz7BUHurF1hDZeSXgpi6x9V8x4UJvzgvXb0ygmlmMAk3baLdlhoSMpvpGXrOIfLz/GMPapY0beHRynHvPZH307XLROYi/Ue/QWLYHN8HabCPdUm+7P0RlO1B3IVvwyiLrclzA1P6VTO73zScYElpO5rjo4fbSUZOPUN34EtDNN2Xfb7E5swqk1lflSuu4rqI/b98GKZcxK9Ujv4+6T0tGMWTnRe1rsghhmsi+UmshCAB3vCrpol/Lt21kxumEeF9jv3Q4W4CuyS6diCC7rVPIcl1mBETGcTbZULJ1n2BJDshEvYWrzRr2wPLG3koPo3OPxcq4M9KCs/5FeSiL2DgeUwQUEDH5rCtR/RCcaSxgKILOEMBQbgnoB/94X0tAKs62VtJuPvyJl/Na4AYFgyftBu361IhSzrWFbk2HQ0xcyzaOShEmKfb1g6QQ0XAB7fWzmZg/VLWRWJeQgAf1OfjsiWO63RO 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)(39850400004)(346002)(366004)(396003)(136003)(376002)(186009)(1800799009)(451199024)(6486002)(6506007)(6512007)(6666004)(83380400001)(86362001)(36756003)(38100700002)(2616005)(316002)(107886003)(1076003)(26005)(44832011)(66556008)(15650500001)(41300700001)(66946007)(6916009)(66476007)(2906002)(8676002)(8936002)(4326008)(5660300002)(478600001);DIR:OUT;SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2W+AmOWIEaGgoKknxRYEyVmu/xy7gkhaASMuB/DjzTgac5py9/A36ojQE8GG?= =?us-ascii?Q?zenJguw//6wGOqADkmIbk6wxudPXcKv/odfN4luYVSyl3rTd7TCWSLrQQXac?= =?us-ascii?Q?YP2LNVUkF1pgRgrfL0ozcxyDLMUSPOLHVENZMntTGh/kcafGPQGgOyBbXk7Z?= =?us-ascii?Q?e8rJN2de5qruVmPBAijZyLyLMMug0Kh+DBZMa+t5WJDc9sPVpivijzAeAe6a?= =?us-ascii?Q?VOJ5bs+NJ/6GuMXsBt4LjhwoQwYCREfc7eQNUVZoS1Xen6a3tYM0FIOme5FP?= =?us-ascii?Q?r5maA1kOmXiusljndUhKcWIRZCa8nVBCh3JsrSHqnZ6J7gz8uLDQbKfCIleZ?= =?us-ascii?Q?pmrX47SKQTvjK7VlsD//fKSCW0n1eylNNbbunK4ysIlOs+/FxbBPxV5Abqqy?= =?us-ascii?Q?Zx2HidEfkftlF4TKo04jkjVIeHByN+RAY/IJSEhDwCZFeUI8e4Pm3B7SqQhJ?= =?us-ascii?Q?wZpieAieqFi2DIXEgn2T1Hj4mbO6Rc0QE2020/+MlyCC0Dfxqc4x4kV5IgQr?= =?us-ascii?Q?KTzE0tZxQ/0/HDSfm5ZslP33uTyrD2Gj0XksyqwHV/bnibiZXzaM1t1OENVh?= =?us-ascii?Q?xpXqvcBw9E0MpoR213Zv0GraRRyQfcU4DXc8dmqn9fFf03IS3kq8taQSDHee?= =?us-ascii?Q?/frQ80bi8p+J1ehoLof5jXthTKVKsOokXFF3VGcwzN+CI7nCRsv1SaV4dCDd?= =?us-ascii?Q?Y8v5gEXoi2GezCxLFg5IgSKttUDMthXMGjcr7P1LRFwAehayacGmVIDMcSRN?= =?us-ascii?Q?Dob3bO/EPBhl+6kdkokXfzrwIQfRNHIeHXNIIIhgy6yASNCSvLhd2jMso3BQ?= =?us-ascii?Q?kHzRIIhnQICPSHHiMD5a6OSzPL9hF2i/9jarmSf36Su+fPHsM6EQ7B1aN6fO?= =?us-ascii?Q?uTcnFtqTb0+4fCJxDVFibrsgYJ7NFpd13bRhzc2dFHNjPK3IbBxiYaa0Teyd?= =?us-ascii?Q?SvAyoFB0JZkRZwdqLbg31h5RTLe/Q3BabcCnc/z7wmHAo/nxqNU7p8DpS+s9?= =?us-ascii?Q?94wAtekUCZclfySXh31oQnSw8z/2WexHx7BNHteN7jhA4oxXHzyKXesVQMoH?= =?us-ascii?Q?wQ9cM+BobieRPG+ska02HA0saJcqonszxEZqc3sJARPLmaOjZgX7RzP2Isac?= =?us-ascii?Q?aUeIo4XVpQfZlmNRMsLRFBZBHMXuUBSA0DiVyc2Ubo5dI48LTLMuT85F8qzY?= =?us-ascii?Q?SJUOjL4+Xjgb2xytsP7JfCEfoAzUNJR5YqsNzXXzOAhoHtNV56rur/pD4vkI?= =?us-ascii?Q?Acl0JTnGWrtEdU35JTKw35EkG3D3S/xxZB5L+/2o7/4lVysAbFpdzjYyJYNg?= =?us-ascii?Q?ltpfraaec1ubdD4sEfTrB19Qkfbd+DU+ZPGkTXnu2bCNjtnzTK8T9OyEGGxS?= =?us-ascii?Q?bO2lOA0YyAuGOMotKwXvN3gObbevVrZMrcuG1O4nPL55MzxuBUcv9gi8rDed?= =?us-ascii?Q?bcA7TSHJYj1Lxy5tRwNWFlFVaRT1CycmphV8NtKXzJAnrSa+ZmewQfzD7Q5K?= =?us-ascii?Q?pEPcYUp0gMH7ulFtFbpVH3/6ZlR5lmnxKUqzf80wjyLuMqsamEBAYlRleMk/?= =?us-ascii?Q?hyEM/Y3y8P0z9dijqZaLfnHkh2EO6H/4xYmgGp6R?= X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: da7a74b2-4b6b-46a8-3755-08dbb46737de X-MS-Exchange-CrossTenant-AuthSource: SA0PR17MB4314.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2023 14:39:21.6660 (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: i5UVRBn6rDvB7tqdRVSzKhg2y1M1yVIQhhQpV8s+qjRcwYG0owkOdqCPttweqIanAHdOMHD/sNfu8vKjufJhFg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR17MB6635 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.6 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 and Eli in this version. The main change is added restriction on NAME parameter and hopefully more clear wording in documentation. Thanks, Jan 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. * Add more tests. 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 | 230 ++++++++++++++++++++++ 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, 380 insertions(+), 176 deletions(-) create mode 100644 gdb/testsuite/gdb.python/py-mi-notify.exp --=20 2.40.1