_I'd like to add CI for JRuby and TruffleRuby, but the last time I tried I got a bunch of errors (admittedly, I didn't spend much time trying to figure them out).
Ideally, we could fix the errors without significant changes, and net-imap could be fully functional under those implementations.
If the changes needed for full compatibility are significant, maybe we can just mark some tests as pending. That will at least serve as a warning of what's incompatible, and prevent new changes from inadvertently widening that gap (see for example #452).
Fixed by
Other related issues
net-imap issues/PRs
JRuby issues/PRs
TruffleRuby issues/PRs:
Misc
- I either omitted or marked as pending everything that's currently failing.
- TODO: diagnose deadlock on error (between
get_tagged_response and receive_responses?)
- Both JRuby and TruffleRuby still fail in various ways when inheriting from Data.
- I temporarily added in a crazy feature-check to our
Data polyfill. Rather than just check RUBY_ENGINE and RUBY_ENGINE_VERSION and defined?(::Data) and ::Data.respond_to?(:define), it tries to use all of the features that were causing tests to fail. If anything looks off, it prints a warning and falls back to the polyfill. I'm not going to merge this feature check. But it's in the branch. 😉
net-imap v0.6.0 will still be deleting DataLite.
_I'd like to add CI for JRuby and TruffleRuby, but the last time I tried I got a bunch of errors (admittedly, I didn't spend much time trying to figure them out).
Ideally, we could fix the errors without significant changes, and
net-imapcould be fully functional under those implementations.If the changes needed for full compatibility are significant, maybe we can just mark some tests as pending. That will at least serve as a warning of what's incompatible, and prevent new changes from inadvertently widening that gap (see for example #452).
Fixed by
Other related issues
net-imapissues/PRs#inspect)net/imapfor JRuby/TruffleRuby #530FakeServer#Connection#closemutex #520#disconnectJRuby issues/PRs
net-imaptest code.TruffleRuby issues/PRs:
::Datamethods in abstract class truffleruby/truffleruby#3892Misc
get_tagged_responseandreceive_responses?)Datapolyfill. Rather than just check RUBY_ENGINE and RUBY_ENGINE_VERSION and defined?(::Data) and ::Data.respond_to?(:define), it tries to use all of the features that were causing tests to fail. If anything looks off, it prints a warning and falls back to the polyfill. I'm not going to merge this feature check. But it's in the branch. 😉net-imapv0.6.0 will still be deletingDataLite.