Skip to content

Commit c7bc14d

Browse files
committed
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 GH-17805.
1 parent 3e879f3 commit c7bc14d

File tree

2 files changed

+2
-5
lines changed

2 files changed

+2
-5
lines changed

.github/scripts/windows/build_task.bat

-5
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

+2
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ for %%i in (ldap oci8_12c pdo_oci) do (
137137

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

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

142144
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)