Commit graph

8869 commits

Author SHA1 Message Date
nobu
e8c00b7027 logger.rb: fix weekly rotation
* lib/logger.rb (Logger::Period#next_rotate_time): get rid of
  adding to mday not to exceed the days of the month.
  [ruby-core:71185] [Bug #11620]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 03:00:38 +00:00
nobu
0a74709e1a Add string argument test cases
* test/ruby/test_module.rb (test_method_defined): Add test cases
  for `public/protected/private _method_defined?`
  These methods accept string as argument, so add string argument
  cases.  [Fix GH-1067]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-26 13:43:19 +00:00
nobu
4a6dff84f0 Replace tab with 8 spaces [Fix GH-1068]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52289 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-26 13:43:05 +00:00
naruse
727f2971fb clear https_proxy
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-26 08:47:18 +00:00
nobu
603b000dd0 parse.y: call_op2
* parse.y (call_op2): separate from call_op and also allow "::",
  while dot_or_colon should not allow ".?".  [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-26 03:55:08 +00:00
nobu
55e68f0e78 test_io.rb: assert_separately
* test/ruby/test_io.rb (test_dup_many, test_set_lineno): use
  assert_separately for more descriptive messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-25 07:54:07 +00:00
nobu
7d95b96e7b fix conditions to setrlimit
* test/ruby/test_io.rb (test_dup_many): limit FD only if possible.

* test/ruby/test_process.rb (assert_fail_too_long_path): fix the
  condition for platform specific feature

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-25 07:47:16 +00:00
nobu
1a98528cb7 symbol.c: dotq in ripper
* symbol.c (op_tbl): add DOTQ for ripper.  [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-25 01:12:07 +00:00
nobu
898fd2ed2a use rb_check_arity [ci skip]
* ext: use rb_check_arity and rb_error_arity to raise
  ArgumentError.  [Feature #9025]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-25 00:43:06 +00:00
naruse
b78b66a976 use rlimit_nproc other than Windows
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-24 18:21:39 +00:00
naruse
7ef4dccca8 0.1 second is not enough for FreeBSD
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52271 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-24 17:36:07 +00:00
nobu
96ff94c95d relax error message format
* test/fileutils/test_fileutils.rb (test_uptodate): relax error
  message format.  [Feature #9025], [ruby-core:71178] [Bug #11617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-24 12:16:55 +00:00
nobu
e0ed0012cb relax error message format
* bootstraptest/test_method.rb: relax error message format.
* test/ruby/test_arity.rb (err_mess): ditto.
  [Feature #9025], [ruby-core:71178] [Bug #11617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-24 06:42:22 +00:00
nobu
4e1ee809bb forwardable.rb: full qualify names
* lib/forwardable.rb (def_instance_delegator, def_single_delegator):
  match backtraces against ::Forwardable in case the target class
  is a subclass of BasicObject and does not include Kernel.
  [ruby-core:71176] [Bug #11616]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 22:29:14 +00:00
ko1
54716fe7eb * ruby.c: introduce --enable-frozen-string-literal-debug option.
If this option is enabled, the modify error will be:
    can't modify frozen String (RuntimeError) =>
    can't modify frozen String, created at test.rb:3 (RuntimeError)

* iseq.h: add compile option frozen_string_literal_debug.

* compile.c: catch up this fix.

* error.c (rb_error_frozen): ditto.

* iseq.c (set_compile_option_from_hash): ditto.

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




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52257 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 19:02:55 +00:00
shugo
8c8e17d499 * lib/forwardable (def_instance_delegator, def_single_delegator):
rescue ::Exception instead of Exception in case Exception is
  defined under the target class.
  [ruby-core:71175] [Ruby trunk - Bug #11615]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 15:41:04 +00:00
hsbt
2cd1f852e1 * lib/ipaddr.rb, test/test_ipaddr.rb: Reject invalid address contained
EOL string. Patch by @kachick [fix GH-942][Bug #11513]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 07:35:14 +00:00
hsbt
5fdee2f829 * file.c: fix indent style. [fix GH-977]
* test/ruby/test_string.rb: indent. [fix GH-975]
[ci skip] These patches are contributed from @yui-knk

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 07:03:34 +00:00
shugo
e0ea5e903b * lib/net/imap.rb: remove an empty comment line and -*-.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 06:29:08 +00:00
shugo
3eabc555cb * lib/net/ftp.rb (gettextfile, getbinaryfile): use the safe
navigation operator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 06:23:16 +00:00
nobu
1d3c07633c test_call.rb: add tests
* test_call.rb (test_safe_call): Add test cases for safe
  navigation operator assignment.  [Fix GH-1064]
  Validate:
  * can assign an attribute which is `nil`
  * can "or assign" an attribute which is `nil`

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 04:51:35 +00:00
nobu
ae8f8fddb0 compile.c: optimize method chain
* compile.c (iseq_peephole_optimize): optimize lengthy safe
  navigation method chain.  [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 02:58:22 +00:00
svn
4f9ded5cdd * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 02:09:16 +00:00
shugo
d07ce082a6 * lib/matrix/eigenvalue_decomposition.rb (tridiagonalize): fix
indentation to avoid a warning when the command line option -w of
  ruby is specified.

* lib/matrix/eigenvalue_decomposition.rb (hessenberg_to_real_schur):
  change the name of a block parameter to avoid a warning when the
  command line option -w of ruby is specified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 02:09:03 +00:00
nobu
0b7d473734 safe navigation attrset
* compile.c (iseq_compile_each): support safe navigation of simple
  attribute assignment.  [Feature #11537]
* parse.y (mlhs_node, lhs, attrset_gen): ditto.  keep mid
  non-attrset as the sign of safe navigation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-23 01:49:38 +00:00
normal
d4fd2fb0a3 test/io/wait/test_io_wait.rb (test_wait_eof): test return value
I wrote some code which relies on this nowadays, but Ruby <=2.2
and earlier behaved differently...

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 22:25:19 +00:00
naruse
7b90b13755 Add rlimit_nproc to avoid to create many process [Bug #11613]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 16:54:55 +00:00
naruse
b471c9d35a limit the number of FDs in a process for stress test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 15:00:13 +00:00
knu
f4c487173c Kernel#loop returns the result value of a finished iterator
* vm_eval.c (rb_f_loop): When a loop is stopped by a StopIteration
  exception, return what the enumerator has returned instead of
  nil. [ruby-core:71133] [Feature #11498]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 09:58:01 +00:00
shugo
68fc350abe * lib/net/imap (idle): add a new argument timeout for keep-alive.
[ruby-core:63693] [Bug #10031]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 09:32:19 +00:00
nobu
a356fe1c35 Safe navigation operator
* compile.c (iseq_peephole_optimize): peephole optimization for
  branchnil jumps.
* compile.c (iseq_compile_each): generate save navigation operator
  code.
* insns.def (branchnil): new opcode to pop the tos and branch if
  it is nil.
* parse.y (NEW_QCALL, call_op, parser_yylex): parse token '.?'.
  [Feature #11537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 06:30:12 +00:00
nobu
ff3288fe5a dir.c: glob brace expansion [Fix GH-1061]
* dir.c (ruby_brace_expand): glob brace expansion edge case fix.
  When there are closing braces '}' before a open brace '{' it
  must be ignored and considered as literal.
  [ruby-core:71138] [Bug #11609]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 04:16:21 +00:00
nobu
66e41cbe4f io.c: check ARGV element type
* io.c (argf_next_argv): check ARGV element type, and try
  conversion if necessary.  [ruby-core:71140] [Bug #11610]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 04:13:52 +00:00
shugo
19110fe19a * test/net/ftp/test_ftp.rb: add tests for getbinaryfile and
gettextfile.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-22 02:21:06 +00:00
nobu
a76fdea9fc parse.y: magic comment w/o indicators
* parse.y (parser_magic_comment): allow a sole magic comment without
  indicators, neither other non-space comments.  [Feature #8976]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-21 09:34:09 +00:00
marcandre
487736646a * lib/prime.rb: Add basic argument checking to Prime.prime?
[Bug #11606]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-20 03:19:44 +00:00
nobu
c92322b537 objspace_dump.c: special const
* ext/objspace/objspace_dump.c: support special constant objects.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-19 06:25:01 +00:00
usa
0bb6bf24b5 * ruby/test_require.rb (loading_fifo): checking by defined? is meaningless about
notimplemented method.  such methods are defined, but not respond_to?.  this
  fixes test failures introduced at r52172.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 14:59:51 +00:00
akr
89db37cf77 * lib/open-uri.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 12:17:52 +00:00
nobu
61685c762e test_require.rb: no guarantees to load FIFO
* test/ruby/test_require.rb (loading_fifo): loading from FIFO is
  not guaranteed, it just should not block the whole process.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 03:07:39 +00:00
nobu
7cb20b8fb8 test_require.rb: test conditions
* test/ruby/test_require.rb (loading_fifo): check by if FIFO is
  available or not, instead of platform names.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18 02:40:59 +00:00
kosaki
bc8687acd6 * ruby.c (open_load_file): reset O_NONBLOCK after open.
Even if S_ISREG() is true, the file may be file on FUSE filesystem
  or something. We can't assume O_NONBLOCK is safe.
  Moreover, we should wait if the path is point to FIFO. That's
  FIFO semantics. GVL should be transparent from ruby script.
  Thus, just reopen without O_NONBLOCK for filling the requirements.
  [Bug #11060][Bug #11559]
* ruby.c (loadopen_func): new for the above.
* file.c (ruby_is_fd_loadable): new. for checks loadable file type
  of not.
* file.c (rb_file_load_ok): use ruby_is_fd_loadble()
* internal.h: add ruby_is_fd_loadble()
* common.mk: now, ruby.o depend on thread.h.
* test/ruby/test_require.rb
(TestRequire#test_loading_fifo_threading_success): new test.
  This test successful case that loading from FIFO.
* test/ruby/test_require.rb
(TestRequire#test_loading_fifo_threading_raise): rename from
  test_loading_fifo_threading. You souldn't rescue an exception
  if you test raise or not.
  Moreover, this case should be caught IOError because load(FIFO)
  should be blocked until given any input.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-17 21:09:10 +00:00
nobu
eb4dc17956 test_const.rb: suppress warnings
* test/ruby/test_const.rb (test_redefinition_memory_leak):
  suppress warnings instead of redirecting to null device.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-17 05:01:41 +00:00
odaira
251b66283b * test/ruby/test_symbol.rb (test_symbol_fstr_leak): add a warm-up
code and check RSS to avoid false positive on AIX and false
  negative on Mac OS X. [Bug #10686]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-16 20:35:47 +00:00
nobu
abf832f435 file.c: non-blocking open
* file.c (rb_file_load_ok): open in non-blocking mode withoout
  releasing GVL.  don't care about others than regular files and
  directories.  [ruby-dev:49272] [Bug #11559]
* ruby.c (load_file_internal): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-16 06:54:38 +00:00
nobu
14b8530454 proc.c: void env
* proc.c (rb_sym_to_proc): make void env.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52134 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-15 14:56:05 +00:00
kazu
4951f3b5e3 fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-15 14:37:02 +00:00
nobu
c2e8fb0f34 proc.c: proc without env
* proc.c (rb_sym_to_proc): move from string.c and create a Proc
  with no environments.  [ruby-core:71088] [Bug #11594]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-15 04:37:26 +00:00
nagachika
d0e8610582 * test/objspace/test_objspace.rb
(test_trace_object_allocations_start_stop_clear): clear object
  allocation table first to get rid of erronous detection for obj3.
  [ruby-dev:49095] [Bug #11271]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-14 17:02:56 +00:00
eregon
5389661931 * test/ostruct/test_ostruct.rb: Add tests for OpenStruct#respond_to.
Patch by @jeremy in [GH-1041]: https://github.com/ruby/ruby/pull/1041

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52126 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-14 16:57:46 +00:00