Commit graph

10389 commits

Author SHA1 Message Date
nobu
d69d98f61a string.c: negation of LONG_MIN
* string.c (rb_str_update): do not use negation of LONG_MIN, which
  is negative too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-07 09:13:41 +00:00
naruse
a3990118e6 Supress warning: instance variable @repeat_count not initialized
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-07 05:11:02 +00:00
akr
d8cee4ff0a refine a warning message.
The "n" option for regexp, /.../n, is historical.
It doesn't mean the regexp works as binary match since Ruby 1.9.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-02 23:33:06 +00:00
nobu
033c4a083d test: use RbConfig::Limits
* test/lib/envutil.rb: rbconfig/sizeof may not be available when
  cross-compiling.  use RbConfig::Limits instead of calculating
  limits of Fixnum with hard-coded CHAR_BIT.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-02 04:54:19 +00:00
rhe
3acda398d5 openssl: avoid segfault during running tests on Ubuntu trusty
Import the commit 6693a549d673 ("test/test_pkey_ec: do not use dummy 0
order", 2017-02-03) from upstream. Hopefully this will fix the segfault
on RubyCI icc16-x64:

  20170301T050002Z.fail.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-01 10:15:55 +00:00
nobu
6c0f395c01 parse.y: indent at invalid identifier
* parse.y (parser_heredoc_identifier): set indent only when valid
  identifier, not to dedent non-existent contents later.
  [ruby-core:79772] [Bug #13253]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-26 00:33:06 +00:00
normal
15ef28a991 NEWS: document String#-@ change
* test/ruby/test_string.rb (test_uplus_minus): test deduplication
  [ruby-core:79747] [Feature #13077]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-25 02:31:03 +00:00
nobu
8c44061928 Integer.sqrt argument check
* numeric.c (rb_int_s_isqrt): check if the argument is an integer.
  [Feature #13219]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57706 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24 09:39:17 +00:00
nobu
bdd6b995f9 Integer.sqrt [Feature #13219]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24 08:36:16 +00:00
hsbt
df3e22ce84 Update rdoc-5.1.0
* Details of changes are following url.
    https://github.com/rdoc/rdoc/blob/master/History.rdoc#510--2017-02-24

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-24 07:39:37 +00:00
nobu
2e2063fe16 rational.c: infinity in power
* rational.c (nurat_expt): return 0 due to overflow.
  [ruby-core:79686] [Bug #13242]:

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-22 23:49:40 +00:00
nobu
06010b2b05 rational.c: infinity in power
* rational.c (nurat_expt): return Infinity due to overflow.
  [ruby-core:79686] [Bug #13242]:

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-22 23:28:26 +00:00
akr
dbd4c4a7b3 refine warning message for binary regexp /.../n.
Reported by Herwin W.  [ruby-core:78592] [Bug #13024]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-22 07:31:25 +00:00
nobu
7d54b4ea58 Thread#fetch
* thread.c (rb_thread_fetch): add new method Thread#fetch.
  [Feature #13009]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57683 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-22 07:16:13 +00:00
nobu
31ef3124a9 numeric.c: Numeric#clone and #dup
* numeric.c (num_clone, num_dup): no longer raises TypeError,
  returns the receiver instead as well as Integer and Float.
  [ruby-core:79636] [Bug #13237]

* object.c (rb_immutable_obj_clone): immutable object clone with
  freeze optional keyword argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-22 02:02:11 +00:00
nobu
f2c5146dc4 object.c: message encoding
* object.c (rb_obj_clone2): preserve encoding in error messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-21 14:51:22 +00:00
nobu
a9925e2234 assertions.rb: ignore exit in child
* test/lib/test/unit/assertions.rb (assert_separately): ignore
  SystemExit.  unsuccessful exit still fails an assertion later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-20 10:10:08 +00:00
nobu
ea940cc4dc regparse.c: initialize return values
* regparse.c (parse_char_class): initialize return values before
  depth limit check.  returned values will be freed in callers
  regardless the error.  [ruby-core:79624] [Bug #13234]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-20 09:46:12 +00:00
nobu
fca3cf6637 envutil.rb: diagnostic_reports for ruby-runner
* test/lib/envutil.rb (EnvUtil.diagnostic_reports): ruby-runner
  execs "RUBY_INSTALL_NAME" file, so search by that name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-20 02:16:22 +00:00
nobu
4d47e8d993 vm_insnhelper.c: super to module in refinement
* vm_insnhelper.c (vm_call_zsuper): method defined in module in
  refinement is not callable as-is.  dispatch again.
  [ruby-core:79588] [Bug #13227]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-19 01:27:52 +00:00
kazu
fbd5cda6aa {lib,test}/cgi: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-18 05:52:16 +00:00
nobu
3203ae53ff array.c: check if numeric
* array.c (finish_exact_sum): add 0 and the initial value to check
  if the latter is numeric.  [ruby-core:79572] [Bug #13222]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-18 04:23:20 +00:00
nobu
3d031cea42 test_fileutils.rb: no broken symlinks on Cygwin
* test/fileutils/test_fileutils.rb (no_broken_symlink): exclude
  test using broken symlinks on Cygwin, which are not allowed
  because of the directory flag of Windows native symlink.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-17 13:31:43 +00:00
nobu
1b4df62546 test_fileutils.rb: fix relative symlink path
* test/fileutils/test_fileutils.rb (test_rm_symlink): fix relative
  symlink path, the target should be relative to the directory in
  which the symlink gets created.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-17 13:31:42 +00:00
nobu
c85a58d512 test_fileutils.rb: workaround for Cygwin
* test/fileutils/test_fileutils.rb (root_in_posix): seems Cygwin
  has some different conditions for privilege.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-17 10:22:10 +00:00
nobu
1ac36ecf00 test_fileutils.rb: cache distinct UIDs
* test/fileutils/test_fileutils.rb: cache distinct UIDs as
  constants at initialization.  assume no UIDs will be
  added/removed during tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-17 10:22:09 +00:00
nobu
3261cfd881 fileutils.rb: do not make root
* lib/fileutils.rb (FileUtils#mkdir_p): no need to make root
  directory which should be exist and cannot be made with mkdir
  recent Cygwin can make a directory contains a colon.
  [Bug #13214]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-16 08:42:22 +00:00
nobu
d9ae8c0bc8 marshal.c: revert r57631 partially
* marshal.c (rb_marshal_dump_limited): do not free dump_arg, which
  may be dereferenced in check_dump_arg due to continuation, and
  get rid of dangling pointers.

* marshal.c (rb_marshal_load_with_proc): ditto for load_arg.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-15 08:38:01 +00:00
kazu
ad97d4839c lib/find.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-13 12:16:26 +00:00
nobu
549a3b74c4 ripper: fix %-op on_operator_ambiguous
* parse.y (ambiguous_operator): separate token and string
  representation of operators, to fix %-operator argument.  in a
  warning message, needs to be escaped by '%' but the symbol
  should not be.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-12 03:15:34 +00:00
mrkn
70f772c3ef bigdecimal: version 1.3.1
Import bigdecimal version 1.3.1.  The full commit log is here:

  https://github.com/ruby/bigdecimal/compare/v1.3.0...v1.3.1

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 13:23:58 +00:00
ko1
38bc085f71 check thread deadness correctly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 08:15:39 +00:00
nobu
0f9554efa1 parallel.rb: fix intervention
* test/lib/test/unit/parallel.rb (_report): send a response and a
  newline atomically, to get rid of intervention with "p" which
  runs in a separate thread.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 01:13:22 +00:00
kazu
07b88b2616 lib/base64.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-10 00:58:45 +00:00
kazu
b15f8b6de9 lib/abbrev.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-09 16:12:00 +00:00
kazu
026ded9384 {ext,test}/zlib: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 12:49:57 +00:00
nobu
7511130721 test/unit.rb: old GNU make
* test/lib/test/unit.rb (Test::Unit::Parallel#non_options):
  support old GNU make, which uses --jobserver-fds option instead
  of --jobserver-auth.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 08:16:50 +00:00
nobu
d686b02209 test_parallel.rb: match the count
* test/testunit/test_parallel.rb (test_should_run_all_without_any_leaks):
  match the final test count instead of progressing indicators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 08:09:23 +00:00
nobu
a02a8dfa5a test/unit.rb: most-asserted
* test/lib/test/unit.rb (Statistics#record): record most asserted
  tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 05:19:29 +00:00
nobu
8dedf08b52 test/unit.rb: defined
* test/lib/test/unit.rb (Test::Unit::Statistics#record): check if
  @longest is set first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 03:58:07 +00:00
nobu
406c5252a2 test/unit: record in parallel
* test/lib/test/unit.rb (Test::Unit::Parallel#deal): deal with
  record.

* test/lib/test/unit/parallel.rb (Test::Unit::Worker#record):
  report test records to the master.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 03:55:47 +00:00
nobu
10c51ff5ce test/unit.rb: statistics
* test/lib/test/unit.rb (Test::Unit::Statistics): show statistics.
  only --longest option is implemented right now.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-07 02:49:04 +00:00
kazu
a4fde3b60c {ext,test}/strscan: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-06 13:23:39 +00:00
naruse
643a935e96 @job_tokens is defined iff @jobserver is true
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 16:07:30 +00:00
kazu
e3300dce82 {ext,test}/ripper: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 07:54:32 +00:00
nobu
d4502a6767 test/unit.rb: jobserver for workers
* test/lib/test/unit.rb (Test::Unit::Parallel#process_args):
  initialize @run_options to pass jobserver auth pipes to worker
  processes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 05:23:48 +00:00
nobu
1f23dd016b test/unit.rb: job tokens
* test/lib/test/unit.rb (_run_parallel): deal with job tokens for
  each workers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 03:28:17 +00:00
nobu
36037442be test/unit.rb: initialize instance variable
* test/lib/test/unit.rb (Test::Unit::Parallel#non_options):
  initialize @jobserver instance variable to suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 02:17:35 +00:00
nobu
fbdec8186e test_gem.rb: exclude default gems
* test/rubygems/test_gem.rb: check difference to exclude default
  gems from the expected results.  [Feature #13186]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 01:04:14 +00:00
marcandre
4d7b999c77 lib/ostruct.rb: Fix returned value of each_pair.
From a patch by Marcus Stollsteimer. [Fixes #13169]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 18:25:28 +00:00