Commit graph

8884 commits

Author SHA1 Message Date
nobu
2eb5e09ea5 Add test for String#rstrip!
* test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test
  for String#rstrip!.  [Fix GH-1176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 05:56:00 +00:00
nobu
78d15f5e35 Add test for String#lstrip!
* test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test
  for String#lstrip!.  [Fix GH-1176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-28 00:18:55 +00:00
usa
1187cf0e00 * test/ruby/test_process.rb (TestProcess#test_execopts_open_chdir_m17n_path):
test for r53346, r53347 and r53348.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 12:24:03 +00:00
normal
edea151a4b IO#readpartial rejects bad args
Sometimes a sleepy developer will want to swap read_nonblock
for readpartial forget to remove "exception: false"

* io.c (io_getpartial): remove unused kwarg from template
* test/ruby/test_io.rb (test_readpartial_bad_args): new
  [Bug #11885]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 06:15:06 +00:00
nobu
509cfc4c37 Add tests for String#lstrip and rstrip
* test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests
  for String#lstrip and rstrip.  The test cases are used from
  string.c ruby-doc comments.  [Fix GH-1174]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 02:50:56 +00:00
nobu
5a75eabed5 Add test for String#test_insert.
* test/ruby/test_string.rb (test_insert): The test cases are
  written in string.c comments as a reference.  [Fix GH-1173]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-27 02:47:49 +00:00
kou
3d8e4d6037 * lib/xmlrpc/client.rb: Support SSL options in async methods of
XMLRPC::Client.
  [Bug #11489]
  Reported by Aleksandar Kostadinov. Thanks!!!


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-26 09:33:43 +00:00
nobu
22d8481f08 fix common misspelling [ci skip]
* compile.c, cont.c, doc, man: fix common misspelling.
  [ruby-core:72466] [Bug #11870]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 23:23:46 +00:00
naruse
6e181393c6 ignore exception is the address is IPv6
some environments disables IPv6 even if they have IPv6 addresses.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-24 17:53:11 +00:00
normal
f4cacdc4e2 Revert r53253. naruse fixed it differently in r53244
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 18:20:20 +00:00
normal
5e183c7255 test/socket/test_basicsocket.rb: attempt fix for [ruby-cvs:60402]
I'm not sure how fstat on fd=-1 can succeed on some systems...

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 18:08:49 +00:00
nobu
08aa1cd167 test_rdoc_generator_json_index.rb: open in binmode
* test/rdoc/test_rdoc_generator_json_index.rb (test_generate_gzipped):
  open a gzipped file in binary mode, since it is binary.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 16:41:34 +00:00
nobu
96ac47c251 gc.c: do not expose internal singleton class
* gc.c (internal_object_p): should not expose singleton classes
  without a metaclass.  based on patches by ko1 and shugo.
  [Bug #11740]
* class.c (rb_singleton_class_object_p): added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 13:15:58 +00:00
hsbt
145433d9a5 * lib/rdoc.rb: bump version to 4.2.1. It contains following fixes.
https://github.com/rdoc/rdoc/pull/340
  https://github.com/rdoc/rdoc/pull/341
  https://github.com/rdoc/rdoc/pull/367
  https://github.com/rdoc/rdoc/pull/368
* lib/rdoc/*: ditto.
* test/rdoc/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 12:08:13 +00:00
nobu
9da8a29760 string.c: no exception on dummy encoding
* string.c (str_compat_and_valid): as scrub does nothing for dummy
  encoding string now, incompatible encoding is not a matter.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 06:21:14 +00:00
nobu
10a129cee7 escape.c: should not freeze
* ext/cgi/escape/escape.c (optimized_escape_html): CGI.escapeHTML
  should return unfrozen new string.
  [ruby-core:72426] [Bug #11858]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-22 05:31:31 +00:00
nobu
1b107d48ef escape.c: Preserve original state
* ext/cgi/escape/escape.c (preserve_original_state): Preserve
  original state for tainted and frozen.  [Fix GH-1166]
  [ruby-dev:49451] [Bug #11855]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 20:40:02 +00:00
normal
409e53dec1 avoid rb_bug on BasicSocket.for_fd(-1)
* ext/socket/init.c (rsock_init_sock): check FD after validating
* test/socket/test_basicsocket.rb (test_for_fd): new
  [ruby-core:72418] [Bug #11854]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 18:57:50 +00:00
ko1
800607aa7e revert r53228 because this patch breaks rubyspec
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 10:32:33 +00:00
ko1
1bcee938d5 * gc.c (internal_object_p): should not expose singleton classes
without a metaclass.
  [Bug #11740]

* class.c (rb_singleton_class_has_metaclass_p): added.

* test/ruby/test_class.rb: add a test.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 09:40:58 +00:00
hsbt
a7f6b862f0 * test/ruby/test_io.rb: handled rlimit value same as r52277
[Bug #11852][ruby-dev:49446]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 03:15:41 +00:00
nobu
cc52f511b1 vm_backtrace.c: ignore ifunc frames
* vm_backtrace.c (rb_profile_frames): ignore ifunc frames as it
  did before.  [ruby-core:72409] [Bug #11851]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-21 01:18:48 +00:00
nobu
ce7f7f5e3d cgi/escape: Optimize CGI.escapeHTML
* cgi/escape/escape.c: Optimize CGI.escapeHTML for
  ASCII-compatible encodings.  [Fix GH-1164]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 11:54:54 +00:00
nobu
28dc41090a test_cgi_util.rb: fix arguments orders
* test/cgi/test_cgi_util.rb: fix arguments orders, expected values
  should be placed first and then actual results.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 11:31:22 +00:00
nobu
0f4978d533 test_syntax.rb: assertions for other heredocs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:49:46 +00:00
nobu
9d5abbff97 parse.y: labeled heredoc
* parse.y (parser_yylex): allow here documents in labeled
  argument.  [ruby-core:72396] [Bug #11849]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:43:34 +00:00
ko1
a8b0c25293 * proc.c (rb_mod_define_method): should check Symbol or not.
[Bug #11850]

* test/ruby/test_method.rb: add a test.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 02:14:57 +00:00
nobu
1da4d51bf9 assertions.rb: show failed indexes
* test/lib/test/unit/assertions.rb (AllFailures): show indexes in
  total number of failure assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-20 01:43:45 +00:00
nobu
2d97cee4d5 proc.c: fix infinite loop
* proc.c (rb_proc_get_iseq): proc made from symbol does not have
  iseq.  fix infinite loop.  [ruby-core:72381] [Bug #11845]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 15:29:01 +00:00
nobu
d205e680d3 test/unit.rb: color on tty
* test/lib/test/unit.rb (Test::Unit::StatusLine#_prepare_run):
  colorize by default on tty.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 01:17:47 +00:00
nobu
94d36ce335 test/unit.rb: fix outputs
* test/lib/test/unit.rb (Test::Unit::StatusLine#update_status):
  do not print extra empty lines when running on non-tty.
  fix colorizing in verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-19 01:17:41 +00:00
nobu
2a2010c5c1 test/unit.rb: use full columns
* test/lib/test/unit.rb (Test::Unit::StatusLine#update_status):
  exclude colorizing escape sequences from @status_line_size to
  use full columns.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 15:06:00 +00:00
nobu
3e1c01ae46 stringio.c: separate encoding from buffer
* ext/stringio/stringio.c (strio_set_encoding): add StringIO's own
  encoding and separate it from the buffer string to override the
  encoding of string when reading.  [ruby-core:72189] [Bug #11827]
  note that setting the encoding of its buffer string may cause
  unpredictable behavior.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 07:54:33 +00:00
nobu
b7d1536991 stringio.c: padding in ungetbyte
* ext/stringio/stringio.c (strio_ungetbyte): pad with \000 when
  the current position is after the end.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 03:09:16 +00:00
nobu
07f53e4830 test_stringio.rb: add test
* test/stringio/test_stringio.rb (test_ungetc_pos): add a test for
  r26588.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 03:05:53 +00:00
shugo
f211abcb9c * vm_method.c (rb_method_entry_make, check_override_opt_method):
should check whether a newly created method override a optimize
  method in case the method is defined in a prepended module of a
  built-in class.
  [ruby-core:72226] [Bug #11836]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-18 02:32:17 +00:00
shugo
0c659e26cb * vm.c (rb_vm_check_redefinition_opt_method): should check the real
class instead of the origin iclass.
  [ruby-core:72188] [Bug #11826]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 22:43:35 +00:00
shugo
94b3c4121b * proc.c (rb_block_arity): should not call GetProcPtr() for symbols.
[ruby-core:72205] [Bug #11830]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 07:16:14 +00:00
nobu
61c19c9d43 string.c: infection
* string.c (rb_str_scrub): the result should be infected by the
  original string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 05:16:27 +00:00
nobu
eec8adb168 transcode.c: infection
* transcode.c (rb_econv_substr_append, econv_primitive_convert):
  the result should be infected by the original string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53168 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 04:35:26 +00:00
nobu
e64d814101 re.c: names encoding
* re.c (reg_names_iter): should consider encoding of regexp.
  [ruby-core:72185] [Bug #11825]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-17 00:46:07 +00:00
ko1
5a6c48980a * vm_insnhelper.c (vm_call_method_each_type): should not set fastpath
with keyword arguments for VM_METHOD_TYPE_ATTRSET type methods.

  Normally, we can not use keyword arguments for this kind of methods,
  (obj.foo = 1), but we can set alias names for them.
  [Bug #11657]

* test/ruby/test_keyword.rb: add a test for this fix.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 18:20:29 +00:00
nagachika
79c7a51893 * ext/fiddle/handle.c: check tainted string arguments.
Patch provided by tenderlove and nobu.

* test/fiddle/test_handle.rb (class TestHandle): add test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 12:08:49 +00:00
shugo
ed57f299b2 * vm.c (vm_make_proc_from_block): should convert a Symbol to a Proc.
[ruby-core:72083] [Bug #11811]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 10:35:34 +00:00
normal
653f291b66 test/ruby/test_io.rb: fix spelling errors
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 07:25:38 +00:00
ko1
5dc676a5cf * vm.c: fix mark miss for proc given as passed block.
[Bug #11750]

* vm.c (vm_make_proc_from_block): should return a Proc object
  if block is given. Previous implementation returns
  a Proc object only when corresponding Proc object is not
  available.

* vm.c (vm_make_env_each): ditto.

* test/ruby/test_proc.rb: add a test for this bug.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 06:38:52 +00:00
naruse
183c1a0fa1 Exception#backtrace may be nil if it is manually created
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:25:46 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
marcandre
f6f7073e12 * test_struct.rb: Test that initialize is overridable [#11708]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 03:25:09 +00:00
nobu
632b1e9442 test_io.rb: ignore not-implemented fadvice
* test/ruby/test_io.rb (test_advise_pipe): ignore not-implemented
  fadvice(2) when it is present but not implemented, as IO#advice
  does nothing and raises no exceptions.  [Feature #11806]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 02:36:12 +00:00