Skip to content

Commit 414de16

Browse files
cmb69charmitro
authored andcommitted
Prevent using system DLLs when running the tests
The search order for DLLs on Windows is (simplified): * the application folder * the system folder * all folders in the `PATH` (The full details are documented on Microsoft Learn[1].) As is, we're adding `deps\bin` to the `PATH` when running the tests, but any DLLs in the system folder take precedence, so these would be used instead of our intended dependencies. To mitigate that, we copy over all DLLs from `deps\bin` to our application folder (i.e. where php.exe, php-cgi.exe and phpdbg.exe are placed). Since we're doing this, there is no more need to attempt to remove the OpenSSL DLLs in the system folder (what seems to be a bad idea anyway). [1] <https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order> Closes phpGH-17805.
1 parent e0a29f0 commit 414de16

File tree

2 files changed

+2
-5
lines changed

2 files changed

+2
-5
lines changed

.github/scripts/windows/build_task.bat

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@ if /i "%GITHUB_ACTIONS%" neq "True" (
55
exit /b 3
66
)
77

8-
del /f /q C:\Windows\System32\libcrypto-1_1-x64.dll >NUL 2>NUL
9-
if %errorlevel% neq 0 exit /b 3
10-
del /f /q C:\Windows\System32\libssl-1_1-x64.dll >NUL 2>NUL
11-
if %errorlevel% neq 0 exit /b 3
12-
138
call %~dp0find-target-branch.bat
149
set STABILITY=staging
1510
set DEPS_DIR=%PHP_BUILD_CACHE_BASE_DIR%\deps-%BRANCH%-%PHP_SDK_VS%-%PHP_SDK_ARCH%

.github/scripts/windows/test_task.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,8 @@ for %%i in (ldap) do (
136136

137137
set TEST_PHPDBG_EXECUTABLE=%PHP_BUILD_DIR%\phpdbg.exe
138138

139+
copy /-y %DEPS_DIR%\bin\*.dll %PHP_BUILD_DIR%\*
140+
139141
mkdir c:\tests_tmp
140142

141143
nmake test TESTS="%OPCACHE_OPTS% -g FAIL,BORK,LEAK,XLEAK --no-progress -q --offline --show-diff --show-slow 1000 --set-timeout 120 --temp-source c:\tests_tmp --temp-target c:\tests_tmp --bless %PARALLEL%"

0 commit comments

Comments
 (0)