summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-10-02Treat return in block in class/module as LocalJumpError (#2511)Jeremy Evans
return directly in class/module is an error, so return in proc in class/module should also be an error. I believe the previous behavior was an unintentional oversight during the addition of top-level return in 2.4. Notes: Merged-By: jeremyevans <code@jeremyevans.net>
2019-10-02Iseq#to_binary: dump flag for **nil (#2508)Alan Wu
RUBY_ISEQ_DUMP_DEBUG=to_binary and the attached test case was failing. Dump the flag to make sure `**nil` can round-trip properly.
2019-10-01WEBrick: prevent response splitting and header injectionYusuke Endoh
This is a follow up to d9d4a28f1cdd05a0e8dabb36d747d40bbcc30f16. The commit prevented CRLR, but did not address an isolated CR or an isolated LF. Co-Authored-By: NARUSE, Yui <naruse@airemix.jp>
2019-10-01Loop with String#scan without creating substringsNobuyoshi Nakada
Create the substrings necessary parts only, instead of cutting the rest of the buffer. Also removed a useless, probable typo, regexp.
2019-10-01Fix for wrong fnmatch pattternNobuyoshi Nakada
* dir.c (file_s_fnmatch): ensure that pattern does not contain a NUL character. https://hackerone.com/reports/449617
2019-10-01remove `unused var` warningKoichi Sasada
2019-09-30Add rb_enumeratorize_with_size_kw and related macrosJeremy Evans
Currently, there is not a way to create a sized enumerator in C with a different set of arguments than provided by Ruby, and correctly handle keyword arguments. This function allows that. The need for this is fairly uncommon, but it occurs at least in Enumerator.produce, which takes arugments from Ruby but calls rb_enumeratorize_with_size with a different set of arguments. Notes: Merged: https://github.com/ruby/ruby/pull/2509
2019-09-30test/ruby/test_io.rb: supress a "method redefined" warningYusuke Endoh
by explicitly removing the old definition.
2019-09-30test/-ext-/string/test_fstring.rb: suppress "possibly useless use of -@"Yusuke Endoh
"in void context" by assigning the result to a dummy variable.
2019-09-30Use assert_operator instead of mere assertNobuyoshi Nakada
2019-09-30Now `use_symbol` is always trueNobuyoshi Nakada
2019-09-30Emulate method_list (chkbuild) on test-all.Koichi Sasada
chkbuild (CI process) shows methods list before running tests and sometimes it can fails. This commit a code part to emulate this method listing feature.
2019-09-29Add three more C-API functions for handling keywordsJeremy Evans
This adds rb_funcall_passing_block_kw, rb_funcallv_public_kw, and rb_yield_splat_kw. This functions are necessary to easily handle cases where rb_funcall_passing_block, rb_funcallv_public, and rb_yield_splat are currently used and a keyword argument separation warning is raised. Notes: Merged: https://github.com/ruby/ruby/pull/2507
2019-09-30Suppress keyword argument warning from #stepNobuyoshi Nakada
* numeric.c (num_step): pass the extracted argument from keyword argument, not the last argument itself which should have been warned already.
2019-09-27Fix warning when doing Struct.new(:x, keyword_init: true){}Jeremy Evans
This is due to calling rb_mod_module_eval directly instead of using rb_funcall_passing_block. The problem with calling directly is it does not create a new VM frame, so rb_mod_module_eval was called with no arguments, but with the keyword given VM frame flag set, which causes problems internally. Notes: Merged: https://github.com/ruby/ruby/pull/2500
2019-09-27Correctly issue ArgumentError when calling method that accepts no keywordsJeremy Evans
If a method accepts no keywords and was called with a keyword, an ArgumentError was not always issued previously. Force methods that accept no keywords to go through setup_parameters_complex so that an ArgumentError is raised if keywords are provided. Notes: Merged: https://github.com/ruby/ruby/pull/2501
2019-09-27Fix fallback in URI.encode_www_form_component to include #Jeremy Evans
Patch from Matthew Kerwin. Fixes [Bug #14358] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Do not escape + in Shellwords.escapeJeremy Evans
+ is not a character that requires escaping in Bourne sh. Fixes [Bug #14429] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Ignore Errno::EPIPE when sending requests in net/httpJeremy Evans
An EPIPE when sending the request should be ignored. Even if you cannot write more data, you may still be able to read the server's response. Fixes [Bug #14466] Notes: Merged: https://github.com/ruby/ruby/pull/2494
2019-09-27Drop eliminated catch-entriesNobuyoshi Nakada
Drop catch table entries used in eliminated block, as well as call_infos. [Bug #16184]
2019-09-27More tests for [Feature #16150]Nobuyoshi Nakada
2019-09-27[ruby/fileutils] Fix test_cp_r_dev on Windows or other systems without ↵Jeremy Evans
character/block device in /dev Previously this would give an error such as: TestFileUtils#test_cp_r_dev [c:/fileutils/test/fileutils/test_fileutils.rb:455]: [RuntimeError] exception expected, not. Class: <TypeError> Message: <"no implicit conversion of nil into String"> https://github.com/ruby/fileutils/commit/0ce0fefbeb
2019-09-27[ruby/fileutils] Do not break in verbose mode if using FileUtils with a ↵Jeremy Evans
frozen object If FileUtils is included into another object, and verbose mode is used, a FrozenError is currently raised unless the object has the @fileutils_output and @fileutils_label instance variables. This fixes things so that it does not attempt to set the instance variables, but it still uses them if they are present. https://github.com/ruby/fileutils/commit/689cb9c56a
2019-09-27[ruby/fileutils] Skip test_cp_r_socket on JRubyJeremy Evans
https://github.com/ruby/fileutils/commit/20bb9ec789
2019-09-27[ruby/fileutils] Make copy methods handle FIFOs and UNIX socketsJeremy Evans
Previously, this was broken. Trying to copy a FIFO would raise a NoMethodError if File.mkfifo was defined. Trying to copy a UNIX socket would raise a RuntimeError as File.mknod is not something Ruby defines. Handle the FIFO issue using File.mkfifo instead of mkfifo. Handle the UNIX Socket issue by creating a unix socket. Continue to not support character or block devices, raising a RuntimeError for both. Add tests for FIFO, UNIX Socket, and character/block devices. https://github.com/ruby/fileutils/commit/123903532d
2019-09-26Fix more keyword separation issuesJeremy Evans
This fixes instance_exec and similar methods. It also fixes Enumerator::Yielder#yield, rb_yield_block, and a couple of cases with Proc#{<<,>>}. This support requires the addition of rb_yield_values_kw, similar to rb_yield_values2, for passing the keyword flag. Unlike earlier attempts at this, this does not modify the rb_block_call_func type or add a separate function type. The functions of type rb_block_call_func are called by Ruby with a separate VM frame, and we can get the keyword flag information from the VM frame flags, so it doesn't need to be passed as a function argument. These changes require the following VM functions accept a keyword flag: * vm_yield_with_cref * vm_yield * vm_yield_with_block Notes: Merged: https://github.com/ruby/ruby/pull/2493
2019-09-26Add compaction support to `rb_ast_t`Aaron Patterson
This commit adds compaction support to `rb_ast_t`.
2019-09-26Fix keyword argument separation issues in Enumerator::Generator#eachJeremy Evans
This requires adding rb_proc_call_kw to pass the keyword flag. Notes: Merged: https://github.com/ruby/ruby/pull/2491
2019-09-26Honor Syslog::Logger#level overridesGeorge Claghorn
Notes: Merged: https://github.com/ruby/ruby/pull/2453
2019-09-27Kernel#open may be redefinedNobuyoshi Nakada
2019-09-26Fix keyword argument separation issues in Fiber#resumeJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in Thread.newJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix more keyword argument separation issues in PathnameJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in ↵Jeremy Evans
OpenSSL::SSL::SSLSocket#sys{read,write}_nonblock It's unlikely anyone would actually hit these. The methods are private, you only hit this code path if calling these methods before performing the SSL connection, and there is already a verbose warning issued. Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument separation issues in Proc#{<<,>>}Jeremy Evans
This requires adding rb_proc_call_with_block_kw. Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix keyword argument sepration issues when IO#open calls #to_openJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2484
2019-09-26Fix Module#name news and add a testJean Boussier
Notes: Merged: https://github.com/ruby/ruby/pull/2488
2019-09-26Restore ENV, rubygems always sets SOURCE_DATE_EPOCH nowNobuyoshi Nakada
2019-09-26Suppress assert_match warnings.Hiroshi SHIBATA
2019-09-26Assert warnings message for the last argument is keyword parameter.Hiroshi SHIBATA
2019-09-26[rubygems/rubygems] Make sure our modifications to kernel.warn workDavid Rodríguez
And test the fix we're adding. https://github.com/rubygems/rubygems/commit/6f86637b98
2019-09-26[rubygems/rubygems] indentHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/8cdb2fd66f
2019-09-26[rubygems/rubygems] Fix test_gem_attrbronzdoc
https://github.com/rubygems/rubygems/commit/7c5b66f9ef
2019-09-26[rubygems/rubygems] add testsf
https://github.com/rubygems/rubygems/commit/8a7e27381c
2019-09-26[rubygems/rubygems] Fix underscore version for bundler itselfDavid Rodríguez
Previously it wouldn't play nice with the bundler version finder. https://github.com/rubygems/rubygems/commit/d8bb81556d
2019-09-26[rubygems/rubygems] Update expectation in test_to_ruby_with_rsa_keybronzdoc
https://github.com/rubygems/rubygems/commit/2e65f7d4ae
2019-09-26[rubygems/rubygems] Make ruby_code method handle OpenSSL::PKey::RSA objectsbronzdoc
https://github.com/rubygems/rubygems/commit/b1d825ab3a
2019-09-26[rubygems/rubygems] Set SOURCE_DATE_EPOCH env var if not provided.Ellen Marie Dash
Fixes #2290. 1. `Gem::Specification.date` returns SOURCE_DATE_EPOCH when defined, 2. this commit makes RubyGems set it _persistently_ when not provided. This combination means that you can build a gem, check the build time, and use that value to generate a new build -- and then verify they're the same. https://github.com/rubygems/rubygems/commit/d830d53f59
2019-09-26[rubygems/rubygems] Add a gem attr to the Gem::Package class.Daniel Berger
https://github.com/rubygems/rubygems/commit/5b81f364ae
2019-09-26[EXPERIMENTAL] Make Symbol#to_s return a frozen StringBenoit Daloze
* Always the same frozen String for a given Symbol. * Avoids extra allocations whenever calling Symbol#to_s. * See [Feature #16150] Notes: Merged: https://github.com/ruby/ruby/pull/2437