Do not load default ini files in tests #16099
Open
+1
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
make test
concatenates the default ini files (fromconfig-file-path
andconfig-file-scan-dir
) into a temporarytmp-php.ini
, which is loaded in tests.This leads to unexpected results, and sometimes to difficulties when trying to debug failing tests (although that's mostly because generated
.sh
scripts for failing tests try to load thetmp-php.ini
file, which is removed bymake test
).I think that we should not load any ini file by default in tests, to reduce the impact of the environment on the test suite. It is always possible to specify an ini file explicitly (
make test TESTS="-c file.ini"
) or ini settings (make test TESTS="-d ..."
).On Windows,
nmake test
doesn't load any ini file by default. When building with--enable-test-ini
, atmp-php.ini
file is generated and loaded bynmake test
, but it contains only directives for loading the shared extensions of the build.