summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-09rb_equal_opt: fully static call data卜部昌平
This changeset reduces the generated binary of rb_equal_opt from 129 bytes to 17 bytes on my machine, according to nm(1). Notes: Merged: https://github.com/ruby/ruby/pull/3179
2020-06-09vm_ci_markable: added卜部昌平
CIs are created on-the-fly, which increases GC pressure. However they include no references to other objects, and those on-the-fly CIs tend to be short lived. Why not skip allocation of them. In doing so we need to add a flag denotes the CI object does not reside inside of objspace. Notes: Merged: https://github.com/ruby/ruby/pull/3179
2020-06-09vm_search_method_fastpath: avoid rb_vm_empty_cc()卜部昌平
This is such a hot path that it's worth eliminating a function call. Use the static variable directly instead. Notes: Merged: https://github.com/ruby/ruby/pull/3179
2020-06-09check_cfunc: add assertions卜部昌平
For debug. Must not change generated binary unless VM_ASSERT is on. Notes: Merged: https://github.com/ruby/ruby/pull/3179
2020-06-08fix debugging outputAaron Patterson
2020-06-08Fix crashes in the peephole optimizer on OpenBSD/sparc64Jeremy Evans
These crashes are due to alignment issues, casting ADJUST to INSN and then accessing after the end of the ADJUST. These patches come from Stefan Sperling <stsp@apache.org>, who reported the issue. Notes: Merged: https://github.com/ruby/ruby/pull/2961
2020-06-09* 2020-06-09 [ci skip]git
2020-06-09Avoid requiring "psych/versions"Yusuke Endoh
This leads to double requiring "ext/psych/lib/psych/versions.rb" and ".ext/common/psych/versions.rb", which produces doxens of warnings during `make test-all`. http://rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200608T123004Z.log.html.gz ``` [15092/20234] TestRDocOptions#test_init_with_encoding/home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:233: warning: already initialized constant Psych::LIBYAML_VERSION /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:233: warning: previous definition of LIBYAML_VERSION was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:235: warning: already initialized constant Psych::NOT_GIVEN /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:235: warning: previous definition of NOT_GIVEN was here /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/ext/psych/lib/psych.rb:271: warning: method redefined; discarding old load /home/chkbuild/chkbuild/tmp/build/20200608T123004Z/ruby/.ext/common/psych.rb:271: warning: previous definition of load was here ... ``` The same issue happened in fiddle.gemspec, and this change applies the same fix as [fiddle](https://github.com/ruby/fiddle/issues/34).
2020-06-08Fixed main dependencyNobuyoshi Nakada
`programs` has depended on the "fake" script, which is used by `test-spec` and etc.
2020-06-08Fixed test dependenciesNobuyoshi Nakada
All tests of `test-all` or more require not only the `main` but also extension libraries.
2020-06-08Updated the benchmark-driver versionNobuyoshi Nakada
2020-06-08Defaulted benchmark output to markdown with comarisonNobuyoshi Nakada
2020-06-08* 2020-06-08 [ci skip]git
2020-06-07Enhanced Rdoc for Hash (#3187)Burdette Lamar
Methods: #<= #< #>= #> #to_proc Also, a small amount of housekeeping: Adding backslash to some class name to prevent linking. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-06-07Differentiate `...` in lambda argumentsNobuyoshi Nakada
2020-06-07Fix `make benchmark` exampleRyuta Kamizono
`make benchmark ARGS=../benchmark/erb_render.yml` does not work. ``` % make benchmark ARGS=../benchmark/erb_render.yml /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \ --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \ --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \ ../benchmark/erb_render.yml Traceback (most recent call last): 6: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `<main>' 5: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `flat_map' 4: from ./benchmark/benchmark-driver/exe/benchmark-driver:112:in `each' 3: from ./benchmark/benchmark-driver/exe/benchmark-driver:122:in `block in <main>' 2: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `load_file' 1: from /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `open' /Users/kamipo/.rbenv/versions/2.6.6/lib/ruby/2.6.0/psych.rb:577:in `initialize': No such file or directory @ rb_sysopen - ../benchmark/erb_render.yml (Errno::ENOENT) make: *** [benchmark] Error 1 % make benchmark ARGS=benchmark/erb_render.yml /Users/kamipo/.rbenv/shims/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \ --executables="compare-ruby::/Users/kamipo/.rbenv/shims/ruby --disable=gems -I.ext/common --disable-gem" \ --executables="built-ruby::./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems --disable-gem" \ benchmark/erb_render.yml Calculating ------------------------------------- compare-ruby built-ruby erb_render 825.454k 783.664k i/s - 1.500M times in 1.817181s 1.914086s Comparison: erb_render compare-ruby: 825454.4 i/s built-ruby: 783663.8 i/s - 1.05x slower ``` Notes: Merged: https://github.com/ruby/ruby/pull/3191
2020-06-07docs: fix typoszTheory
Notes: Merged: https://github.com/ruby/ruby/pull/3183
2020-06-06Add leading arguments support to arguments forwardingJeremy Evans
The idFWD_KWREST sections may be wrong. However, the existing idFWD_KWREST sections for ... without leading arguments are already broken. Implements [Feature #16378] Notes: Merged: https://github.com/ruby/ruby/pull/3190
2020-06-06Remove experimental feaures and related code completelyYuki Nishijima
Original pull request: https://github.com/ruby/did_you_mean/pull/147
2020-06-06Make test for no method error more reliableYuki Nishijima
This test should not depend on the bahaviour of the did_you_mean gem.
2020-06-07* 2020-06-07 [ci skip]git
2020-06-06Fix build failuresYuki Nishijima
Notes: Merged: https://github.com/ruby/ruby/pull/3135
2020-06-06Sync did_you_meanYuki Nishijima
Notes: Merged: https://github.com/ruby/ruby/pull/3135
2020-06-06Hash marks in Makefile need to be escaped [Bug #16935]Nobuyoshi Nakada
2020-06-06* 2020-06-06 [ci skip]git
2020-06-06Run tests in more parallelNobuyoshi Nakada
2020-06-05Aligned test-bundler-parallel at the end of the test orderNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3189
2020-06-05Try test-bundler-parallel in GitHub ActionsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3189
2020-06-05Fixup test-bundler-parallelNobuyoshi Nakada
* Do not chdir in the runner process, to access miniruby. Chdir in worker processes instead. * GNU make does not export newly added environment variables by default, set PARALLEL_TESTS_EXECUTABLE in the runner. Notes: Merged: https://github.com/ruby/ruby/pull/3189
2020-06-05Fixup 347127794e8041a1257b7241bbbdd9d0db2921a5Hiroshi SHIBATA
2020-06-05spec/bundler/support/parallel.rb is no longer used parallel_rspec.Hiroshi SHIBATA
2020-06-05[ruby/psych] Fixing compatibility with libyaml 0.2.5Aaron Patterson
The main issue is that commas aren't allowed in local tags. libyaml was updated to follow the spec, and our tests were out of date. See: https://github.com/yaml/libyaml/issues/196 https://github.com/ruby/psych/commit/3f5e520fd3 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Add LICENSE to the gemPo-Chuan Hsieh
https://github.com/ruby/psych/commit/02919596fa Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Remove unnecessary version guard from versions.rbDavid Rodríguez
Removing it triggers the following warnings when running `bundle` under jruby from the root of the `psych` repo prints the following warnings: ``` /path/to/jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:7: warning: already initialized constant VERSION /path/to//jruby-9.2.9.0/lib/ruby/gems/shared/gems/psych-3.1.0-java/lib/psych/versions.rb:10: warning: already initialized constant DEFAULT_SNAKEYAML_VERSION ``` This is because bundler loads the versions file relatively from the local gemspec, and then internally loads the psych gem, causing the redefinition warnings. Instead, we modify the $LOAD_PATH so that when working locally on the `psych` repo, the local version of `psych` gets used. https://github.com/ruby/psych/commit/a3fc8191a7 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Fix ArgumentError with leading and trailing underscores in ↵Mark Thorn
number strings. https://github.com/ruby/psych/commit/ac2d2c9b1b Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Fix gem installationDavid Rodríguez
Current version is not installable because the gemspec is invalid, since it includes a `.travis.yml` file that no longer exists, so `rake install` fails like this: ``` $ rake install rake aborted! WARNING: See https://guides.rubygems.org/specification-reference/ for help ERROR: While executing gem ... (Gem::InvalidSpecificationException) [".travis.yml"] are not files ``` https://github.com/ruby/psych/commit/32b18ca7ca Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Implement `freeze` option for Pysch.loadJean Boussier
https://github.com/ruby/psych/commit/7dae24894d Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Implement a freeze load optionJean Boussier
https://github.com/ruby/psych/commit/04f97f7a56 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05[ruby/psych] Refactor `symbolize_names`Jean Boussier
https://github.com/ruby/psych/commit/3e472ab2d7 Notes: Merged: https://github.com/ruby/ruby/pull/3188
2020-06-05`local_address` may raise IOError in debug printKazuhiro NISHIYAMA
https://rubyci.org/logs/rubyci.s3.amazonaws.com/wsl2/ruby-master/log/20200605T020004Z.fail.html.gz ``` [ 984/20282] IMAPTest#test_connection_closed_without_greeting#<Thread:0x000055b6e9589d28 /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:133 run> terminated with exception (report_on_exception is true): /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `local_address': closed stream (IOError) from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/.ext/common/socket.rb:252:in `connect_address' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block (2 levels) in test_connection_closed_without_greeting' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each_object' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `each' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `map' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:514:in `block in test_connection_closed_without_greeting' from /home/mame/chkbuild/tmp/build/20200605T020004Z/ruby/test/net/imap/test_imap.rb:134:in `block in start_server' ```
2020-06-05Add sockets to debug printKazuhiro NISHIYAMA
debug print does not include `in_tcp_socket_2`, so I think other socket connected to server socket. Add sockets to debug print, and check other socket is in same process or not. https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-gcc/ruby-master/log/20200604T160009Z.fail.html.gz ``` 1) Failure: IMAPTest#test_connection_closed_without_greeting [/export/home/chkbuild/chkbuild-gcc/tmp/build/20200604T160009Z/ruby/test/net/imap/test_imap.rb:523]: [Net::IMAP::Error] exception expected, not #<RuntimeError: {:server=>#<TCPServer:(closed)>, :port=>35490, :server_created=> {:server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.30510591}, :in_start_server_before_accept=>{:t=>45917010.305154555}, :in_tcp_socket=> {:host=>"::1", :port=>35490, :server=>"#<TCPServer:fd 10, AF_INET6, ::1, 35490>", :t=>45917010.40560127}, :in_start_server=> {:sock_addr=>["AF_INET6", 35490, "::1", "::1"], :sock_peeraddr=>["AF_INET6", 51584, "::1", "::1"], :t=>45917010.40767231}, :in_start_server_sock_closed=>{:t=>45917010.40770047}, :in_rescue=> {:e=>#<Errno::EINVAL: Invalid argument - connect(2) for [::1]:35490>, :server_addr=>"::1", :t=>45917010.40867455}} >. ```
2020-06-05Skip tests which do not work until installed when load-relativeNobuyoshi Nakada
2020-06-05Show better failure messagesNobuyoshi Nakada
2020-06-05Update docs in net/http.rbKir Shatrov
...to reflect that Net::HTTP.start accepts keep_alive_timeout as an option. Notes: Merged: https://github.com/ruby/ruby/pull/3185
2020-06-05Ensure that the head of the vacancy list is correctly inserted into the ↵Samuel Williams
linked list. See <https://bugs.ruby-lang.org/issues/16814> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3182
2020-06-05* 2020-06-05 [ci skip]git
2020-06-05Enable `Style/MethodCallWithoutArgsParentheses` in rubygemsDavid Rodríguez
Notes: Merged: https://github.com/ruby/ruby/pull/3184
2020-06-05[rubygems/rubygems] Use LoadError#path to figure out the argument passed to ↵Yuki Nishijima
'require' https://github.com/rubygems/rubygems/commit/5995394ec4 Notes: Merged: https://github.com/ruby/ruby/pull/3184
2020-06-05[rubygems/rubygems] Modify `RakeFileUtils.verbose_flag` only when neededDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d490309d75 Notes: Merged: https://github.com/ruby/ruby/pull/3184
2020-06-05[rubygems/rubygems] Fix test warningsDavid Rodríguez
Since `rake package` started printing to stdout by default, we get these warnings printed when running rubygems tests: ``` $ rake Run options: --seed 6097 # Running: ...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................mkdir -p pkg mkdir -p pkg/pkgr-1.2.3 rm -f pkg/pkgr-1.2.3/x ln x pkg/pkgr-1.2.3/x rm -f pkg/pkgr-1.2.3/y ln y pkg/pkgr-1.2.3/y cd pkg/pkgr-1.2.3 cd - .... Finished in 50.578889s, 43.0812 runs/s, 134.8191 assertions/s. 2179 runs, 6819 assertions, 0 failures, 0 errors, 0 skips Coverage report generated for Unit Tests to /home/deivid/Code/rubygems/coverage. 8080 / 8978 LOC (90.0%) covered. ``` The reason is that, although these tests wrap the `Rake.application["package"].invoke` with a `capture_io` block, the rake application initialization happens outside of this block, and a copy of `$stdout` is saved in there, and that's where the task prints. So the `capture_io` `$stdout` and `$stderr` dance is not effective. To fix, we move the `Rake` application initialization inside the `capture_io` block. https://github.com/rubygems/rubygems/commit/7f6e2398a5 Notes: Merged: https://github.com/ruby/ruby/pull/3184