summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2024-07-10[ruby/net-http] Fix wrong hostname with test_max_version testHiroshi SHIBATA
https://github.com/ruby/net-http/commit/f00d198433
2024-07-10[ruby/net-http] Rewrite WEBrick server with TCPServer and ↵Hiroshi SHIBATA
OpenSSL::SSL::SSLServer https://github.com/ruby/net-http/commit/b01bcf6d7f
2024-07-10Eliminate array allocations for single splat followed by mutable keywordsJeremy Evans
For calls such as: m(*ary, a: 2, **h) m(*ary, **h, **h, **h) Where m does not take a positional argument splat, there was previously an array allocation (splatarray true) to dup ary, even though it was not necessary to do so. This is because the elimination of the array allocation (splatarray false) was performed in the optimizer, and the optimizer didn't handle this case, because the instructions for the keywords can be of arbitrary length. Move part of the optimization from the optimizer to the compiler, detecting parse trees of the form: ARGS_PUSH: head: SPLAT tail: HASH (without brace) And using splatarray false instead of splatarray true for them. Unfortunately, moving part of the optimization to the compiler broke the hash allocation elimination optimization for calls of the form: m(*ary, a: 2) That's because the compiler had already set splatarray false, and the optimizer code was looking for splatarray true. Split the array allocation elimination and hash allocation elimination in the optimizer so that the hash allocation elimination will still apply if the compiler performs the splatarray false optimization.
2024-07-09[rubygems/rubygems] Bump rb-sysdependabot[bot]
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.97 to 0.9.98. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.97...v0.9.98) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> https://github.com/rubygems/rubygems/commit/d2846130bc
2024-07-09[rubygems/rubygems] Suppress SSLError warning because it's only for debugging.Hiroshi SHIBATA
http://ci.rvm.jp/logfiles/brlog.trunk.20240709-010435#L1554 https://github.com/rubygems/rubygems/commit/a1a46f413b
2024-07-09[ruby/open-uri] Try Windows tests againHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/50f265ba29
2024-07-09Removed duplicate server threadHiroshi SHIBATA
2024-07-09Reapply "Reverts related commits with https://github.com/ruby/open-uri/pull/37"Hiroshi SHIBATA
This reverts commit 02c4f0c89db3689c5272f00c548ca3008120459b.
2024-07-08Reverts related commits with https://github.com/ruby/open-uri/pull/37Hiroshi SHIBATA
It caused Timeout failure with RJIT and chkbuild http://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240708T063006Z.fail.html.gz https://github.com/ruby/ruby/actions/runs/9836594303/job/27152644853
2024-07-08Load net-http explicitly for SimpleHTTPProxyServerHiroshi SHIBATA
2024-07-08[ruby/tempfile] typofixHiroshi SHIBATA
https://github.com/ruby/tempfile/commit/82a74b017e
2024-07-08Load socket explicitly for TCPServerHiroshi SHIBATA
2024-07-08Load OpenSSL on TestOpenURIUtils for with_httpsHiroshi SHIBATA
2024-07-08[ruby/open-uri] Don't use Base64 libraryHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/c8c0452d53
2024-07-08[ruby/open-uri] Test with WindowsHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/2606892a43
2024-07-08[ruby/open-uri] Move certificates under the TestOpenURIUtilsHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/a28c2da5d2
2024-07-08[ruby/open-uri] Load stringio with the correct filesHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/cb17a907a2
2024-07-08[ruby/open-uri] Removed needless class definition and variablesHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/ab0e916997
2024-07-08[ruby/open-uri] Don't use URI libraryHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/15989970b6
2024-07-08[ruby/open-uri] support CONNECT method for SimpleHTTPProxyHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/2e36793bd5
2024-07-08[ruby/open-uri] Added SimpleHTTPSServer by TCPServer and OpenSSLHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/57c80e1576
2024-07-08[ruby/open-uri] Added SimpleHTTPProxyServer by TCPServerHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/ad47529306
2024-07-08[ruby/open-uri] Extract SimpleHTTPServer and with_http to TestOpenURIUtils ↵Hiroshi SHIBATA
module for other tests https://github.com/ruby/open-uri/commit/489a1e9006
2024-07-08[ruby/open-uri] Added SimpleHTTPSServer by TCPServerHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/a2b1ebe465
2024-07-08[ruby/open-uri] Removed needless setup and teardown, tmpdir variablesHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/b2d7fc4ff3
2024-07-08[ruby/open-uri] Extract FTP tests from test_open-uri.rbHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/324111eb41
2024-07-08[ruby/open-uri] Extract HTTP Proxy tests from test_open-uri.rbHiroshi SHIBATA
https://github.com/ruby/open-uri/commit/e9e6bd2779
2024-07-05[ruby/irb] Return only commands when completing help command'sStan Lo
argument (https://github.com/ruby/irb/pull/973) The command only takes command names as arguments, so we should only return command names as candidates. This will help users find a command faster as completion will be another useful hint too. https://github.com/ruby/irb/commit/7b6557cc24
2024-07-05Fix flaky test_stat_heap_allPeter Zhu
We only collect GC.stat_heap(nil, stat_heap_all) once, outside of the loop, but assert_equal could allocate objects which can cause a GC to run and cause stat_heap_all to be out-of-sync.
2024-07-05[rubygems/rubygems] Restrict generic `arm` to only match 32-bit armなつき
https://github.com/rubygems/rubygems/commit/14c4c16e96
2024-07-05[rubygems/rubygems] Use preferred add_dependency instead of ↵Jerome Dalbert
add_runtime_dependency https://github.com/rubygems/rubygems/commit/9a08043858
2024-07-04[rubygems/rubygems] Handle OpenSSL::SSL::SSLError in local https serverHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/ccbbe84d77
2024-07-04[rubygems/rubygems] Align code styles with rubocop and others.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/c31a1592ee
2024-07-04[rubygems/rubygems] Correctly handling fetcher leakHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/c538558522
2024-07-04[rubygems/rubygems] Removed needless variableHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/29f71ee6d2
2024-07-04[rubygems/rubygems] YAML is always enabledHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/c755bcde62
2024-07-04[rubygems/rubygems] Removed unused gzip codeHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/ee45ebb5c3
2024-07-04[rubygems/rubygems] Rewrite WEBrick server with TCPServer and ProxyHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/3ae4358024
2024-07-04[rubygems/rubygems] Rewrite WEBrick server with TCPServer and ↵Hiroshi SHIBATA
OpenSSL::SSL::SSLServer https://github.com/rubygems/rubygems/commit/21319eccac
2024-07-04[rubygems/rubygems] Cleanup needless code from HTTP/HTTPS testsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/69bd962b56
2024-07-04[rubygems/rubygems] Split HTTP tests and HTTPS testsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/43f98b787b
2024-07-04[rubygems/rubygems] Extract tests with local HTTP/HTTPS server from ↵Hiroshi SHIBATA
TestGemRemoteFetcher https://github.com/rubygems/rubygems/commit/52db9fd501
2024-07-04[rubygems/rubygems] Extract tests with S3 resources from TestGemRemoteFetcherHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/d3ee8d2d3b
2024-07-04Fix the return value of `Integer#downto` called with a blockNobuyoshi Nakada
As the document states, it should return `self`, not `nil`. Fix up of f4b313f7338f5fbe37f73aae29f70aeb474f7f5b.
2024-07-03Move Array#map to RubyAaron Patterson
Improves activerecord by about 1% on the interpreter: ``` before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) [arm64-darwin23] after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) [arm64-darwin23] ------------ ----------- ---------- ---------- ---------- ------------- ------------ bench before (ms) stddev (%) after (ms) stddev (%) after 1st itr before/after activerecord 235.2 0.8 233.6 0.7 1.01 1.01 ------------ ----------- ---------- ---------- ---------- ------------- ------------ Legend: - after 1st itr: ratio of before/after time for the first benchmarking iteration. - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup. ``` Improves YJIT by about 4%: ``` before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) +YJIT [arm64-darwin23] after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) +YJIT [arm64-darwin23] ------------ ----------- ---------- ---------- ---------- ------------- ------------ bench before (ms) stddev (%) after (ms) stddev (%) after 1st itr before/after activerecord 142.1 1.2 137.0 0.6 1.00 1.04 ------------ ----------- ---------- ---------- ---------- ------------- ------------ Legend: - after 1st itr: ratio of before/after time for the first benchmarking iteration. - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup. ```
2024-07-03[ruby/irb] Introduce cd commandStan Lo
(https://github.com/ruby/irb/pull/971) It's essentially a combination of pushws and popws commands that are easier to use. Help message: ``` Usage: cd ([target]|..) IRB uses a stack of workspaces to keep track of context(s), with `pushws` and `popws` commands to manipulate the stack. The `cd` command is an attempt to simplify the operation and will be subject to change. When given: - an object, cd will use that object as the new context by pushing it onto the workspace stack. - "..", cd will leave the current context by popping the top workspace off the stack. - no arguments, cd will move to the top workspace on the stack by popping off all workspaces. Examples: cd Foo cd Foo.new cd @ivar cd .. cd ``` https://github.com/ruby/irb/commit/4a0e0e89b7
2024-07-03array.c: Remove outdated assertionsJean Boussier
Following [Feature #20589] it can happen that we change the capacity of a frozen array, so these assertions no longer make sense. Normally we don't hit them because `Array#freeze` shrinks the array, but if somehow the Array was frozen using `Object#freeze` then we may shrink it after it was frozen.
2024-07-03[Feature #20470] Split GC into gc_impl.cPeter Zhu
This commit splits gc.c into two files: - gc.c now only contains code not specific to Ruby GC. This includes code to mark objects (which the GC implementation may choose not to use) and wrappers for internal APIs that the implementation may need to use (e.g. locking the VM). - gc_impl.c now contains the implementation of Ruby's GC. This includes marking, sweeping, compaction, and statistics. Most importantly, gc_impl.c only uses public APIs in Ruby and a limited set of functions exposed in gc.c. This allows us to build gc_impl.c independently of Ruby and plug Ruby's GC into itself.
2024-07-03[ruby/openssl] Add SSLSocket#readbyteGrant Gardner
Companion to getbyte but raise EOFError Similar to https://github.com/ruby/openssl/pull/438 https://github.com/ruby/openssl/commit/c40f70711a
2024-07-02Add regression test for mutating pack's format stringAaron Patterson
It doesn't look like there was a test added for this bug, so I'm adding it. Code is from here: https://web.archive.org/web/20160908192307/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24445