From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <bounce+27952+121229+7686176+12367111@groups.io>
Received: from mail05.groups.io (mail05.groups.io [45.79.224.7])
	by spool.mail.gandi.net (Postfix) with ESMTPS id A095F9418C4
	for <rebecca@openfw.io>; Thu, 27 Mar 2025 13:37:26 +0000 (UTC)
DKIM-Signature: a=rsa-sha256; bh=36Yzlv1cMaHMaVPIHVFt9yE1MwLv6WT5xbFLzuMaPcw=;
 c=relaxed/simple; d=groups.io;
 h=Received-SPF:From:To:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:Authentication-Results-Original:MIME-Version:NoDisclaimer:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type;
 s=20240830; t=1743082646; v=1; x=1743341845;
 b=M0838Sa904AZm7C4We+rNDvzrUWqrCFb1KNXsUSPhHtGl921MApk90Cdov08LJfrfYqcssYe
 jM+lsq+9R0QnoMTaaJ31CmN7Fz0cV1e/Q4vhMH7Mkj4bjirpzGO85pyPiCVeaV+BCM+m6q48mEZ
 XLSb60lYEKNmESun4Sf4wVHBajEsAd7Uh7V3FbeYw+O870n9n3crS65/jCM7AkbBvr/4dIfocJ6
 uXVPT6WhIa6/CttFJtXGriq4mGFCFvS/oMXdQdK7A19bf0h1fdkN2d8Cs96jJ9kHZRVFtU/XpMN
 7Mt12FVTxeSJOi9gj6P6R5gXwfCWtxjs0mSmYusULeAsg==
X-Received: by 127.0.0.2 with SMTP id WDWjYY7687511xhfr1UdqS0L; Thu, 27 Mar 2025 06:37:25 -0700
X-Received: from DUZPR83CU001.outbound.protection.outlook.com (DUZPR83CU001.outbound.protection.outlook.com [52.101.67.16])
 by mx.groups.io with SMTP id smtpd.web10.50146.1743082643475495370
 for <devel@edk2.groups.io>;
 Thu, 27 Mar 2025 06:37:24 -0700
X-Received: from DU2PR04CA0207.eurprd04.prod.outlook.com (2603:10a6:10:28d::32)
 by AS4PR08MB7432.eurprd08.prod.outlook.com (2603:10a6:20b:4e4::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 13:37:14 +0000
X-Received: from DU2PEPF00028D0F.eurprd03.prod.outlook.com
 (2603:10a6:10:28d:cafe::26) by DU2PR04CA0207.outlook.office365.com
 (2603:10a6:10:28d::32) with Microsoft SMTP Server (version=TLS1_3,
 cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.43 via Frontend Transport; Thu,
 27 Mar 2025 13:37:14 +0000
X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 4.158.2.129)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=arm.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Fail (protection.outlook.com: domain of arm.com does not
 designate 4.158.2.129 as permitted sender) receiver=protection.outlook.com;
 client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com;
X-Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by
 DU2PEPF00028D0F.mail.protection.outlook.com (10.167.242.23) with Microsoft
 SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20
 via Frontend Transport; Thu, 27 Mar 2025 13:37:13 +0000
X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12)
 by VE1PR08MB5600.eurprd08.prod.outlook.com (2603:10a6:800:1b0::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.44; Thu, 27 Mar
 2025 13:36:41 +0000
X-Received: from AS8PR08MB6806.eurprd08.prod.outlook.com
 ([fe80::3935:6d9d:93a2:cbf3]) by AS8PR08MB6806.eurprd08.prod.outlook.com
 ([fe80::3935:6d9d:93a2:cbf3%4]) with mapi id 15.20.8534.043; Thu, 27 Mar 2025
 13:36:40 +0000
From: "Sami Mujawar via groups.io" <sami.mujawar=arm.com@groups.io>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>, "yodagump@google.com"
	<yodagump@google.com>, "Jeff Brasen (jbrasen@nvidia.com)"
	<jbrasen@nvidia.com>, Pierre Gondois <Pierre.Gondois@arm.com>, Yeo Reum Yun
	<YeoReum.Yun@arm.com>, Sarah Walker <Sarah.Walker2@arm.com>
Subject: Re: [edk2-devel] ACPI table generator unit test
Thread-Topic: [edk2-devel] ACPI table generator unit test
Thread-Index: AQHbns4krnRCHI3grUeSfznM+h71hrOG+3YQ
Date: Thu, 27 Mar 2025 13:36:40 +0000
Message-ID: 
 <AS8PR08MB6806BD545F1BFA0515F5814A84A12@AS8PR08MB6806.eurprd08.prod.outlook.com>
References: <ETLW.1742511415727458917.AWEz@groups.io>
In-Reply-To: <ETLW.1742511415727458917.AWEz@groups.io>
Accept-Language: en-GB, en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-reactions: allow
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic: 
	AS8PR08MB6806:EE_|VE1PR08MB5600:EE_|DU2PEPF00028D0F:EE_|AS4PR08MB7432:EE_
X-MS-Office365-Filtering-Correlation-Id: 53f856b6-0a4c-470b-de93-08dd6d347b6c
X-LD-Processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr,ExtAddr
x-checkrecipientrouted: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: 
 BCL:0;ARA:13230040|1800799024|4022899009|366016|376014|8096899003|38070700018|13003099007|7053199007;
X-Microsoft-Antispam-Message-Info-Original: 
 =?us-ascii?Q?ZqLCr9pGx7D/CPCegfcam/j1HnpCJM9g7r+vV1BdEwu1AxvShZlym4h8vxEj?=
 =?us-ascii?Q?h92Y9svIiPLBreTayloQuA5pNigReHTQADH+Ovul+k/T4GOXLC9rBGgjooWR?=
 =?us-ascii?Q?zSJqS7U+PxiojZKd1rzzbjCIENKxXEMOP/WTZaro+4kmASPA07R3FMfYo4Tp?=
 =?us-ascii?Q?hM676p+oVsMf/DXUKG1F1SFWi2HH7Aqdgl+ljZj5+wldgUFjFwIFyG3YbJH8?=
 =?us-ascii?Q?ZHOt+8A39F0aIQJXhx/75+oPyTBkbGMGRbuw7OPF16Uk577BrujpY9RNRnc6?=
 =?us-ascii?Q?6gM4Qp/i6xzXujfHJYXW3x4Gbp0kp9tIhJkshAc5/iAeyxttT/ytP37AnZBY?=
 =?us-ascii?Q?Xt22bZhO3iu8TnzLzfhpRKwX0xj529hNC76T0llWZjLa2TpF+fJc+2GOJMqv?=
 =?us-ascii?Q?LzZoR4PAFqL/EAX/MPDlEDfegq/0/tNoipOHKS62sfR6VEQ2NICnMi/azfvQ?=
 =?us-ascii?Q?nqdmcLZD9lUaTDhHfkdE8tkwLwTblP5yXf9Ca4NA9nBcwbIx5nUWnE5mrGM9?=
 =?us-ascii?Q?g17hAnwxBuIG7+drWe8BQVru+pq5Q2vnRQjjY/1Tjd9mGj6O6Q+kijQfOzG/?=
 =?us-ascii?Q?Kn2SgGq8kGXmeJfGZUhuFfvwJ75tPFQVg6twZHXWaa4l6W427Rjc36/DnK+p?=
 =?us-ascii?Q?Awy+plhi+2jVgQP0Ky0MBSwhICcLZY7I/wNLZsiX7EUSQNtJ6Do8/0j0hpfJ?=
 =?us-ascii?Q?Lw1gDW81slRX2hCoAvSJuyWHW4f5aMY8A8Va4LKm7fqmA/ewBFmt620rw8v1?=
 =?us-ascii?Q?+zYoPowkFVHq+lHjoxHZy4RWzz+t6PvHzV5zBy/0bNakvbE3jEDdBkjLhWrn?=
 =?us-ascii?Q?k1WjpVpFAWXTNXwk+FNlgaev8+2x8fB3Zi4dyYDPS6WikmejnXa5ZSyBeZcL?=
 =?us-ascii?Q?XXtgdqQixV2EuUTsR/RwhTYsbsY5NlgN8HqAVmZAfEunDNf7qOcSLnA9ghVc?=
 =?us-ascii?Q?qgnI5iW7I8OTXeBY8/XeiUIvgoTEgKHBr8Y7hcPNVkKgXrNCImB7uw1lh2/p?=
 =?us-ascii?Q?W8YYdXhjzynV3UEwxWVSN72EXdQ7oaSIA62X5/UMd8V87blITAqfEiuNC4PD?=
 =?us-ascii?Q?cyd+4aj27Z70tLh4q797dzBhVkdcCv1kVp1d6oK4yOAOfx0fWKtO5frq+iUg?=
 =?us-ascii?Q?moca9QSwN4NV5gjJ9K7Tqjbtf15Sr4Gj2S9795pAeZOylwwAl48Y9Bo73e1p?=
 =?us-ascii?Q?Y0NW1jOWQTDQxfOZNv79/9ANdUnKeT20unKS4Znvy5IZ/VSk5JQeAwDdZZu2?=
 =?us-ascii?Q?t/n+xPtGJ+xMTxp1WSX8hzO8gsNDyaV/WGIgZ8RQBOoojCwrUMyU3rRofihp?=
 =?us-ascii?Q?VH1ts9i67CvGlmMP0gOKWrcKrVVEtMvIk1pglt+mqAKTr1FXPzz5+qSqLGaI?=
 =?us-ascii?Q?BEsRV4Z+WbG6itPcxht6iWIE5aYLs/4n0X9FASXk9cBB/0jgEI7nHqy8EfTk?=
 =?us-ascii?Q?CibKCUC+qNhYtoKee5jxlkRCrv/DVMsr?=
X-Forefront-Antispam-Report-Untrusted: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(4022899009)(366016)(376014)(8096899003)(38070700018)(13003099007)(7053199007);DIR:OUT;SFP:1101;
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5600
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: 
 DU2PEPF00028D0F.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs: 
	8e4d07ad-0f66-4a86-c518-08dd6d3467de
NoDisclaimer: true
X-Microsoft-Antispam-Message-Info: 
	=?us-ascii?Q?NVfF1hJJU3wvOjAtOpVWvO17H3FCrZ5kxkrRkZh664ub3iGv3hRrFVAZp46X?=
 =?us-ascii?Q?VDDbfogYVbCCrdtSAHkDZRep+7DlzLyF9xfipDHF7c5/VR90g2nQ7S2C/XQb?=
 =?us-ascii?Q?ZAm9tGP8Eh+fy9K5Dv0Li4kQE+5gv6h6hFdqZAE5qVFeSoSmXPSOhcQdrwE2?=
 =?us-ascii?Q?pQfw5JIUJ2XhFs0g+JByP8rD/k3u3LCEFNrwhdL04P2HehZ2b79RH2lo41/+?=
 =?us-ascii?Q?V+tPKuPjEE73rF36+vEdH0gsV18SOuGgr/WUBbJM4WqE/Q0w+GGKsaurlBMU?=
 =?us-ascii?Q?qucnpMImsBPm7BpIdeHXYhlrukZ+0lGlUVzW8txNHGEm8ot3CIIi+zPvIcIc?=
 =?us-ascii?Q?dOUYOIUYJNCdSS8Fe/Pn0lmRzOktEra91B9DqiajSuiz8II7BPX2TBLFuwdy?=
 =?us-ascii?Q?etTDai25sEPylh9BS5XqliLLiRUcMWYnfuCbGS/zNvzv7nUBk1TBYKojmM4i?=
 =?us-ascii?Q?BY7CCoQvhrOlnZJzRzJ6n7eZHnhIsLQofquges+bMr6bAmu3YdVWes/TqmJY?=
 =?us-ascii?Q?4Ar2WPixpsX2ojNYh8BOEB//emZWK2hT0YakCVPS2OGQ1R//ydeXf74pTNln?=
 =?us-ascii?Q?lLUf7dZf69yYtbusyCeJIGRvF5i47N065OJHOI8nRYmZRBCyUWjGhc6SRddn?=
 =?us-ascii?Q?hU651HQw6dp/hkcn7LJkHxEVb5KfH6ups4iHtzSSWgwDR5qkTzqVj4WWT+/d?=
 =?us-ascii?Q?ifxTjnxBGpfRnM9TFVFJ6Vd4PfQEbPGUzjpHkOrxc2q/rXScKAP58fspuu4m?=
 =?us-ascii?Q?G07lQzS+c/0FCZH45UcyZHbpSIDN1hQFAzNlSaPQYzYivm5n7ZNjqxpOMomv?=
 =?us-ascii?Q?FqMaEJz+FaCnw1nIRpVXNKEHoPsnboKarMLcCwt6BZwNBUcuaxoBXRno0xXj?=
 =?us-ascii?Q?5Jv/WOAvLpevseijGNcyfebheMbFR3IkwcBC3KFh8hgQBx8SNomt+mTqQys0?=
 =?us-ascii?Q?N4bKynr+1QxQFLN76+/88g9wZxmdbTVTvp1Tvk1TtCmPDHvrPGnCynjURy6Q?=
 =?us-ascii?Q?nlsq84RRFFu8HTYsul+d0908D9Q/1kUdUwYECiHEUIzXOKaFNfJewCmXboKT?=
 =?us-ascii?Q?KZclJGjbiYe0kGYlR8n6bcAG0A8OcfbFsBmhZzVwMKiwTz4oLxXHrEQOB7An?=
 =?us-ascii?Q?GfdbDT68LIXKCR/RHAjotGU/+684uybPXu9iDVsNn9ABs8RDviIkaj81n/Id?=
 =?us-ascii?Q?XrVFJgiKpF96EshgyPyH68abGSZdxIkYGMnCtNMnB86eGWNEFgUDEDv/V7Bg?=
 =?us-ascii?Q?yExdwzq4J65GZt3bj/nKF3Pa8IQABmICIbhDUxh+1u0GFEBEB3GX4p8HSeQ/?=
 =?us-ascii?Q?3a7Wh1PAyoZXh/zcEzAO6UnksoniekEogYTBu0n+6xEwuTEkjo9EbdP4euMx?=
 =?us-ascii?Q?9WsoWsjK4j76KkmLN+dqqV8dkmf3VGZcvGdNy2YSCcqZdgZNMg1xi8xCkq8a?=
 =?us-ascii?Q?lyKTTCoAExrVdrdnpF+D6jMohQyDHFI7V0nZcPrmbEArGwc9YTjcpUsQeW8O?=
 =?us-ascii?Q?JPkIfbp5mab/r08=3D?=
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2025 13:37:13.2000
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53f856b6-0a4c-470b-de93-08dd6d347b6c
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[4.158.2.129];Helo=[outbound-uk1.az.dlp.m.darktrace.com]
X-MS-Exchange-CrossTenant-AuthSource: 
	DU2PEPF00028D0F.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7432
Precedence: Bulk
List-Subscribe: <mailto:devel+subscribe@edk2.groups.io>
List-Help: <mailto:devel+help@edk2.groups.io>
Sender: devel@edk2.groups.io
List-Id: <devel.edk2.groups.io>
Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io
Resent-Date: Thu, 27 Mar 2025 06:37:24 -0700
Resent-From: sami.mujawar@arm.com
Reply-To: devel@edk2.groups.io,sami.mujawar@arm.com
List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe: <https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/plugh>
X-Gm-Message-State: ROSwQ8K06TYf2v0rvDgVCGc2x7686176AA=
Content-Language: en-GB
Content-Type: multipart/alternative;
	boundary="_000_AS8PR08MB6806BD545F1BFA0515F5814A84A12AS8PR08MB6806eurp_"
X-GND-Status: LEGIT
Authentication-Results: spool.mail.gandi.net;
	dkim=pass header.d=groups.io header.s=20240830 header.b=M0838Sa9;
	dmarc=pass (policy=none) header.from=groups.io;
	spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io

--_000_AS8PR08MB6806BD545F1BFA0515F5814A84A12AS8PR08MB6806eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Sophia,

Unfortunately, I am not conversant with the Google Test framework. I will n=
eed to get around to understanding it at some point.

However, there is a recent PR that adds some tests. Can you take a look at =
the patch at: https://github.com/tianocore/edk2/pull/10833/commits/4eeeb143=
4820718ace1670d9429a867fe5e8c9b7
to see if it helps, please?

Regards,

Sami Mujawar
From: devel@edk2.groups.io <devel@edk2.groups.io> on behalf of yodagump via=
 groups.io <yodagump=3Dgoogle.com@groups.io>
Date: Thursday, 27 March 2025 at 04:10
To: devel@edk2.groups.io <devel@edk2.groups.io>
Subject: [edk2-devel] ACPI table generator unit test
Hi,

I plan to use EDK2 unit test framework (https://github.com/SophiaWang-Googl=
e/edk2/tree/master/UnitTestFrameworkPkg) to test ACPI table generator, such=
 as https://github.com/tianocore/edk2/blob/master/DynamicTablesPkg/Library/=
Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c

However, ACPI table generator only has two non-static function exposed:
EFI_STATUS
EFIAPI
AcpiGtdtLibConstructor (
  IN  EFI_HANDLE        ImageHandle,
  IN  EFI_SYSTEM_TABLE  *SystemTable
  )

EFI_STATUS
EFIAPI
AcpiGtdtLibDestructor (
  IN  EFI_HANDLE        ImageHandle,
  IN  EFI_SYSTEM_TABLE  *SystemTable
  )

So if we want to use GoogleTest gMock to unit test ACPI table generator, I =
guess we need to expose API :
STATIC
EFI_STATUS
EFIAPI
BuildGtdtTable (
  IN  CONST ACPI_TABLE_GENERATOR                  *CONST  This,
  IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
  IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
  OUT       EFI_ACPI_DESCRIPTION_HEADER          **CONST  Table
  )
to non-static

Please let me whether this is the approach upstream target for, or any bett=
er solutions on this?

Thank you,
Sophia


IMPORTANT NOTICE: The contents of this email and any attachments are confid=
ential and may also be privileged. If you are not the intended recipient, p=
lease notify the sender immediately and do not disclose the contents to any=
 other person, use it for any purpose, or store or copy the information in =
any medium. Thank you.


-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121229): https://edk2.groups.io/g/devel/message/121229
Mute This Topic: https://groups.io/mt/111930977/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-



--_000_AS8PR08MB6806BD545F1BFA0515F5814A84A12AS8PR08MB6806eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Aptos;
	panose-1:2 11 0 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:12.0pt;
	font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Aptos",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	mso-ligatures:none;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-GB" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:brea=
k-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Hi Sophia,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Unfortunately, I am not conversant with the Google Test framework. =
I will need to get around to understanding it at some point.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">However, there is a recent PR that adds some tests. Can you take a =
look at the patch at:
<a href=3D"https://github.com/tianocore/edk2/pull/10833/commits/4eeeb143482=
0718ace1670d9429a867fe5e8c9b7">
https://github.com/tianocore/edk2/pull/10833/commits/4eeeb1434820718ace1670=
d9429a867fe5e8c9b7</a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">to see if it helps, please?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Regards,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Sami Mujawar<o:p></o:p></span></p>
<div id=3D"mail-editor-reference-message-container">
<div>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"col=
or:black">From:
</span></b><span style=3D"color:black">devel@edk2.groups.io &lt;devel@edk2.=
groups.io&gt; on behalf of yodagump via groups.io &lt;yodagump=3Dgoogle.com=
@groups.io&gt;<br>
<b>Date: </b>Thursday, 27 March 2025 at 04:10<br>
<b>To: </b>devel@edk2.groups.io &lt;devel@edk2.groups.io&gt;<br>
<b>Subject: </b>[edk2-devel] ACPI table generator unit test<o:p></o:p></spa=
n></p>
</div>
<div>
<p class=3D"MsoNormal">Hi,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">I plan to use EDK2 unit test framework (https://gith=
ub.com/SophiaWang-Google/edk2/tree/master/UnitTestFrameworkPkg) to test ACP=
I table generator, such as
<a href=3D"https://github.com/tianocore/edk2/blob/master/DynamicTablesPkg/L=
ibrary/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c" target=3D"_blank">
https://github.com/tianocore/edk2/blob/master/DynamicTablesPkg/Library/Acpi=
/Arm/AcpiGtdtLibArm/GtdtGenerator.c</a><o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">However, ACPI table generator only has two non-stati=
c function exposed:<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">EFI_STATUS<br>
EFIAPI<br>
AcpiGtdtLibConstructor (<br>
&nbsp; IN &nbsp;EFI_HANDLE &nbsp; &nbsp; &nbsp; &nbsp;ImageHandle,<br>
&nbsp; IN &nbsp;EFI_SYSTEM_TABLE &nbsp;*SystemTable<br>
&nbsp; )<br>
<br>
EFI_STATUS<br>
EFIAPI<br>
AcpiGtdtLibDestructor (<br>
&nbsp; IN &nbsp;EFI_HANDLE &nbsp; &nbsp; &nbsp; &nbsp;ImageHandle,<br>
&nbsp; IN &nbsp;EFI_SYSTEM_TABLE &nbsp;*SystemTable<br>
&nbsp; )<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">So if we want to use GoogleTest gMock to unit test A=
CPI table generator, I guess we need to expose API :<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">STATIC<br>
EFI_STATUS<br>
EFIAPI<br>
BuildGtdtTable (<br>
&nbsp; IN &nbsp;CONST ACPI_TABLE_GENERATOR &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp;*CONST &nbsp;This,<br>
&nbsp; IN &nbsp;CONST CM_STD_OBJ_ACPI_TABLE_INFO &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp;*CONST &nbsp;AcpiTableInfo,<br>
&nbsp; IN &nbsp;CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL &nbsp;*CONST &nb=
sp;CfgMgrProtocol,<br>
&nbsp; OUT &nbsp; &nbsp; &nbsp; EFI_ACPI_DESCRIPTION_HEADER &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp;**CONST &nbsp;Table<br>
&nbsp; )<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">to non-static<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Please let me whether this is the approach upstream =
target for, or any better solutions on this?&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Thank you,<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Sophia<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
IMPORTANT NOTICE: The contents of this email and any attachments are confid=
ential and may also be privileged. If you are not the intended recipient, p=
lease notify the sender immediately and do not disclose the contents to any=
 other person, use it for any purpose,
 or store or copy the information in any medium. Thank you.
</body>
</html>


<div width=3D"1" style=3D"color:white;clear:both">_._,_._,_</div>
<hr>


Groups.io Links:<p>


 =20
    You receive all messages sent to this group.
 =20
 =20


<p>
<a target=3D"_blank" href=3D"https://edk2.groups.io/g/devel/message/121229"=
>View/Reply Online (#121229)</a> |


 =20

|

  <a target=3D"_blank" href=3D"https://groups.io/mt/111930977/7686176">Mute=
 This Topic</a>


| <a href=3D"https://edk2.groups.io/g/devel/post">New Topic</a>

<br>




<a href=3D"https://edk2.groups.io/g/devel/editsub/7686176">Your Subscriptio=
n</a> |
<a href=3D"mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |

<a href=3D"https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>

 [rebecca@openfw.io]<br>
<div width=3D"1" style=3D"color:white;clear:both">_._,_._,_</div>


--_000_AS8PR08MB6806BD545F1BFA0515F5814A84A12AS8PR08MB6806eurp_--