forked from eventmachine/eventmachine
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync fork with upstream #2
Draft
ttstarck
wants to merge
412
commits into
master
Choose a base branch
from
sync_fork_for_ruby_3_3
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains 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
But there isn't a public DNS record like 'example.com' with an A rrset, so we'll continue to use yahoo.com for that.
* Minor syntax updates, avoid trailing semicolons * Close connections to avoid hanging on keep-alive HTTP * Use next_port helper instead of hardcoded port numbers
* Add EM timeouts * Use HTTP/1.0 to prevent connection keep-alives * Use next_port helper instead of hardcoded port number
Remove most unit test dependencies on third-party sites and improve consistency.
…n_count Fix connection count off-by-one for epoll and kqueue
* Raise a ruby exception for InvalidWatchSignature addresses eventmachine#512 * Add unit test to check if exception is raised on invalid signature
Explicitly mark destructors that throw as "noexcept(false)" when compiling in a post C++11 dialect.
Fixes: ~~~ $ ruby -Itests tests/test_threaded_resource.rb tests/test_threaded_resource.rb:1:in `<main>': uninitialized constant Test (NameError) ~~~
* Promote InstallOneshotTimer arg from int to uint64_t in native extension * Promote InstallOneshotTimer arg from int to BigInteger in Java class * Use FIX2LONG in lieu of FIX2INT for interval type in t_add_oneshot_timer * Add test for oneshot timer with large future value
This also copies the default DH parameters from the stdlib OpenSSL gem, which was in copied their default from RFC7919, Appendix A.1: ffdhe2048.
These were clobbered by later definitions that came from a different PR.
Fix pure ruby tests
Resolves eventmachine#477, IO waits in Java code checkIO are reduced to at most timerQuantum miliseconds
…hine#1000) Run all Rubies on macOS amd64, use macos-14
Most deployments will be to linux servers, and EventMachine *is* still maintaining *some* support for old versions of ruby. So this still keeps up to four EOL ruby builds for ubuntu, but _only_ for ruby versions that went EOL _after_ that version of ubuntu was first released.
From @MSP-Greg's comment on eventmachine#998: > Since Ruby 2.3 & 2.4 are removed, we can change the workflow's line 46 > from uses: ruby/setup-ruby-pkgs@v1 to uses: ruby/setup-ruby@v1. Co-authored-by: MSP-Greg <[email protected]>
This change still supports four EOL versions: 2.5, 2.6, 2.7, and 3.0. Practically speaking, 2.0, 2.1, and 2.2 have already been removed from CI. ruby 2.5 was released with v2.1.0 of the openssl gem, and v2.1.0 of that gem dropped support for OpenSSL libary versions 0.9.8 to 1.0.0. So, by raising our ruby version, we also raise our minimum supported OpenSSL version to 1.0.1 (or LibreSSL 2.5).
Ubuntu builds sort first (20.04, 22.04, 24.04), then macos-13, macos-14, and windows-2022. This also sorts the windows ucrt build immediately after the other windows builds.
…hine#1002) Friday afternoon is a busy time for GHA...
…-support Remove most EOL rubies from the build matrix
In practice, I don't think either of these really matter: * `@data` will just be reassigned in `#receive_data`'s `:base` clause * `@content` should be reassigned (to non-frozen) by the earlier if/eslif clauses, prior to being mutated by the `else` clause. But, for consistency, documentation, and in case this is subclassed, we should ensure that these vars are always mutable buffers.
…ient-followup Add str.dup to httpclient, for consistency
* Add `#ci?` for tests to adjust themselves in CI * Update TIMEOUT_INTERVAL based on both OS and CI Linux, local: 0.25 Windows, local: 0.5 MacOS, local: 0.5 Linux, in CI: 1.0 Windows, in CI: 2.0 MacOS, in CI: 2.0 And, of course, each test may include its own multiplier or increment. * Raise timeouts for all HttpClient2 tests ...but especially for test_get_pipeline. With the new TEST_INTERVAL, this will be 5s in CI for Linux, and 10s in CI for Windows/MacOS. * Add EM.stop in test errback * Remove one second timeout from test This seems to conflict with the setup_timeout at the top of the block. * Fix casecmp backward compatible to ruby < 2.5 I forgot that we haven't dropped ruby versions prior to 2.5, yet! * Apply pure_ruby multiplier to TIMEOUT_INTERVAL The pure_ruby tests also tend to be much slower than running the standard C++ reactor. * Update tests/test_httpclient2.rb
The tests have been updated with "pend" or "omit", so the test suite should still pass (albeit with a long "TODO list" in the output).
There's no longer any special reason to single out just these tests, so this rake task is obsolete.
This stubbing is just enough to get the rest of the test suite running. It should be safe, as `EM.kqueue?` and `EM.epoll?` already exist for feature detection. The implementation here basically mimics the implementation in ext/rubymain.cpp.
…-pending Run the full test suite in pure ruby CI
These all pass now. I believe they were fixed by 0c0c715 in eventmachine#993.
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.
No description provided.