Tests: backport guard-clause fix tests from freenginx - #112
Open
dekobon wants to merge 4 commits into
Open
Conversation
Adapted for nginx-tests: the fork-specific version TODO guards were retargeted from the freenginx version to nginx 1.31.5, the mainline version expected to carry the backported fixes, following the upstream convention for guarding tests of not-yet-released fixes. Co-authored-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Elijah Zupancic <e.zupancic@f5.com> Origin: <https://freenginx.org/hg/nginx-tests/rev/5cf0e07d63a11cf92e55209e832e8f34939d9025>
Adapted for nginx-tests: context and test plan count differ from freenginx-tests, and the fork-specific version TODO guard was retargeted from the freenginx version to nginx 1.31.5, the mainline version expected to carry the backported fix. Co-authored-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Elijah Zupancic <e.zupancic@f5.com> Origin: <https://freenginx.org/hg/nginx-tests/rev/81519d01f238c5d602e0d7452c8ecb6d512e25a2>
Adapted for nginx-tests: the fork-specific version TODO guard was retargeted from the freenginx version to nginx 1.31.5, the mainline version expected to carry the backported fix. Co-authored-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Elijah Zupancic <e.zupancic@f5.com> Origin: <https://freenginx.org/hg/nginx-tests/rev/85d88cd5091c6691d58de81dec544c901f33b6d7>
Adapted for nginx-tests: context and test plan count differ from freenginx-tests. The fork-specific version SKIP guard around the inherited-key requests was retargeted to nginx 1.27.5, which carries the corresponding fix via ngx_http_upstream_merge_ssl_passwords() and ngx_stream_proxy_merge_ssl_passwords(), and extended to cover both requests (on older versions the first request already crashes), with a TEST_NGINX_UNSAFE opt-out matching the guard already used for the "optimized" tests in this file. Co-authored-by: Elijah Zupancic <e.zupancic@f5.com> Signed-off-by: Elijah Zupancic <e.zupancic@f5.com> Origin: <https://freenginx.org/hg/nginx-tests/rev/0a913a10945b996bcdac073467bf7bc957ef716e>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Companion test backports for nginx/nginx#1696 (backport of guard-clause
fixes from freenginx). Four freenginx-tests changesets by Maxim Dounin are
backported, exercising fixes carried by that PR: the request body chunk
extension/trailer limit, IMAP EXTERNAL auth password clearing, SSI stub
output, and proxy SSL password inheritance.
Each commit preserves the original author, date, and commit message, and
carries an
Origin:trailer linking the freenginx-tests changeset, thebackporter's
Signed-off-by:, and aCo-authored-by:trailer (all fourpatches required adaptation, documented per commit).
Commits (in application order)
d54443f88c5b782385b1448f2a8dDeviations from the freenginx originals
translated to mainline versioning rather than dropped, so the suite keeps
working against nginx builds that do not carry the fixes. The three tests
exercising fixes from Backport guard-clause fixes from freenginx nginx#1696 are guarded with
has_version('1.31.5')— they enforce normally on that branch andTODO-fail on older nginx instead of failing hard. The proxy_ssl
inherited-key tests are guarded with
has_version('1.27.5')(the releasedversion carrying nginx's own
merge_ssl_passwordsfix) plus the usualTEST_NGINX_UNSAFEopt-out, since on older versions those requestssegfault a worker and leave a coredump; the guard also covers both
inherited-key requests, where freenginx guarded only the second.
places where the files have drifted (documented in each commit body).
Companion changes
The code fixes exercised by the first three test files are in
nginx/nginx#1696, on the matching
cherry/freenginx-guard-clausesbranch ofdekobon/nginx. The proxy_ssl test needsno companion change — mainline fixed that issue in 1.27.5.
Testing
All four files pass against the nginx/nginx#1696 branch build (75/75, with
SSL, HTTP/2, mail, and stream modules enabled) and degrade to TODO/skip
against builds without the fixes (verified against a stock master build).