Commit graph

10328 commits

Author SHA1 Message Date
akr
80b1f7b50e add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-27 06:10:35 +00:00
drbrain
c42a631063 Import RDoc 2.0.0 r56.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 16:14:19 +00:00
akr
2142a5af51 don't use Unix commands such as true, env, etc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 15:39:09 +00:00
akr
514715250a * include/ruby/intern.h (rb_hash_dup): declared.
* hash.c (rb_hash_dup): new function.

* process.c (rb_spawn_internal): don't modify option hash.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-26 12:52:25 +00:00
akr
fe9b92f149 * process.c (rb_spawn_internal): new function to specify
default_close_others.
  (rb_spawn): specify default_close_others true.
  (rb_f_system): call rb_spawn_internal with default_close_others as
  false.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-25 15:50:24 +00:00
akr
b50eaa73b3 FreeBSD ash doesn't fail with echo >&4 where 4 is not opened.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-24 15:57:44 +00:00
akr
34bb79c031 * process.c: include sys/stat.h for umask.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-24 15:16:38 +00:00
akr
278b63a3e4 * include/ruby/intern.h (rb_env_clear): declared.
(rb_io_mode_modenum): declared.
  (rb_close_before_exec): declared.
  (struct rb_exec_arg): add options and redirect_fds field.
  (rb_check_argv): removed.
  (rb_exec_initarg): declared.
  (rb_exec_getargs): declared.
  (rb_exec_initarg2): declared.
  (rb_fork): add third argument: fds.

* io.c (max_file_descriptor): new static variable to record maximum
  file descriptor ruby used.
  (UPDATE_MAXFD): new macro.
  (UPDATE_MAXFD_PIPE): new macro.
  (rb_io_mode_modenum): externed.
  (rb_sysopen): update max_file_descriptor.
  (rb_close_before_exec): new function.
  (popen_exec): redirection removed because it is done by extended
  spawn mechanism.
  (pipe_open): generate a hash for spawn options to specify
  redirections.
  (pipe_open_v): use rb_exec_getargs.
  (pipe_open_s): use rb_exec_getargs.
  (rb_io_initialize): update max_file_descriptor..

* process.c (hide_obj): new function.
  (check_exec_redirect_fd): new function.
  (check_exec_redirect): new function.
  (check_exec_options_i): new function.
  (check_exec_fds): new function.
  (rb_check_exec_options): new function.
  (check_exec_env_i): new function.
  (rb_check_exec_env): new function.
  (rb_exec_getargs): new function.
  (rb_exec_initarg2): new function.
  (rb_exec_initarg): new function.
  (rb_f_exec): use rb_exec_initarg.
  (intcmp): new function.
  (run_exec_dup2): new function.
  (run_exec_close): new function.
  (run_exec_open): new function.
  (run_exec_pgroup): new function.
  (run_exec_rlimit): new function.
  (run_exec_options): new function.
  (rb_exec): call run_exec_options.
  (move_fds_to_avoid_crash): new function.
  (pipe_nocrash): new function.
  (rb_fork): use pipe_nocrash to avoid file descriptor conflicts.
  (rb_spawn): use rb_exec_initarg.
  (rlimit_resource_name2int): extracted from rlimit_resource_type.
  (rlimit_type_by_hname): new function.
  (rlimit_type_by_lname): new function.
  (rlimit_resource_type): use rlimit_type_by_hname.
  (proc_daemon): add fds argument for rb_fork.

* hash.c (rb_env_clear): renamed from env_clear and externed.

[ruby-dev:34086]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-24 14:46:39 +00:00
mame
9b694aaa85 * test/ruby/test_thread.rb: fix typos.
* test/ruby/envutil.rb (rubyexec): move Open3.popen3 call into timeout
  block.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-24 14:02:15 +00:00
mame
c8d27afcd6 * test/ruby/test_comparable.rb: new tests for Comparable, to achieve
100% test coverage of compar.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-24 13:38:01 +00:00
mame
f7ef694a71 * test/ruby/test_settracefunc.rb: add a test for set_trace_func.
* test/ruby/envutil.rb: move "rubyexec" method from test_rubyoptions.rb.

* test/ruby/test_rubyoptions.rb: use rubyexec in envutil.rb.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-23 15:22:13 +00:00
kazu
c0d8e6cbf9 * test/gdbm/test_gdbm.rb (TestGDBM#test_s_open_no_create): failed
notice moved from comment to assertion message. [ruby-dev:29127]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16172 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-23 06:32:16 +00:00
mame
67acbe3954 * test/openssl/test_ssl.rb (start_server): add timeout to server.join.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 15:36:36 +00:00
kazu
77f987376c * test/ruby/test_symbol.rb (TestSymbol#test_to_proc): Improve tests of Symbol#to_proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 15:23:01 +00:00
matz
4bf25bbe20 test/ruby/test_enumerator.rb: updated
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 14:41:07 +00:00
kazu
29934eed9d add a test of Symbol#to_proc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-22 13:04:10 +00:00
akr
b1166a0469 * io.c (copy_stream_body): call rb_io_check_readable and
rb_io_check_writable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-21 10:09:33 +00:00
technorama
45acd59d2d * ext/openssl/ossl_ssl.c: Switch stats hash key from string to symbol.
New method SSLContext#setup to aid C extension writers.
* test/openssl/test_ssl.rb: Add tests for new method and sessions.
  Use threads for ssl server instead of forking.
* ext/openssl/ossl_version.h: Bump version.
* ext/openssl/ossl_x509ext.c: Fix warnings.
* test/openssl/utils.rb: Fix warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 22:32:06 +00:00
akr
935933d0d3 fix deadlock.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 11:30:43 +00:00
akr
ae2921ae67 * io.c (copy_stream_rbuf_to_dst): removed.
(copy_stream_fallback_body): don't bypass write method.
  (copy_stream_body): simplified.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 06:13:17 +00:00
akr
01c433b58c * io.c (copy_stream_fallback): write directly (bypassing write method)
if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 04:59:04 +00:00
akr
a16e0c29db * io.c (copy_stream_fallback): read directly (bypassing readpartial)
if possible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-20 03:51:57 +00:00
akr
9579647fe1 * io.c (copy_stream_body): use readpartial and write method for
non-IOs such as StringIO and ARGF.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-19 19:47:16 +00:00
akr
24197c48d2 fix setup method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-19 19:09:22 +00:00
mame
3e9af6da10 * test/ruby/test_array.rb: add tests to achieve over 95% test coverage
of array.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-18 11:58:30 +00:00
mame
0a2053713b * enc/trans/utf_16_32.c (fun_so_to_utf_16be, fun_so_to_utf_16le): add
parentheses to remove warnings of gcc.

* io.c (rb_io_getc): remove unused variables.

* compile.c (NODE_NEXT, NODE_REDO): remove unused labels.

* ext/nkf/nkf.c (rb_nkf_convert): remove unused variables.

* ext/syck/rubyext.c (syck_resolver_initialize,
  syck_resolver_detect_implicit, syck_emitter_emit): remove unused
  variables.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-17 13:22:40 +00:00
mame
6f4fb0981d * test/ruby/test_rubyoptions.rb (test_search): enable some assertions.
* test/ruby/test_rubyoptions.rb: flunk message in win32.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-17 11:13:34 +00:00
nobu
f23828fa12 * test/ruby/test_rubyoptions.rb (ruby): run in C locale.
* test/ruby/test_rubyoptions.rb (test_encoding): --encoding does not
  affect source code.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-17 07:07:14 +00:00
mame
4133458dee * test/ruby/test_process.rb (test_rlimit_nofile): reset RLIMIT_NOFILE
before exit (for gcov).
* test/ruby/test_rubyoptions.rb: new tests for option of ruby
  interpreter, to achieve over 95% test coverage of ruby.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-16 15:48:54 +00:00
kou
17ea268764 * lib/xmlrpc/client.rb: fix cookie handling. [ruby-dev:34403]
* test/xmlrpc/test_cookie.rb: add a test for the above fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 14:10:18 +00:00
kazu
bf52f99b6b * test/ruby/test_symbol.rb (TestSymbol#test_to_proc): add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-15 07:46:38 +00:00
tadf
6d02a4857d * complex.c (nucomp_div): [ruby-dev:34357]
* complex.c (nucomp_abs): use hypot.

	* complex.c (nucomp_quo): do not force convertion.

	* test/ruby/test_complex.rb: omitted some meaningless tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 22:30:45 +00:00
matz
fee4ed204f * re.c (rb_reg_search): make search reentrant. [ruby-dev:34223]
* test/ruby/test_parse.rb (TestParse::test_global_variable):
  should preserve $& variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 15:47:51 +00:00
mame
71263844e2 * test/ruby/test_objectspace.rb: add a test for
ObjectSpace.count_objects.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-14 14:26:51 +00:00
mame
0327a222c4 * test/ruby/test_parse.rb: add tests to achieve over 95% test coverage
of parse.y.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-13 15:52:14 +00:00
matz
6b36f117f2 * prelude.rb (require_relative): move require_relative from
lib/require_relative.rb.  [ruby-core:16356]

* lib/require_relative.rb: removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-12 14:50:18 +00:00
drbrain
e72b71d56a Update to RubyGems 1.1.1 r1701.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 20:57:02 +00:00
knu
033a32b4c1 * enum.c (enum_find_index): Add support for find_index(obj);
[ruby-dev:34313].

* array.c (rb_ary_index): Define find_index as an alias to index.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 07:58:06 +00:00
matz
3f03878309 * lib/yaml/store.rb (YAML::load): modified to support empty
database.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-11 07:43:31 +00:00
matz
df033c0632 * test/test_generator.rb: removed as well. [ruby-dev:34306]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 13:41:21 +00:00
akr
7132a4f979 * marshal.c (w_object): TYPE_USERDEF assigns id for ivars first.
[ruby-dev:34159] by nagachika.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 08:41:46 +00:00
matz
1d63f4eead * lib/pstore.rb: replaced by Hongli Lai's faster version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-10 07:12:41 +00:00
nobu
5098d7ae0d * test/ruby/test_thread.rb: new tests from Sylvain Joyeux in
[ruby-Patches-19361].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-09 03:12:03 +00:00
tadf
4e046758f5 * numeric.c: cancelled recent changes (except to remove rdiv).
* bignum.c: ditto.

	* bignum.c: added rb_big_idiv.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-07 13:52:26 +00:00
matz
bdc00ba604 * bignum.c (rb_cmpint): moved from compar.c, to check bignum
zero.

* range.c (range_step): add step for each iteration if begin and
  end are numeric.  [ruby-core:15990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-06 17:11:50 +00:00
matz
228f30be3a * bignum.c (Init_Bignum): rdiv method removed. [ruby-dev:34242]
* complex.c (nucomp_quo): ditto.

* numeric.c (num_rdiv): ditto.

* rational.c (nurat_div): ditto.

* complex.c (nucomp_fdiv): fdiv implementation restored.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-03 16:01:16 +00:00
matz
c3d2e4d381 * numeric.c (num_rdiv): should always return rational number.
* rational.c (nurat_add, nurat_sub, nurat_mul, nurat_fdiv,
  nurat_cmp): use rb_num_coerce_bin().

* rational.c (nurat_division): does / and rdiv.

* .gdbinit (rp): no longer use rb_p().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-02 14:13:53 +00:00
drbrain
283be20b27 Remove test file that was removed in RubyGems 1.1.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 22:55:00 +00:00
drbrain
8cc45aae94 Import RubyGems 1.1.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 22:40:06 +00:00
matz
88a4961cb2 * numeric.c (num_quo): should convert its operand to Rational.
* rational.c (string_to_r_strict): should raise TypeError.

* bignum.c (Init_Bignum): should not redefine Bignum#div.
  Numeric#div will do.  [ruby-dev:34066]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-03-31 10:14:42 +00:00