summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/csv] Add support for Ractor (https://github.com/ruby/csv/pull/218)rm1552021-10-245-6/+94
| | | | https://github.com/ruby/csv/commit/a802690e11
* [ruby/csv] Use test-unit gem instead of test-framework of ruby repoSutou Kouhei2021-10-241-0/+1
| | | | https://github.com/ruby/csv/commit/9c4add0d31
* [ruby/csv] CSV(): Add support for Ruby 3 (https://github.com/ruby/csv/pull/215)Anthony Hernandez2021-10-242-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | The implementation of the `CSV` shortcut method is broken in Ruby 3 for calls that look like this: ```ruby CSV(write_stream, col_sep: "|", headers: headers, write_headers: true) do |csv| ... end ``` The above will result in the following error when the `CSV` method attempts to pass on arguments to `CSV#instance`: ``` ArgumentError: wrong number of arguments (given 2, expected 0..1) ``` The issue is due to the changes in Ruby 3 relating to positional & keyword arguments. This commit updates the `CSV()` shortcut implementation to work with Ruby 3, and also updates the documentation for the shortcut method. https://github.com/ruby/csv/commit/310dee45fa
* [ruby/csv] CI: Stop coverage mesurementKenta Murata2021-10-241-1/+0
| | | | https://github.com/ruby/csv/commit/5ff3b95018
* [ruby/csv] Use "\n" for the default row separator on Ruby 3.0 or laterSutou Kouhei2021-10-244-7/+40
| | | | https://github.com/ruby/csv/commit/1f9cbc170e
* [ruby/csv] Changed line ending handling to consider the combination \r\n as ↵Joakim Antman2021-10-242-4/+17
| | | | | | a single entry when row is faulty (https://github.com/ruby/csv/pull/220) https://github.com/ruby/csv/commit/29cef9ea9d
* [ruby/csv] Resolve CSV::Converters and HeaderConverters lazySutou Kouhei2021-10-242-4/+8
| | | | | | | | It's for Ractor. If you want to use the built-in converters, you should call Ractor.make_shareable(CSV::Converters) and/or Ractor.make_shareable(CSV::HeaderConverters). https://github.com/ruby/csv/commit/b0b1325d6b
* [ruby/csv] doc: Match text to the struct name ↵Vince2021-10-241-1/+1
| | | | | | (https://github.com/ruby/csv/pull/217) https://github.com/ruby/csv/commit/744e41130c
* [ruby/csv] Bump versionSutou Kouhei2021-10-241-1/+1
| | | | https://github.com/ruby/csv/commit/3025070cea
* Add INSTRUBY_OPTS to INSTRUBY_ARGS [ci skip]Nobuyoshi Nakada2021-10-231-2/+3
| | | | | For extra options from the `make` command line. Also add explicit `--install` option to install-nodoc.
* [ruby/openssl] test/openssl/test_ssl: use assert_raise in test_bad_socketKazuki Yamaguchi2021-10-231-1/+1
| | | | | | The Ruby tree disallows assert_raises. https://github.com/ruby/openssl/commit/9b4f761e74
* [ruby/openssl] Raise an exception if the IO object passed to SSLSocket isn't ↵Aaron Patterson2021-10-232-0/+12
| | | | | | | | | | | | | | | | | | | a file SSLSocket#connect eventually calls `GetOpenFile` in order to get the underlying file descriptor for the IO object passed in on initialization. `GetOpenFile` assumes that the Ruby object passed in is a T_FILE object and just casts it to a T_FILE without any checks. If you pass an object that *isn't* a T_FILE to that function, the program will segv. Since we assume the IO object is a file in the `connect` method, this commit adds a `CheckType` in the initialize method to ensure that the IO object is actually a T_FILE. If the object *isn't* a T_FILE, this class will segv on `connect`, so I think this is a backwards compatible change. https://github.com/ruby/openssl/commit/919fa44ec2
* [ruby/openssl] test/openssl/test_pkey_rsa: disable test_no_private_exp on ↵Kazuki Yamaguchi2021-10-231-1/+1
| | | | | | | | | OpenSSL 3.0 OpenSSL::PKey::RSA#set_key does not exist when built with OpenSSL 3.0, so it is not possible to create an RSA object with incomplete state. https://github.com/ruby/openssl/commit/ca03c9c070
* [ruby/openssl] test/openssl/test_pkey: use EC keys for ↵Kazuki Yamaguchi2021-10-231-16/+11
| | | | | | | | | | PKey.generate_parameters tests OpenSSL 3.0 refuses to generate DSA parameters shorter than 2048 bits, but generating 2048 bits parameters takes very long time. Let's use EC in these test cases instead. https://github.com/ruby/openssl/commit/c732387ee5
* [ruby/openssl] test/openssl/test_ssl: fix illegal SAN extensionKazuki Yamaguchi2021-10-231-2/+1
| | | | | | | | A certificate can only have one SubjectAltName extension. OpenSSL 3.0 performs a stricter validation and certificates containing multiple SANs will be rejected. https://github.com/ruby/openssl/commit/558cfbe5f5
* [ruby/openssl] test/openssl/test_pkcs12: fix test failures with OpenSSL 3.0Kazuki Yamaguchi2021-10-231-148/+149
| | | | | | | | | | | OpenSSL's PKCS12_create() by default uses pbewithSHAAnd40BitRC2-CBC for encryption of the certificates. However, in OpenSSL 3.0, the algorithm is part of the legacy provider and is not enabled by default. Specify another algorithm that is still in the default provider for these test cases. https://github.com/ruby/openssl/commit/998406d18f
* [ruby/openssl] test/openssl/test_ssl: relax regex to match OpenSSL's error ↵Kazuki Yamaguchi2021-10-231-1/+3
| | | | | | | | | | message OpenSSL 3.0 slightly changed the error message for a certificate verification failure when an untrusted self-signed certificate is found in the chain. https://github.com/ruby/openssl/commit/b5a0a19850
* [ruby/openssl] test/openssl/test_digest: do not test constants for legacy ↵Kazuki Yamaguchi2021-10-231-1/+1
| | | | | | | | | | algorithms Remove availability test for MD4 and RIPEMD160 as they are considered legacy and may be missing depending on the compile-time options of OpenSSL. OpenSSL 3.0 by default disables them. https://github.com/ruby/openssl/commit/a3e59f4c2e
* [ruby/openssl] test/openssl/test_ssl: assume ECC supportKazuki Yamaguchi2021-10-234-24/+14
| | | | | | | | | | Disabling ECC support of OpenSSL is impractical nowadays. We still try to have the C extension compile on no-ec builds (as well as no-dh or no-engine, etc.) as long as we can, but keeping test cases for such an extreme scenario is not worth the effort. https://github.com/ruby/openssl/commit/2cd01d4676
* [ruby/openssl] test/openssl/test_ssl: assume TLS 1.2 supportKazuki Yamaguchi2021-10-233-55/+26
| | | | | | | Current versions of OpenSSL and LibreSSL all support TLS 1.2, so there is no need for checking the availability. https://github.com/ruby/openssl/commit/a175a41529
* [ruby/openssl] test/openssl/utils: remove dup_public helper methodKazuki Yamaguchi2021-10-235-51/+44
| | | | | | | | It uses deprecated PKey::{RSA,DSA,DH}#set_* methods, which will not work with OpenSSL 3.0. The same can easily be achieved using PKey#public_to_der regardless of the key kind. https://github.com/ruby/openssl/commit/7b66eaa2db
* Sync did_you_meanYuki Nishijima2021-10-221-1/+1
|
* Disable did_you_mean in TestPatternMatchingYuki Nishijima2021-10-221-0/+19
|
* Remove the test for DYM's verbose formatterYuki Nishijima2021-10-221-8/+0
|
* Sync did_you_mean againYuki Nishijima2021-10-2210-134/+103
|
* Revert "Sync did_you_mean"Yuki Nishijima2021-10-2210-104/+134
| | | | This reverts commit e22d293e06966733e71a7fd9725eee06c03d0177.
* Sync did_you_meanYuki Nishijima2021-10-2210-134/+104
|
* YJIT: Don't take VM lock on constant IC fill when disabledAlan Wu2021-10-221-0/+2
| | | | | While theoretically it's fine to take the lock and then immediately release it, we don't need to do it when YJIT is off.
* NEWS: Fiddle 1.1.0 is releasedSutou Kouhei2021-10-231-1/+1
|
* update NEWS about last commits.Koichi Sasada2021-10-231-0/+5
|
* * 2021-10-23 [ci skip]git2021-10-231-1/+1
|
* update doc/ractor.md about ivarsKoichi Sasada2021-10-231-9/+30
|
* add vm_ivar_of_class_setKoichi Sasada2021-10-231-0/+11
| | | | benchmark for a class's ivar setter
* allow to access ivars of classes/modulesKoichi Sasada2021-10-234-13/+128
| | | | | if an ivar of a class/module refer to a shareable object, this ivar can be read from non-main Ractors.
* 'uri/https' is neededKoichi Sasada2021-10-221-0/+1
| | | | `URI.parse('https://a.b.c/')` needs 'uri/https'.
* Fix simple test on platforms where compaction is not supportedAlan Wu2021-10-221-1/+5
| | | | | | 844588f9157b364244a7d34ee0fcc70ccc2a7dd9 made it so that trying to call gc_verify_compaction_references on unsupported platform result in an exception rather than a crash. Rescue the exception in a YJIT btest that uses gc_verify_compaction_references.
* [ruby/mutex_m] Make VERSION shareablerm1552021-10-221-0/+1
| | | | https://github.com/ruby/mutex_m/commit/a839e29d04
* [ruby/uri] URI#HTTP#origin and URI#HTTP#authority ↵Tiago2021-10-222-7/+62
| | | | | | | (https://github.com/ruby/uri/pull/30) https://github.com/ruby/uri/commit/bf13946c32 Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz>
* [ruby/delegate] gemspec: Drop unused executables directivesOlle Jonsson2021-10-221-2/+0
| | | | https://github.com/ruby/delegate/commit/81a3c32140
* Reduce YJIT runs on macOS [ci skip]Nobuyoshi Nakada2021-10-221-2/+2
| | | | | MacOs concurrency on GitHub Actions is limited, and the performance is relatively poor.
* Import bigdecimal-3.1.0.devHiroshi SHIBATA2021-10-223-13/+5
|
* Refinement#include and Refinement#prepend have been deprecatedNobuyoshi Nakada2021-10-221-14/+16
|
* debug.gem 1.3.1Koichi Sasada2021-10-221-1/+1
|
* Refinement#include and Refinement#prepend have been deprecatedNobuyoshi Nakada2021-10-221-188/+194
|
* Extract UNPACK_FETCHNobuyoshi Nakada2021-10-221-18/+10
|
* Fix TestRubyOptions#test_enable for -DMJIT_FORCE_ENABLETakashi Kokubun2021-10-211-0/+5
| | | | --enable=all didn't work when cppflags=-DMJIT_FORCE_ENABLE was given.
* Push compaction page alignment check downAaron Patterson2021-10-211-18/+18
| | | | | | | | | | | | It seems like `gc_verify_compaction_references` is not protected in case alignment is wrong. This commit pushes the alignment check down to `gc_start_internal` so that anyone trying to compact will check page alignment I think this method may be getting called on PowerPC and the alignment might be wrong. http://rubyci.s3.amazonaws.com/ppc64le/ruby-master/log/20211021T190006Z.fail.html.gz
* YJIT: don't compile attr_accessor methods when tracing (#4998)Alan Wu2021-10-212-22/+95
| | | | | | | | | | | | | | | | 2d98593bf54a37397c6e4886ccc7e3654c2eaf85 made it so that attr_accessor methods fire C method tracing events. Previously, we weren't checking for whether we are tracing before compiling, leading to missed events. Since global invalidation invalidates all code, and that attr_accessor methods can never enable tracing while running, events are only dropped when YJIT tries to compile when tracing is already enabled. Factor out the code for checking tracing and check it before generating code for attr_accessor methods. This change fixes TestSetTraceFunc#test_tracepoint_attr when it's ran in isolation.
* [rubygems/rubygems] Re-enable `default_ignores` option for standard Justin Searls2021-10-221-2/+0
| | | | | | | | I am not sure why this flag was turned off (it wasn't explained in my commit message in 0365dc852767ae589376a7aad1fb129738e408b0 or in my PR in #4411). Whatever the reason, without `default_ignores` turned on, most default CI configurations will immediately fail, as they most likely vendor and cache their dependencies under `vendor`, which will cause standard to run against all the vendored gems and (most likely) fail. I think we should remove this before this feature is released. https://github.com/rubygems/rubygems/commit/677f74be48
* Add link to YJIT blog post to NEWS.mdMaxime Chevalier-Boisvert2021-10-211-0/+5
| | | Requested by @nurse