Commit graph

1650 commits

Author SHA1 Message Date
knu
8f706b2d44 * array.c (rb_ary_nitems, Init_Array): Axe Array#nitems().
cf. [ruby-dev:34676]-[ruby-dev:34713]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-28 09:12:28 +00:00
matz
77446d45a8 * numeric.c (num_div): should raise ZeroDivisionError.
* numeric.c (fix_divide): ditto.

* test/ruby/test_numeric.rb (TestNumeric::test_divmod): avoid
  ZeroDivisionError in tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-27 12:51:28 +00:00
akr
ac6ce30aec * test/ruby/envutil.rb (assert_normal_exit): signal description
refined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16592 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-25 16:19:05 +00:00
mame
5c669c26c5 * test/ruby/test_modules.rb (remove_json_mixins): change judgment
condition.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 19:31:30 +00:00
mame
87665465cd * test/ruby/test_modules.rb (test_ancestors, test_included_modules):
ignore json mixins.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 18:55:44 +00:00
akr
e3562616ad add a test for [ruby-dev:34828].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 01:48:21 +00:00
akr
796d005a23 add a test for [ruby-dev:34808].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-24 01:34:37 +00:00
akr
5fa02c5951 add a test for [ruby-dev:34802].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 08:41:07 +00:00
nobu
00e28c26a7 * array.c (flatten): check if reentered. [ruby-dev:34798]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 05:20:59 +00:00
nobu
feead4dca5 * array.c (flatten): check if reentered. [ruby-dev:34798]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 03:40:57 +00:00
akr
a85b247171 * test/ruby/envutil.rb (assert_normal_exit): capture stdout and stderr
of the child process.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-22 02:40:50 +00:00
shugo
79fdbe0519 * lib/net/imap.rb: do not use Thread#raise. [ruby-dev:34739]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-21 17:47:33 +00:00
mame
2c8dd794e9 * test/ruby/test_require.rb: new tests for library requiring, to
achieve over 90% test coverage of dln.c.

* test/ruby/test_class.rb: add tests to achieve over 90% test coverage
  of class.c.

* test/ruby/test_module.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-21 15:31:15 +00:00
usa
1de486b600 * test/ruby/test_file_exhaustive.rb (setup): workaround for Windows
Vista.

	* test/ruby/envutil.rb (rubyexec): now Open3.open3 is supported on
	  Windows.

	* test/ruby/test_process.rb: use ``||'' instead of ``;'' because
	  cmd.exe not support it.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 16:48:32 +00:00
mame
c051ec7bc0 * test/ruby/test_array.rb: fix tests for 64bit CPU.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 14:26:33 +00:00
matz
8405033139 * string.c (rb_enc_strlen_cr): need to set ENC_CODERANGE_7BIT if
search_nonascii() fails.    [ruby-dev:34751]

* string.c (rb_str_reverse): preserve coderange info if the
  receiver is 7bit string.

* string.c (rb_str_reverse_bang): ditto.

* string.c (rb_str_reverse_bang): should have called
  single_byte_optimizable before rb_str_modify() that clears
  coderange info.

* string.c (tr_trans): handle single bytes more eagerly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-20 07:59:33 +00:00
ko1
d457fdad2d * eval.c, vm_insnhelper.c: fix cref in instance_eval
and cvar_base search protocol.
* bootstraptest/test_knownbug.rb, test_eval.rb: move soleved test
  and add new tests.
* test/ruby/test_eval.rb: fix tests for spec.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 18:47:56 +00:00
ko1
39fcd1cdf2 * bootstraptest/test_knownbug.rb: move solved tests.
* bootstraptest/test_eval.rb, test_literal.rb, test_syntax.rb,
  test_thread.rb: ditto.
* test/ruby/test_m17n.rb, test_proc.rb, test_sprintf.rb,
  test_string.rb, test/ruby/test_struct.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-19 05:20:21 +00:00
gotoyuzo
581ec6f87d test material for r16453.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:54:04 +00:00
gotoyuzo
8ee3267d26 * lib/webrick/httpservlet/filehandler.rb: should normalize path
name in path_info to prevent script disclosure vulnerability on
  DOSISH filesystems. (fix: CVE-2008-1891)
  Note: NTFS/FAT filesystem should not be published by the platforms
  other than Windows. Pathname interpretation (including short
  filename) is less than perfect.

* lib/webrick/httpservlet/abstract.rb
  (WEBrick::HTTPServlet::AbstracServlet#redirect_to_directory_uri):
  should escape the value of Location: header.

* lib/webrick/httpservlet/cgi_runner.rb: accept interpreter
  command line arguments.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-18 13:33:24 +00:00
mame
a0e236f606 * pack.c (pack_pack): check errno to detect error of ruby_strtoul.
* pack.c (pack_unpack): ditto.

* test/ruby/test_pack.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16452 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 17:56:41 +00:00
nobu
9afd5465e2 * array.c (rb_ary_sort_bang): should not free shared pointer, and set
shared.  [ruby-dev:34732]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 05:01:52 +00:00
nobu
8676f8baf2 * test/ruby/test_eval.rb (test_define_method_block): new test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:44:38 +00:00
nobu
34c96140f3 * file.c (rb_file_s_extname): first dot is not an extension name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-17 02:29:13 +00:00
nobu
03ed3bde9a * test/ruby/test_module.rb (assert_method_defined?): added.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 08:08:06 +00:00
matz
f970ffedae * math.c (to_flo): rb_Float() accepts even strings for input.
* complex.c (nucomp_to_f): fix wrong message.

* complex.c (nucomp_to_r): ditto.

* object.c (rb_Float): do not check NaN for error.  NaN is a part
  of valid float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-16 04:17:45 +00:00
mame
b8118e9645 * test/ruby/test_string.rb: add tests to achieve over 90% test
coverage of string.c.

* test/ruby/test_m17n.rb: ditto.

* test/ruby/test_symbol.rb: ditto.

* test/ruby/test_pack.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:37:18 +00:00
mame
41bf214fd7 * string.c (tr_find): String#delete returned wrong result when multiple
utf-8 arguments are passed.

* test/ruby/test_m17n.rb (test_delete): add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 14:03:21 +00:00
nobu
22361a3d1c * file.c (file_expand_path): support for alternative data stream
and ignored trailing garbages of NTFS.

* file.c (rb_file_s_basename): ditto.

* file.c (rb_file_s_extname): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-15 06:34:02 +00:00
mame
f09f597422 * test/ruby/test_object.rb: new tests to achieve over 90% test
coverage of object.c, eval.c and eval_method.c.

* test/ruby/test_module.rb: ditto.

* test/ruby/test_trace.rb: ditto.

* test/ruby/test_integer.rb: ditto.

* test/ruby/test_float.rb: ditto.

* test/ruby/test_method.rb: ditto.

* test/ruby/test_variable.rb: ditto.

* test/ruby/test_eval.rb: ditto.

* test/ruby/test_exception.rb: ditto.

* test/ruby/test_class.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 12:52:17 +00:00
nobu
e4f8e61ddd * test/ruby/test_file_exhaustive.rb (assert_integer): may not Fixnum.
* test/ruby/test_file_exhaustive.rb (test_stat, test_readable_p)
  (test_readable_real_p, test_world_readable_p, test_writable_p)
  (test_writable_real_p, test_world_writable_p, test_executable_p)
  (test_executable_real_p, test_owned_p, test_chmod, test_lchmod)
  (test_umask, test_stat_readable_p, test_stat_readable_real_p)
  (test_stat_world_readable_p, test_stat_writable_p)
  (test_stat_writable_real_p, test_stat_world_writable_p)
  (test_stat_executable_p, test_stat_executable_real_p)
  (test_stat_owned_p): mode, owner and group can't rely on cygwin.

* test/ruby/test_file_exhaustive.rb (test_stat_init): test hard link
  on Windows too.

* test/ruby/test_file_exhaustive.rb (test_test): struct stat dosn't
  have sub second mtime on cygwin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 09:11:10 +00:00
knu
921fb6ae25 * array.c (rb_ary_count): Override Enumerable#count for better
performance.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 03:46:37 +00:00
akr
86294fad68 test the actual value of (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-14 00:01:24 +00:00
akr
759c6d2a89 add a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 17:16:03 +00:00
mame
1951ceeed7 * test/ruby/test_io_m17n.rb: remove a duplicative method.
* test/ruby/test_utf16.rb: rename a conflicting method name.

* test/ruby/test_array.rb: ditto.

* test/ruby/test_file_exhaustive.rb: ditto.

* test/ruby/test_hash.rb: ditto.

* test/ruby/test_env.rb: ditto.

* test/ruby/test_fixnum.rb: ditto.

* test/ruby/test_rational.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 15:57:22 +00:00
akr
ec1f2095a1 check the chracters in (10**32768-1).to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-13 04:21:33 +00:00
mame
18e46b81ff * vm.c (collect_local_variables_in_env): remove unnecessary check
which causes: x=1;proc{local_variables}.call #=> []

* test/ruby/test_variable.rb: add a test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:42:17 +00:00
usa
9416fedc28 * process.c, include/ruby/intern.h (rb_run_exec_options): externed.
* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,
	  run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):
	  save parent's process environments.
	  !!!remark!!! these are not thread-safe.

	* process.c (rb_spawn_internal): remove calling run_exec_options()
	  because cannot restore after spawn. we'll fix this later.

	* io.c (pipe_open): ditto.

	* test/ruby/test_process.rb (test_execopts_env): upcase environment
	  variable name for case insensitive platforms.

	* win32/win32.c (init_env): set USER environment variable only when
	  USERNAME is available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:15:32 +00:00
usa
e67e71d36a * test/ruby/envutil.rb (rubybin): return expanded rubyexe instead of
expanded ruby if available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 12:35:37 +00:00
matz
ab24f2b077 * re.c (rb_reg_prepare_re): made non static with small refactoring.
* ext/strscan/strscan.c (strscan_do_scan): should adjust encoding
  before regex searching.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 06:09:53 +00:00
akr
10fc0eb781 add tests for [ruby-dev:34591].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 03:37:58 +00:00
kazu
7467524ca2 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:53:52 +00:00
mame
c030326a09 * test/ruby/test_thread.rb: kill and join temporal threads that are
created in each test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 10:06:58 +00:00
akr
435ac5e58d * test/ruby/test_process.rb (TestProcess#with_stdin): defined.
(TestProcess#test_argv0_noarg): don't use redirect_fds.
  [ruby-dev:34647]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 09:01:31 +00:00
kazu
4273476265 add tests of UnboundMethod#{name,owner}
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16354 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-11 01:40:30 +00:00
matz
7ce9ab664d test/ruby/test_continuation.rb: remove duplicated test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 06:59:38 +00:00
nobu
f8cb9c861a * test/ruby/test_array.rb (test_sort_with_callcc): test for [ruby-core:16679].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-08 01:04:20 +00:00
matz
60219a0aa3 * string.c (tr_trans): should squeeze properly. [ruby-dev:34587]
* string.c (tr_trans): had a bug in treating multi-byte character
  replacement. 

* string.c (rb_str_delete_bang): need not to do anything for empty
  strings. 

* test/ruby/test_m17n_comb.rb (TestM17NComb::test_str_delete): add
  test for empty receiver.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 16:15:45 +00:00
matz
10f263c10e * numeric.c (bit_coerce): float should not be a valid operand of
bitwise operations.  [ruby-dev:34583]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 13:24:55 +00:00
matz
640a62ea71 * string.c (sym_to_i): remove obsolete method. preparation for
symbol GC.

* numeric.c (fix_to_sym): ditto.

* numeric.c (fix_id2name): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16312 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-07 09:18:06 +00:00