Skip to content
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

Remaining Ruby 2.6 work #6161

Closed
28 tasks done
headius opened this issue Apr 2, 2020 · 23 comments · Fixed by #6211
Closed
28 tasks done

Remaining Ruby 2.6 work #6161

headius opened this issue Apr 2, 2020 · 23 comments · Fixed by #6211
Milestone

Comments

@headius
Copy link
Member

headius commented Apr 2, 2020

This issue is a catch-all for the unimplemented and tagged items during Ruby 2.6 compatibility work.

Original issue is #5576.

See also other incomplete issues #6149, #6157, #6158. #6159.

Language changes

Core classes updates (outstanding ones only)

Exception

  • Exception#full_message takes :highlight and :order options. Bug #14324

NameError

  • NameError.new accepts a :receiver option to set receiver in Ruby code. Feature #14313

NoMethodError

  • NoMethodError.new accepts a :receiver option to set receiver in Ruby code. Feature #14313

TracePoint

These are not done but moved to #8098.

Coverage

  • A oneshot_lines mode is added. Feature #15022
  • Add :oneshot_lines keyword argument to Coverage.start.
  • Add :stop and :clear keyword arguments to Coverage.result. If clear is true, it clears the counters to zero. If stop is true, it disables coverage measurement.
  • Coverage.line_stub, which is a simple helper function that creates the “stub” of line coverage from a given source code.

NKF

  • Upgrade to nkf v2.1.5

Compatibility issues (excluding feature bug fixes)

Dir

  • Dir.glob with '\0'-separated pattern list will be deprecated, and is now warned. Feature #14643 (JRuby never supported this behavior, so we consider it done)

File

  • File.read, File.binread, File.write, File.binwrite, File.foreach, and File.readlines do not invoke external commands even if the path starts with the pipe character '|'. Feature #14245

Stdlib compatibility issues (excluding feature bug fixes)

These standard libraries have been promoted to default gems.

  • matrix
  • ostruct
  • prime
  • tracer

BigDecimal

  • BigDecimal.new will be removed in version 2.0.
  • BigDecimal creation with exception: false never raises exception (still failing on master)

Pathname

  • Pathname#read, Pathname#binread, Pathname#write, Pathname#binwrite, Pathname#each_line and Pathname#readlines do not invoke external commands even if the path starts with the pipe character '|'. This follows Feature #14245
headius added a commit that referenced this issue Apr 2, 2020
This hangs on one of the "crash" cases provided in test_pow. These
may have been fixed in 2.6, so should be revisited.

See #6161
headius added a commit that referenced this issue Apr 2, 2020
headius added a commit that referenced this issue Apr 2, 2020
Need to clarify with ruby-core.

Punted to #6161
headius added a commit that referenced this issue Apr 2, 2020
@k77ch7
Copy link
Contributor

k77ch7 commented Apr 4, 2020

@headius please review PR(jruby/jcodings#31)
This PR fixes caseMap for Georgian.
I think you can remove the following exlclude tag.

 test/mri/excludes/TestCaseMappingPreliminary.rb 

 exclude :test_georgian_capitalize, "unfinished in initial 2.6 work, #6161"

Thank you.

@headius
Copy link
Member Author

headius commented Apr 6, 2020

@k77ch7 Looks like @lopex included this in the jcodings 1.0.47 update. I'll confirm and remove the exclude. Thank you!

@headius
Copy link
Member Author

headius commented Apr 6, 2020

Exclude removed in 59a9569.

@headius
Copy link
Member Author

headius commented Apr 7, 2020

The prime and tracer gems have been released:

headius added a commit that referenced this issue Apr 7, 2020
@k77ch7
Copy link
Contributor

k77ch7 commented Apr 19, 2020

@headius @lopex please review PR(jruby/jcodings#32)
This PR fixes treeStart for From_UTF8_MAC_Transcoder
I think you can remove the following exlclude tag.

TestTranscode.rb 
exclude :test_utf8_mac, "needs investigation"

&

TestCSVEncodings.rb 
exclude :test_reading_with_most_encodings, "needs investigation, #6157"
exclude :test_regular_expression_escaping, "needs investigation, #6157"

these tests fail when UTF8-MAC encoding.

@headius
Copy link
Member Author

headius commented Apr 20, 2020

@k77ch7 Good find! I was wondering why we failed those CSV tests.

jcodings has been released with your fix and I'll push an update to JRuby shortly.

@k77ch7
Copy link
Contributor

k77ch7 commented Apr 28, 2020

@headius @lopex please review PR(jruby/jcodings#33)
This updates UTF32Encoding.
I think you can remove the following exlclude tag.

TestUTF32.rb
exclude :test_mbc_newline, "Java ArrayIndex error"

@headius
Copy link
Member Author

headius commented Apr 29, 2020

Coverage's oneshot_lines mode was added in #6180. The missing line_stub method was added in #6185.

@headius
Copy link
Member Author

headius commented Apr 29, 2020

@k77ch7 Updated jcodings and encoding excludes in 8a848bd.

@k77ch7
Copy link
Contributor

k77ch7 commented Apr 29, 2020

@headius Thank you.

@k77ch7
Copy link
Contributor

k77ch7 commented May 5, 2020

I create 2 PR(jruby/jcodings#34 and jruby/jcodings#35) to reduce TestTranscode failures.

@headius
Copy link
Member Author

headius commented May 5, 2020

@k77ch7 😍

@headius
Copy link
Member Author

headius commented May 5, 2020

@k77ch7 It looks like the jcodings changes have been merged, so we could do another release. Do you have any other patches in the works that we should wait for?

@k77ch7
Copy link
Contributor

k77ch7 commented May 6, 2020

@headius No, I don't have any patches now. But I'm investigating other encoding test cases.

headius added a commit that referenced this issue May 8, 2020
@headius
Copy link
Member Author

headius commented May 8, 2020

@k77ch7 @lopex jcodings has been released and updated on JRuby master.

@k77ch7
Copy link
Contributor

k77ch7 commented May 11, 2020

@headius I create #6211 and jruby/jcodings#36 .
I believe these will fix test/mri/ruby/test_transcode.rb failures.

headius added a commit that referenced this issue May 11, 2020
@headius
Copy link
Member Author

headius commented May 11, 2020

The matrix gem has a new release (ruby/matrix#12) so I've switched us back to using the gem.

ostruct is the only remaining default gem for which we don't have a release.

@marcandre Thank you for getting an updated matrix release out! Only one to go!

@headius headius linked a pull request May 11, 2020 that will close this issue
@headius headius added this to the JRuby 9.3.3.0 milestone Dec 2, 2021
@headius headius modified the milestones: JRuby 9.3.3.0, JRuby 9.3.4.0 Jan 14, 2022
@headius headius modified the milestones: JRuby 9.3.4.0, JRuby 9.3.5.0 Mar 17, 2022
@headius headius modified the milestones: JRuby 9.3.5.0, JRuby 9.3.6.0, JRuby 9.3.7.0 Jun 23, 2022
@headius headius modified the milestones: JRuby 9.3.7.0, JRuby 9.3.8.0 Aug 9, 2022
@headius headius modified the milestones: JRuby 9.3.8.0, JRuby 9.3.9.0 Sep 12, 2022
@headius headius modified the milestones: JRuby 9.3.9.0, JRuby 9.3.10.0 Oct 13, 2022
@enebo enebo modified the milestones: JRuby 9.3.10.0, Jruby 9.3.11.0 Jan 16, 2023
@headius headius modified the milestones: JRuby 9.3.13.0, JRuby 9.3.14.0 Feb 6, 2024
@headius
Copy link
Member Author

headius commented Feb 9, 2024

Detargeting; a few of these are not supportable, and some others have their own issues. We'll leave this in place as a record of the bits we have not finished.

@headius headius removed this from the JRuby 9.3.14.0 milestone Feb 9, 2024
@headius
Copy link
Member Author

headius commented Feb 9, 2024

Actually most of the remaining items have been implemented or moved to their own issues.

@headius headius closed this as completed Feb 9, 2024
@enebo enebo added this to the Non-Release milestone Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants