Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126136 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id A2A4E1A00BD for ; Thu, 19 Dec 2024 12:10:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1734610017; bh=tS1jhp+CZVKFghNSDfd6e65p46SY1S+PTrOrKx47EHM=; h=Date:Subject:From:To:References:In-Reply-To:From; b=JtZqFvsZXOlVaYbAuL6jExATBs/uZsAfQ4eWMOHHlcTKFlZFwFJZOzW5wsWuaoY4p HKpaZLZoPcxOUCrB3J2RJPGIRUQeA6Y+gcv7ILRcV+KzvDp7D5u8j5gCpjIpzdZmlG Tf9YGmyIBEER9ZJUoXgIbb47tskrEPoX3PR9WsKH2xcoONsIKOnU4rm/UYNJofgcgr yyWcLHkS1lYi0vVJHbrObHhJy2H8YqlGkMTD0bVYp/WrYdk6Rj+p2S3dKFtEfcIiEA /+1GsUzCePebmN7MMiMgs1HVTsS6FQuaN8cMV3LlRUu3Aag+3QSzPZJv1j9f3rj2hJ GRUSHMVoEUhlg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id AE65018006C; Thu, 19 Dec 2024 12:06:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS; Thu, 19 Dec 2024 12:06:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1734610196; x=1735214996; i=cmbecker69@gmx.de; bh=Mq84elJofM7gt+gBHXBuvS6E09Wriuw+IW8XAh8ZAiY=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:From:To: References:In-Reply-To:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=UmV7tL9vU7b7g4nTiNsfVqUWTMjSHXkIgQ71TwiuIUYBPEfvMzl48wnzXw8ve70S dNHOyrjJFqivXcadt1NhdOnxg+MCosgGnYU2RCxNv6XQNcSaVo7nQdKm5avvZ88xg 90uDsJNtzly2mbUcBKoHvyIqhsj4AsnVnIzmj/rBWwPQocjPUca6Oto4/R5V6SnFb yWPtczl5vHu/2MI7dcVxEmmbaDDaWN7fdwxsEVHY8XEZCqXYubscUbGeERM8dPby0 QhCBrvlyGsor/fiDkFUNgiLd0xOBw90P8ZHgM5ok8wvTuijVKupwfRdU6balDxVDp rD02DlqxmhAH4qV00A== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.2.130] ([79.220.91.186]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N1wpt-1tZkjd3Fqj-011RvQ; Thu, 19 Dec 2024 13:09:56 +0100 Message-ID: Date: Thu, 19 Dec 2024 13:09:56 +0100 Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] C Unit testing and mocking Content-Language: de-DE To: Jakub Zelenka , PHP internals list References: <7228b901-a6a9-4aa9-8425-5ad51f66a853@gmx.de> In-Reply-To: <7228b901-a6a9-4aa9-8425-5ad51f66a853@gmx.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:KB4o3y+aauKDd4s9BN7HB10ZBoT+zaGYnzQ39QRaQHeeAFrHSOB 3Xfq0ttazbIHTJ1N0An8jG0HPQ9rj5F9vzNpQdZQ0rSgPga0+qpro8tvxegejTReOerCwrt dH4zHgBkdr+Uv/XC0s7pd0K2CIHQQ2DrW9GkbTwSNB14WasCjlVe8E1NBX/+Y/By524fn6b b3++VPObyHRxs9YPAWSYA== UI-OutboundReport: notjunk:1;M01:P0:YsWp6ncujeE=;Ap1Z1gWR7eQF3JdC94SE9zLdARx iPya6/T+Gv0lfiYPs2OsOY4Lrpfdh8tTZ27JEpTuDGlmds1NJyF6FFoEAnaD9PGsmKi1xLYf6 1Z7puL4vyWcqN556fy9YtUXZ30O9DEkWq2S5Cb3WY3JxnMqHLYkvVca7oS30jlsCTg/A/Q9dg 3PoHbgyNqtM0gYDi0fIvR4WF2Qm4dgF5OepXrRsfylSdXo0fEsMvEyi+sJPH6IgH99oDPUjKc +gXOod5wFvfumikRhSh+T3/bum9sTaS/zBECBToAlB4rCx3bmOtZBcJa1TAqe3PU3nn6/XB/e BQYkUhIL4msRQXVju0Qa6IdmrQv8QntK4YsgfMz0Y1rdQ8AIcEn1eN/gSeCOedtZHJOcy+Lax QW+ypVW1uiK5X55Cu14Hs4tTIsCbFUSGjatZt3qq6Al0LjGv8W9u/0efuL5gE2ry1PEjouf8q 034nRQT03LeIb4dMA1jYw2AMPgYnb81RAkczzX6r6Gq8c6+uUGgqnREOgjlEubTclgrFv54fv iVnbcRYyy8N45PD7wK6L9qyHjmzGiK3BFlp4+oKwibn228YHwdNHOnVsRe4c3utlCDzgo4273 651VNzQ5Hw6ILKT4dYTlqTOXF3FQ8n5qyfnrenaE3t1SE9LH0ueIis7GTgn37UPrmDxonrfRv aO7tRZZG7SkVapSLKAL7Q0mLSkMWUFfZ3Oos+OD+zEPLFoSe9qw7b/kL09lsOIhnHdXxIRDri Z8Z9lLsbxPuZSnhV//EWqUcSuVPbbZbPwinL1yRzGWrQKQMA0XRY/VKziKLtDc6vOYAr38TS0 orSX0mg10+kgVGwVrgmJTiTlWovZJCHRVN12Fq0R/FpXaJq2wGDlk6qJvQi1Ypu9TEpTCAob8 SG1gkegW1vE18/1lSDkNfdoIp8JkMwZeJ+HGJNKGLkVMXYoVNI0xQZWlCbvn2bhXhXKknQN5f VArKYyJCtNYLAjkTU6GBodstZUrxWdtCj436+LjXjv3nvn0EjSQVaB4y+o1E9JBma//oLp1/W 6m1tGJhJ9vLC+KKo4+wJwf49oo6HN8rbuLVZ+Tic8QT53AJ7RISmgavIGb9RnFb0cZAdYBtdn 8vCYTfUIMCuTpHTwB1uwHEjoEgQjGL From: cmbecker69@gmx.de ("Christoph M. Becker") On 16.12.2024 at 21:05, Christoph M. Becker wrote: > Especially on Windows, where we have different code paths, and sometimes > even completely different code, it would be great to also have these > unit tests. Given that link.exe supports /alternatename, a bit of > additional macro magic might do the trick[2]. I'll try to have a stab > at this soon. I had a closer look, and it's getting pretty tricky. First, we would need a static php.lib (doable, but so far not supported by the build system). Then, apparently, we would need to get rid of the __declspec(dllimport) at least for the functions we want to mock when building php.lib; to do that it might be necessary to use modified copies of the WindowSDK headers. Ugly. And then we might need an own unit test suite for Windows; at least as is, test_network.c makes quite some assumptions regarding code paths (e.g. that poll(2) is called), which are not portable. I'm not sure it's worth pursuing this for other platforms than Linux. Christoph