Commit graph

10328 commits

Author SHA1 Message Date
nobu
0687baaf57 optparse/kwargs.rb
* lib/optparse/kwargs.rb (OptionParser#define_by_keywords):
  [EXPERIMENTAL] extract command line option definitions from the
  information of keyword arguments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 13:26:13 +00:00
nobu
99ad512486 optparse.rb: hyphenize
* lib/optparse.rb (make_switch, parse_in_order): unify underscores
  to hyphens.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-14 08:20:26 +00:00
nobu
34d420acc4 io.c: copy_stream to duplex IO
* io.c (copy_stream_body): use IO to write to copy to duplex IO.
  http://twitter.com/knu/status/786505317974585344

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-13 10:41:34 +00:00
nobu
bbd58fa2b9 hash.c: add compact and compact! methods
* hash.c (rb_hash_compact, rb_hash_compact_bang): Removes nil
  values from the original hash, to port Active Support behavior.
  [Feature #11818]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-13 08:06:00 +00:00
nobu
7e9112a441 Fix tests depending on sort stability
* test/rexml/xpath/test_text.rb (test_ancestors): Array#sort may
  not be stable.  [ruby-core:76088] [Bug #12509]
* test/rss/test_maker_{0.9,1.0,2.0}.rb (test_items): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-13 02:31:43 +00:00
nobu
89230e7ca3 test_array.rb: do not assume stable sort
* test/ruby/test_array.rb (test_sort_bang_with_freeze): make a
  clone to copy a <=> singleton method, instead of dup.  which
  element will be called is not predictable.
  [ruby-core:76088] [Bug #12509]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-12 15:39:10 +00:00
nobu
9d8f62d55e better assertion
* test/rexml/xpath/test_text.rb (test_ancestors): use
  assert_kind_of for better assertion message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-12 15:29:06 +00:00
kazu
c29026204e fix warning: assigned but unused variable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-12 15:28:03 +00:00
kazu
0c7a092dd2 do not need to downcase twice
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56403 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-12 15:28:01 +00:00
akr
2db9a0db99 Test URI.find_proxy using env argument.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-11 17:23:29 +00:00
nobu
8c3af8ecc0 ruby.c: bind fd before waiting
* ruby.c (open_load_file): bind the open fd to an IO instance
  before waiting FIFO, not to leak the fd if interrupted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-10 06:22:30 +00:00
nobu
a28d3d591d test_require.rb: use assert_separately
* test/ruby/test_require.rb (test_loading_fifo_threading_raise):
  use assert_separately.

* test/ruby/test_require.rb (test_loading_fifo_threading_success):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-10 06:14:07 +00:00
nobu
f0e1d72316 memory_status.c: system call
* ext/-test-/memory_status/memory_status.c: get memory sizes by
  mach task_info system call.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-08 01:34:27 +00:00
nobu
8fc170a34e logger: fix monthly log rotate with DST
* lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log
  rotate when DST is applied during a month of 31 days.
  [Fix GH-1458]

With DST the month of october can actually last more than 31 days.
It can last 31 days plus 1 hour. So during october, `t` used to be
equal to "2016-10-31 23:00:00" instead of "2016-11-01 00:00:00".
This was then normalized to "2016-10-01 00:00:00" which lead every
single line of log during october to rotate the log file.
This fix ensure that next_rotate_time(now, 'monthly') always return
the first day of next month in every situation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-08 00:06:57 +00:00
hsbt
6b35c34c68 * basictest/test.rb: Adjust spaces in class declarations
with inheritance. [fix GH-1227] Patch by @adrfer
* lib/irb/*: ditto.
* lib/prime.rb: ditto.
* lib/shell/builtin-command.rb: ditto.
* object.c: ditto.
* sample/*.rb: ditto.
* test/-ext-/method/test_arity.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-07 05:18:57 +00:00
nobu
d3cde81666 load.c: setup syntax error backtrace
* load.c (rb_require_safe): SyntaxError created by the parser just
  has the mesage and needs to set up the backtrace.
  [ruby-core:77491] [Bug #12811]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-06 08:29:46 +00:00
nobu
24b37eb0a6 load.c: fix load/require context
* load.c (rb_load_internal0): load/require is not the main
  script.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-06 06:53:22 +00:00
nobu
0fe40d4bb8 test_io.rb: split test_gets_rs
* test/ruby/test_io.rb (test_gets_rs): split for each record
  separators.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-06 03:53:34 +00:00
nobu
8b583a013a test_io.rb: workaround for Docker
* test/ruby/test_io.rb (test_ioctl_linux2): tty device may not
  work on Docker.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-05 07:01:31 +00:00
marcandre
69846644d2 * enum.c: Make Enumerable#chunk with no block return
an Enumerator [#2172]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-04 18:25:16 +00:00
nobu
cc80f139cd bigdecimal.c: more precision
* ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room
  for precision to round.  [ruby-core:77475] [Bug #12805]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-04 00:55:15 +00:00
nobu
402f042689 rl_char_is_quoted_p
* ext/readline/readline.c (readline_s_set_quoting_detection_proc):
  support rl_char_is_quoted_p.  [Feature #12659]
* ext/readline/readline.c (readline_s_get_quoting_detection_proc):
  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-03 08:20:07 +00:00
nobu
8c401de5d9 compile.c: optimize flip-flop
* compile.c (compile_flip_flop): simplify generated code.
* compile.c (compile_branch_condition): flip-flop can appear only
  in coditional expressions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-01 10:19:36 +00:00
nobu
ed2af78b67 test_flip.rb: add
* test/ruby/test_flip.rb (test_flip_flop): basic test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-30 12:46:53 +00:00
hsbt
107ba65fba * lib/uri/http.rb: Documentation and code style imrovements.
* test/uri/test_http.rb: Added test for coverage.
  [fix GH-1427][ruby-core:77255][Misc #12756]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-30 10:06:24 +00:00
nobu
d84d0f27b9 test_range.rb: all assertions
* test/ruby/test_range.rb (test_range_bsearch_for_floats): test
  all assertions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-30 04:02:17 +00:00
kazu
158cf62b53 fix YAML::Store
* lib/yaml/store.rb (YAML::Store#initialize): Fix arguments.
  [ruby-dev:49821] [Bug #12800]

* test/yaml/test_store.rb: Add tests from test/test_pstore.rb.

* test/yaml/test_store.rb (YAMLStoreTest#test_with_options): Add options test.

* lib/yaml/store.rb (YAML::Store#dump): Revert to to_yaml.

* lib/yaml/store.rb (YAML::Store#empty_marshal_data): Use to_yaml with options.

* lib/yaml/store.rb (YAML::Store#empty_marshal_checksum): Use CHECKSUM_ALGO.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-29 13:43:46 +00:00
nobu
d90b767d2b test_pstore.rb: use queues
* test/test_pstore.rb (PStoreTest#test_thread_safe): handshake by
  queues, and reduce sleeping time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-28 14:12:33 +00:00
nobu
b6139464f5 rubygems 2.6.7
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
  rubygems to 2.6.7, not the master, with r56225.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-28 01:16:43 +00:00
nobu
69934aeb8d rubygems 2.6.7
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update
  rubygems to 2.6.7.
  Release note of 2.6.7: 60f35bd1d2

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56277 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-28 00:57:53 +00:00
nobu
d28bac1cae error.c: check argument of Warning.warn
* error.c (rb_warning_s_warn): the argument must be an
  ASCII-compatible string.  [ruby-core:77430] [Bug #12793]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 15:21:01 +00:00
nobu
3d2e45d319 parse.y: fix up r56198
* parse.y (symbol, dsym, parser_set_number_literal): set state to
  ENDARG, so that `do` after a literal should be `do_block` and
  bound to the outer method.  [ruby-core:72482] [Bug #11873]
* parse.y (parse_ident): revert r56198.
* parse.y (warn_balanced): the state of symbol and numeric
  literals is now EXPR_ENDARG, do not exclude it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 14:22:33 +00:00
nobu
0e547e6392 test_syntax.rb: more test_warn_balanced
* test/ruby/test_syntax.rb (test_warn_balanced): more assertions
  for a symbol literal and a local variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 14:19:32 +00:00
kazu
078dcd267d * test/ripper/test_ripper.rb: fix squiggly heredoc identifier
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 12:13:52 +00:00
shyouhei
4e60f99803 * error.c: This makes all warnings raised call Warning.warn, which
by default does the same thing it does currently
	  (rb_write_error_str).  You can override Warning.warn to change
	  the behavior. [ruby-core:75016] [Feature #12299]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 09:19:14 +00:00
nobu
a38b2f84f4 iseq.c: syntax error in compile_file
* iseq.c (iseqw_s_compile_file): deal with syntax error as well as
  compile, and should not abort when rescued.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56268 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 08:35:31 +00:00
nobu
2ca58e4290 assertions.rb: success option
* test/lib/test/unit/assertions.rb (assert_in_out_err): add
  success option to check the exit status.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 08:35:30 +00:00
naruse
5f33c6b0f5 * lib/cgi/cookie.rb (parse): don't allow , as a separator. [Bug #12791]
* lib/webrick/cookie.rb (parse): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-27 03:17:47 +00:00
headius
fbaa823344 * test/ripper/test_ripper.rb: add a test for dedent_string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 21:12:12 +00:00
nobu
91a32fc030 test_exception.rb: another assertion
* test/ruby/test_exception.rb (test_throw_false): test the thrown
  tag.  [Bug #12743]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 07:33:16 +00:00
rhe
e6e66094f9 stringio.c: fix signed integer overflow
* ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow.
  It's not harmful in practice here, but is still undefined behavior.

* ext/stringio/stringio.c (strio_extend): Check that the new length does
  not exceed LONG_MAX. This fixes the invalid write on the overflow.

* test/stringio/test_stringio.rb (test_write_integer_overflow): Add a
  test case for the above fix in strio_extend().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 07:24:55 +00:00
rhe
ed5a926b13 eval_intern.h: make TH_PUSH_TAG() initialize rb_vm_tag::tag with Qundef
* eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with
  Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj)
  searches a tag with rb_vm_tag::tag == obj, throw(false) can
  accidentally find an unrelated tag which is not created by
  Kernel#catch.  [ruby-core:77229] [Bug #12743]

* test/ruby/test_exception.rb (test_throw_false): Add a test case for
  this.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 06:43:51 +00:00
sonots
64f53f0dbf * lib/tempfile.rb: provide default basename parameter
for Tempfile.create. [Feature #11965] Patch by Yuki Kurihara
* test/test_tempfile.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-26 05:45:29 +00:00
nobu
5ebce690df test_dln.rb: fix constants
* test/-ext-/win32/test_dln.rb (test_check_imported): use toplevel
  constants explicitly to get rid of constants under the scope.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-25 22:29:16 +00:00
nobu
0cc169d1de fid typos [ci skip]
* fix typos, "a" before "Integer" to "an".  [Fix GH-1438]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24 02:28:25 +00:00
nobu
967c013391 test_ruby_mode.rb: fix for Emacs 25.1
* test/misc/test_ruby_mode.rb (assert_indent): since write-region
  in Emacs 25.1 no longer displays the "Wrote file" message, shows
  the explicit message to check if successfully finished.
  [ruby-core:77355] [Bug #12785]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24 01:19:43 +00:00
nobu
569d006295 test_ruby_mode.rb: save-buffer 0
* test/misc/test_ruby_mode.rb (EXPR_SAVE): use a numeric prefix
  argument of 0, not to make the previous version into a backup
  file, instead of backup-inhibited.
* test/misc/test_ruby_mode.rb (run_emacs): always save the buffer
  if modified.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-24 01:18:34 +00:00
shugo
a463ab1f05 * eval.c (rb_mod_refine): refine modules as well.
[ruby-core:76199] [Feature #12534]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-23 11:46:33 +00:00
nobu
1e1a114c25 test_fileutils.rb: use Dir.mktmpdir
* test/fileutils/test_fileutils.rb: use Dir.mktmpdir instead of
  fixed name for temporary directory.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-23 05:27:38 +00:00
nobu
958c04898c dlntest.dll: move
* ext/-test-/win32/dln/{depend,extconf.rb} (dlntest.dll): make
  under the extension directory, instead of the top directory.

* test/-ext-/win32/test_dln.rb (test_check_imported): explicit
  PATH environment variable to load the DLL.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-09-22 06:35:27 +00:00