GHA/macos: add Rustls, aws-lc jobs#17963
Conversation
To limit to 2 new jobs.
To keep the number of jobs the same as before this patch, and keep testing openldap with all 3 compilers.
d0f3280 to
055eba2
Compare
by moving it the `install_steps` instead of having its own special bool field
Found while making a typo and accidentally running tests in the MultiSSL job. ``` test 1308...[formpost tests] libtests returned 44, when expecting 0 1308: exit FAILED == Contents of files in the log/15/ dir after test 1308 === Start of file commands.log ./libtest/libtests lib1308 log/15/test-1308 > log/15/stdout1308 2> log/15/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/15/test-1308 /Users/runner/work/curl/curl/tests/libtest/lib1308.c:70 Assertion 'res == 0' FAILED: curl_formget returned error /Users/runner/work/curl/curl/tests/libtest/lib1308.c:72 Assertion 'total_size == 518' FAILED: curl_formget got wrong size back /Users/runner/work/curl/curl/tests/libtest/lib1308.c:88 Assertion 'res == 0' FAILED: curl_formget returned error /Users/runner/work/curl/curl/tests/libtest/lib1308.c:89 Assertion 'total_size == 899' FAILED: curl_formget got wrong size back Test ended with result 44 === End of file stderr1308 === Start of file test-1308 Piece of the file that is to uploaded as a formpost ``` https://github.com/curl/curl/actions/runs/16387468868/job/46309039397#step:16:2515
055eba2 to
635dcd6
Compare
|
Fallout while shuffling existing jobs to keep the number of jobs unchanged: wolfSSL job fails in pytest after enabling OpenLDAP in it: Same job with mbedTLS runs pytest with no issues: /cc @icing Also a new test 1308 failure after accidentally running it in the MultiSSL job: |
This reverts commit 635dcd6. mbedTLS doesn't reproduce this in pytest. https://github.com/curl/curl/actions/runs/16387693424/job/46309536377?pr=17963
|
The pytest failure is an unexpected 2nd connection was opened when all requests should have been served on the same one. The log shows: where there is nothing happening for 5 seconds and then curl tries to reuse the existing connection, but the server closed this due to timeout. This looks like CI was very busy and just did not give the curl process enough cpu. We can try mitigating this with longer timeouts on the server. |
When CI is not able to give clients enough cpu, the default Apache KeepAliveTimeout of 5 seconds may trigger and cause tests to fail. Increase the timeout to 30 seconds for reliability. refs curl#17963 e Bitte geben Sie eine Commit-Beschreibung für Ihre Änderungen ein. Zeilen,
|
You may want to try this again by integrating #17968. |
|
@icing Thanks a lot for your quick feedback, and fix! Applying #17968 made pytest finish successfully. It makes we wonder what causes the extra connection and delay. It also affects mbedTLS (though it passed without the timeout bump): I expected OpenLDAP to not interfere with HTTP. |
I would expect the same. Worth a detailed look. |
To fix test 1308 in MultiSSL builds. Failure was caused by the random number generator virtual function being NULL, instead of pointing to the implementation in the runtime-selected TLS backend. This could happen in MultiSSL builds when a functionality was asking for a random number without triggering a VTLS function table initialization first. Such functionality is MIME, or form data via MIME. Fixing: ``` test 1308...[formpost tests] libtests returned 44, when expecting 0 1308: exit FAILED [...] === Start of file stderr1308 URL: log/3/test-1308 /Users/runner/work/curl/curl/tests/libtest/lib1308.c:70 Assertion 'res == 0' FAILED: curl_formget returned error /Users/runner/work/curl/curl/tests/libtest/lib1308.c:72 Assertion 'total_size == 518' FAILED: curl_formget got wrong size back /Users/runner/work/curl/curl/tests/libtest/lib1308.c:88 Assertion 'res == 0' FAILED: curl_formget returned error /Users/runner/work/curl/curl/tests/libtest/lib1308.c:89 Assertion 'total_size == 899' FAILED: curl_formget got wrong size back ``` Ref: https://github.com/curl/curl/actions/runs/16387693424/job/46309536359?pr=17963#step:16:2515 Bug: curl#17963 (comment)
To avoid a ~7x time increase with OpenLDAP enabled.
It builds, but a no-op.
733b501 to
5c719db
Compare
To fix test 1308 in MultiSSL builds. Failure was caused by the random number generator virtual function being NULL, instead of pointing to the implementation in the runtime-selected TLS backend. This could happen in MultiSSL builds when a functionality was asking for a random number without triggering a VTLS function table initialization first. Such functionality is MIME, or form data via MIME. The reason CI did not catch it in an earlier MultiSSL GHA/windows job, is that it was a debug-enabled one. In debug-enabled builds the test runner was overriding the random number generator for all tests. Fixed this by moving the override to the tests requiring it, via 1fcf225 #17971, enabling debug builds to catch this issue. Enable MultiSSL in two CI jobs, to verify this patch. Fixing: ``` test 1308...[formpost tests] libtests returned 44, when expecting 0 1308: exit FAILED [...] === Start of file stderr1308 URL: log/3/test-1308 tests/libtest/lib1308.c:70 Assertion 'res == 0' FAILED: curl_formget returned error tests/libtest/lib1308.c:72 Assertion 'total_size == 518' FAILED: curl_formget got wrong size back tests/libtest/lib1308.c:88 Assertion 'res == 0' FAILED: curl_formget returned error tests/libtest/lib1308.c:89 Assertion 'total_size == 899' FAILED: curl_formget got wrong size back ``` Ref: https://github.com/curl/curl/actions/runs/16387693424/job/46309536359?pr=17963#step:16:2515 Bug: #17963 (comment) Closes #17970
Bind them to the (arbitrary choice of) Apple clang and gcc compilers,
respectively.
Also:
jobs the same as before this patch.
all 3 compilers.
install_steps.To avoid keeping around special bool fields.