Граф коммитов

59328 Коммитов

Автор SHA1 Сообщение Дата
Konstantin Papkovskiy 1bdabaa6b1 base64.rb: improve performance of Base64.urlsafe_encode64
* lib/base64.rb: avoid unnecessary memory allocations
2019-12-10 14:32:35 +09:00
Yusuke Endoh 3ca3c8d768 lib/net/http.rb: align the indentation 2019-12-10 14:15:35 +09:00
Kazuhiro NISHIYAMA 7be550d046
Stop Thread.new in `DRb::TimerIdConv::TimerHolder2#on_gc`
and add more stop_pool after stop_service
2019-12-10 12:43:49 +09:00
Nobuyoshi Nakada 129c3216d9
[cygwin] Removed unnecessary packages 2019-12-10 12:35:57 +09:00
Nobuyoshi Nakada cd35c09540
[cygwin] Removed unnecessary `-c` options 2019-12-10 12:35:44 +09:00
卜部昌平 ec931ee9e1 forward declare struct timespec
... like we do so for struct timeval at several hundreds of lines above.
Depending on OS/Compiler, this can be the first place for the struct to
appear.  To make sure the struct is global, we need a forward
declaration at this point.
2019-12-10 11:43:55 +09:00
Yusuke Endoh c50d9dc67d test/ruby/test_keywords.rb: suppress a warning
https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu1604/ruby-master/log/20191210T003005Z.log.html.gz
```
.../test/ruby/test_keyword.rb:2711: warning: `*' interpreted as argument prefix
```
2019-12-10 11:26:22 +09:00
Yusuke Endoh 660388f6c5 test/net/http/test_https.rb (test_get_SNI_failure): stop proxy settings
Because the test fails under HTTP proxy settings.

https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20191210T000004Z.fail.html.gz
```
  1) Failure:
TestNetHTTPS#test_get_SNI_failure [/export/home/users/chkbuild/cb-gcc/tmp/build/20191210T000004Z/ruby/test/net/http/test_https.rb:81]:
[OpenSSL::SSL::SSLError] exception expected, not #<Net::HTTPServerException: 403 "Forbidden">.
```

The new SNI feature introduced at 54072e329c may need to be improved for
HTTP proxy environment.
2019-12-10 09:41:33 +09:00
aycabta 6a22b2a091 Support completion with case-insensitive fashion
Reline performs completion in a case-insensitive fashon if
Readline.completion_case_fold or completion-ignore-case of .inputrc are set
"on".
2019-12-10 07:07:43 +09:00
git 562fd754b5 * 2019-12-10 [ci skip] 2019-12-10 00:10:44 +09:00
Jeremy Evans f45c0dc239 Add Proc#ruby2_keywords
This allows passing keywords through a normal argument splat in a
Proc.  While needing ruby2_keywords support for methods is more
common, there is code that delegates keywords through normal
argument splats in procs, including code in Rails.  For that
reason, it makes sense to expose this for procs as well.

Internally, ruby2_keywords is not tied to methods, but iseqs,
so this just allows for setting the ruby2_keywords for the iseq
related to the proc.
2019-12-09 17:10:19 +02:00
NARUSE, Yui c2dc27d643 fix typo of 54072e329c 2019-12-09 20:48:35 +09:00
NARUSE, Yui 54072e329c Add ipaddr optional parameter to Net::HTTP#start
to replace the address for TCP/IP connection [Feature #5180]

There're 3 layers of hostname:
* host address for TCP/IP
* TLS server name
* HTTP Host header value
To test DNS round robin or check server certificate from server local,
people sometimes want to connect server with given IP address but keep
TLS server name and HTTP Host header value.

closes [Feature #15215]
closes https://github.com/ruby/ruby/pull/1893
closes https://github.com/ruby/ruby/pull/1977
2019-12-09 20:21:49 +09:00
Hiroshi SHIBATA 1943279426
Added workaround for CoreAssertions used by ruby/logger. 2019-12-09 19:17:32 +09:00
Hiroshi SHIBATA 4b36832ba6
Merge the upstream changes for test-unit on ruby/logger.
This commits are based with:
    f067f7d1aa
    86058f420d
    02db6e8ed8
2019-12-09 19:17:32 +09:00
sonots ff7cc0dc34
[ruby/logger] 1.4.1
https://github.com/ruby/logger/commit/5987f518d1
2019-12-09 19:17:32 +09:00
Hiroshi SHIBATA 895f86c81b
[ruby/logger] Fixes #38
https://github.com/ruby/logger/commit/31efbb29ff
2019-12-09 19:17:31 +09:00
sonots 0fe1b05082
[ruby/logger] 1.4.0
https://github.com/ruby/logger/commit/8127ce0b56
2019-12-09 19:17:31 +09:00
Akira Matsuda 6158e28f8d
[ruby/logger] Avoid creating [] and "" when logging an Exception that has no backtrace
https://github.com/ruby/logger/commit/75fd308053
2019-12-09 19:17:31 +09:00
sonots 0aafc32995
[ruby/logger] frozen_string_literal: true
https://github.com/ruby/logger/commit/a057eede7b
2019-12-09 19:17:31 +09:00
Alan Wu 22548195d5
[ruby/logger] Fix typo
https://github.com/ruby/logger/commit/5f70168ac5
2019-12-09 19:17:31 +09:00
Kazuhiro NISHIYAMA 8395a6a9a0 Add badge of Cygwin 2019-12-09 16:08:12 +09:00
Kazuhiro NISHIYAMA a5e6a50cb8 Add cache of cygwin packages 2019-12-09 16:08:12 +09:00
Kazuhiro NISHIYAMA ea8f03e86c Remove unused branch name 2019-12-09 16:08:12 +09:00
Kazuhiro NISHIYAMA 801eafcc14 Split cygwin-chocolatey cache 2019-12-09 16:08:12 +09:00
Kazuhiro NISHIYAMA c19e62ddc9 Remove debug print 2019-12-09 16:08:12 +09:00
Yusuke Endoh 156fb72d70 vm_args.c (rb_warn_check): Use iseq_unique_id instead of its pointer
(This is the second try of 036bc1da6c6c9b0fa9b7f5968d897a9554dd770e.)

If iseq is GC'ed, the pointer of iseq may be reused, which may hide a
deprecation warning of keyword argument change.

http://ci.rvm.jp/results/trunk-test1@phosphorus-docker/2474221

```
1) Failure:
TestKeywordArguments#test_explicit_super_kwsplat [/tmp/ruby/v2/src/trunk-test1/test/ruby/test_keyword.rb:549]:
--- expected
+++ actual
@@ -1 +1 @@
-/The keyword argument is passed as the last hash parameter.* for `m'/m
+""
```

This change ad-hocly adds iseq_unique_id for each iseq, and use it
instead of iseq pointer.  This covers the case where caller is GC'ed.
Still, the case where callee is GC'ed, is not covered.

But anyway, it is very rare that iseq is GC'ed.  Even when it occurs, it
just hides some warnings.  It's no big deal.
2019-12-09 15:22:48 +09:00
aycabta 07664f3aec Remove workaround encoding modification 2019-12-09 14:21:20 +09:00
aycabta a14c01441b Fix encoding compatibility checking of completion correctly 2019-12-09 14:21:20 +09:00
Yusuke Endoh 3cdb37d9db Revert "vm_args.c (rb_warn_check): Use iseq_unique_id instead of its pointer"
This reverts commit 036bc1da6c.

This caused a failure on iseq_binary mode.
http://ci.rvm.jp/results/trunk-iseq_binary@silicon-docker/2474587

Numbering iseqs is not trivial due to dump/load.
2019-12-09 13:49:24 +09:00
Yusuke Endoh 39c7230a7a Revert "vm_args.c (rb_warn_check): Use unique_id * 2 instead of unique_id"
This reverts commit 751a9b32e5.
2019-12-09 13:49:17 +09:00
Kazuhiro NISHIYAMA 8b07c122b7
Stop pool threads in test/rinda too 2019-12-09 13:46:23 +09:00
Yusuke Endoh 751a9b32e5 vm_args.c (rb_warn_check): Use unique_id * 2 instead of unique_id
The function assumed that the LSB of `callee` was 0.
2019-12-09 12:30:00 +09:00
Yusuke Endoh 036bc1da6c vm_args.c (rb_warn_check): Use iseq_unique_id instead of its pointer
If iseq is GC'ed, the pointer of iseq may be reused, which may hide a
deprecation warning of keyword argument change.

http://ci.rvm.jp/results/trunk-test1@phosphorus-docker/2474221

```
  1) Failure:
TestKeywordArguments#test_explicit_super_kwsplat [/tmp/ruby/v2/src/trunk-test1/test/ruby/test_keyword.rb:549]:
--- expected
+++ actual
@@ -1 +1 @@
-/The keyword argument is passed as the last hash parameter.* for `m'/m
+""
```

This change ad-hocly adds iseq_unique_id for each iseq, and use it
instead of iseq pointer.  This covers the case where caller is GC'ed.
Still, the case where callee is GC'ed, is not covered.

But anyway, it is very rare that iseq is GC'ed.  Even when it occurs, it
just hides some warnings.  It's no big deal.
2019-12-09 12:04:58 +09:00
git 0e71fbc18e * 2019-12-09 [ci skip] 2019-12-09 00:13:07 +09:00
Nobuyoshi Nakada 963b84a51b Separate steps 2019-12-09 00:12:45 +09:00
Nobuyoshi Nakada 5e65e65bd9 Set PATH at once 2019-12-09 00:12:45 +09:00
Nobuyoshi Nakada d00349f994 Fixed the checking out source 2019-12-09 00:12:45 +09:00
Daisuke Fujimura (fd0) 689e744855 Add .github/workflows/cygwin.yml 2019-12-09 00:12:45 +09:00
aycabta 0d63a21047 Skip completion tests for Editline 2019-12-08 18:29:39 +09:00
aycabta c38bc172be Fix encoding of completed list 2019-12-08 08:35:31 +09:00
git 2eb6743773 * 2019-12-08 [ci skip] 2019-12-08 08:10:50 +09:00
aycabta c9b06d4a4e Add test_simple_completion for Readline 2019-12-08 08:01:27 +09:00
aycabta be13b897ea Show failed commits only when exists 2019-12-07 22:02:24 +09:00
aycabta 0ff84eda4e [ruby/irb] Version 1.2.0
https://github.com/ruby/irb/commit/da6577a88c
2019-12-07 21:56:23 +09:00
aycabta 2e595c2d78 [ruby/irb] New IRB needs Ruby 2.5 or later
https://github.com/ruby/irb/commit/4be3158358
2019-12-07 21:56:06 +09:00
aycabta ad6837dd60 [ruby/irb] Revert "Reidline mode needs Reline what needs String#grapheme_clusters"
This reverts commit 2b0b19b87c60d2cdb329979acbb96e12a1f940e7.

New IRB parser needs new Ripper what has lex_state too. The new Ripper is
adopted by Ruby 2.5 or later.

https://github.com/ruby/irb/commit/9ab6e35a2c
2019-12-07 21:55:31 +09:00
aycabta c2afddccb3 [ruby/irb] Reidline mode needs Reline what needs String#grapheme_clusters
https://github.com/ruby/irb/commit/2b0b19b87c
2019-12-07 20:01:53 +09:00
aycabta e72ffc55ba [ruby/reline] Support Ruby 2.5 or later for String#grapheme_clusters
https://github.com/ruby/reline/commit/33e8c8f15b
2019-12-07 20:01:53 +09:00
Yusuke Endoh ebbc77836b test/ruby/test_file_exhaustive.rb: shorten the name of temporary dir
```
  1) Error:
TestFileExhaustive#test_socket_p:
ArgumentError: too long unix socket path (109bytes given but 108bytes max)
    /export/home/users/chkbuild/cb-sunc/tmp/build/20191207T024036Z/ruby/test/ruby/test_file_exhaustive.rb:155:in `initialize'
```
2019-12-07 13:16:41 +09:00