Commit graph

6433 commits

Author SHA1 Message Date
usa
83e951d8c0 * test/dl/test_base.rb: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 07:51:54 +00:00
naruse
91fe36e99a Experimental fix for ffi_closure_free causes dumping core/SEGV
20130411T041301Z.log.html.gz#test%2F-ext-

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 06:35:43 +00:00
usa
13fb747c37 * test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill
if it fails with Errno::EPERM on Windows (workaround).
  [ruby-dev:47245] [Bug #8251]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-11 04:21:34 +00:00
naruse
dad98e5798 Explictly flush stdio
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-10 21:59:13 +00:00
akr
4329b14cfb * lib/open-uri.rb: Support multiple fields with same field
name (like Set-Cookie).
  (OpenURI::Meta#metas): New accessor to obtain fields as a Hash from
  field name (string) to field values (array of strings).
  [ruby-core:37734] [Bug #4964] reported by ren li.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-09 10:53:41 +00:00
nobu
56486e00ec test_{env,hash}.rb: descriptive assertions
* test/ruby/test_{env,hash}.rb: use descriptive assertions than plain
  assert.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-09 07:21:50 +00:00
nobu
f4c52b483c compile.c: append keyword hash to splat
* compile.c (iseq_compile_each): append keyword hash to argument array
  to splat if needed.  [ruby-core:54094] [Bug #8236]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-09 06:26:15 +00:00
nobu
fa93be2f05 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 20:27:01 +00:00
headius
0626d9b91c Fix #6154 by introducing new EAGAIN/EWOULDBLOCK/EINPROGRESS
subclasses that include WaitReadable or WaitWritable rather than
extending them into the exception object each time.

* error.c: Capture EGAIN, EWOULDBLOCK, EINPROGRESS exceptions and
  export them for use in WaitReadable/Writable exceptions.
* io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that
  include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail
  for nonblocking failures using those exceptions. Use that
  function in io_getpartial and io_write_nonblock instead of
  rb_mod_sys_fail
* ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include
  WaitReadable and WaitWritable. Use those classes for
  write_would_block and read_would_block instead of rb_mod_sys_fail.
* ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in bsock_sendmsg_internal and
  bsock_recvmsg_internal.
* ext/socket/init.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in rsock_s_recvfrom_nonblock and
  rsock_s_connect_nonblock.
* ext/socket/socket.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in sock_connect_nonblock.
* include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead
  of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and
  RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 19:58:55 +00:00
nobu
311960cdaf win32ole.c: check arity
* ext/win32ole/win32ole.c (fole_missing): should check actual argument
  count before accessing.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 08:19:32 +00:00
nobu
6779f24eb5 test_curses.rb: add sentinel
* test/test_curses.rb (TestCurses#run_curses): add sentinel to get rid
  of read pty output after the child process terminated, which causes
  EIO on Linux.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 05:12:08 +00:00
xibbar
5865e7604c * lib/cgi/util.rb (CGI::unescapeHTML): fix Hexadecimal numeric character.
[Bug #8183]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 04:06:39 +00:00
naruse
a48f99ce5c Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 03:08:03 +00:00
naruse
ae13ab2466 * object.c (rb_obj_ivar_set): call to_str for string only once.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-08 03:05:15 +00:00
naruse
d9ff5c2230 * object.c (rb_mod_cvar_set): call to_str for string only once.
to_str was called from rb_is_class_name and rb_to_id before.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-07 12:18:26 +00:00
kazu
875bba3fc5 Regexp.escape(RUBY_PLATFORM)
* test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
  RUBY_PLATFORM should escape as Regexp,
  because RUBY_PLATFORM may contain '.'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-07 05:11:24 +00:00
akr
cb302bf351 * ext/socket/rubysocket.h (SockAddrStringValueWithAddrinfo): New macro.
(rsock_sockaddr_string_value_with_addrinfo): New declaration.
  (rsock_addrinfo_inspect_sockaddr): Ditto.
  (rsock_sys_fail_addrinfo): Ditto.
  (rsock_sys_fail_sockaddr_or_addrinfo): Ditto.

* ext/socket/raddrinfo.c (rsock_addrinfo_inspect_sockaddr): Renamed
  from addrinfo_inspect_sockaddr and exported.
  (rsock_sockaddr_string_value_with_addrinfo): New function to obtain
  string and possibly addrinfo object.

* ext/socket/socket.c (rsock_sys_fail_sockaddr): Don't use
  rsock_sys_fail_host_port which is IP dependent.  Invoke
  rsock_sys_fail_addrinfo.
  (rsock_sys_fail_addrinfo): New function using
  rsock_addrinfo_inspect_sockaddr.
  (rsock_sys_fail_addrinfo_or_sockaddr): New function.
  (sock_connect): Use SockAddrStringValueWithAddrinfo and
  rsock_sys_fail_addrinfo_or_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40154 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 05:50:42 +00:00
akr
d933fb2296 * ext/socket: Improve socket exception message to show socket address.
[ruby-core:45617] [Feature #6583] proposed Eric Hodel.

* ext/socket/rubysocket.h (rsock_sys_fail_host_port): Declared.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.

* ext/socket/udpsocket.c (udp_connect): Use rsock_sys_fail_host_port.
  (udp_bind): Ditto.
  (udp_send): Ditto.

* ext/socket/init.c (rsock_init_sock): Specify a string for rb_sys_fail
  argument.
  (make_fd_nonblock): Ditto.
  (rsock_s_accept): Ditto.

* ext/socket/ipsocket.c (init_inetsock_internal): Use
  rsock_sys_fail_host_port.

* ext/socket/socket.c (rsock_sys_fail_host_port): Defined.
  (rsock_sys_fail_path): Ditto.
  (rsock_sys_fail_sockaddr): Ditto.
  (setup_domain_and_type): Use rsock_sys_fail_sockaddr.
  (sock_connect_nonblock): Ditto.
  (sock_bind): Ditto.
  (sock_gethostname): Specify a string for rb_sys_fail argument.
  (socket_s_ip_address_list): Ditto.

* ext/socket/basicsocket.c (bsock_shutdown): Specify a string for
  rb_sys_fail argument.
  (bsock_setsockopt): Use rsock_sys_fail_path.
  (bsock_getsockopt): Ditto.
  (bsock_getpeereid): Refine the argument for rb_sys_fail.

* ext/socket/unixsocket.c (rsock_init_unixsock): Use
  rsock_sys_fail_path.
  (unix_path): Ditto.
  (unix_send_io): Ditto.
  (unix_recv_io): Ditto.
  (unix_addr): Ditto.
  (unix_peeraddr): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:39:44 +00:00
shirosaki
e4283fd39d * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
fix load path for encoding to run the test as stand-alone.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 02:30:52 +00:00
nobu
8ee121d060 * test/dtrace/helper.rb (DTrace::TestCase#trap_probe): needs to pass
some paths by environment variables.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 00:59:12 +00:00
akr
37872dbf2b add a comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-06 00:10:22 +00:00
tenderlove
2a58706e2d * ext/psych/lib/psych/visitors/yaml_tree.rb: fix symbol keys in coder
emission.  Thanks @tjwallace
* test/psych/test_coder.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 18:12:52 +00:00
tenderlove
0cb251e079 change test name to be more helpful
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 18:02:22 +00:00
nobu
40370296c7 parse.y: "nil" for defined? with empty expression
* parse.y (new_defined): remove all extra parentheses, and return
  "nil" for defined? with empty expression.
  [ruby-core:54024] [Bug #8224]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 17:30:42 +00:00
tenderlove
7a7bb64464 * ext/psych/lib/psych/visitors/to_ruby.rb: correctly register
self-referential strings. Fixes tenderlove/psych #135

* test/psych/test_string.rb: appropriate test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 17:11:21 +00:00
shirosaki
07636ed42e * load.c (features_index_add): use rb_str_subseq() to specify C string
position properly to fix require non ascii path.
  [ruby-core:53733] [Bug #8165]

* test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):
  a test for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 15:30:52 +00:00
nobu
0c5d73e80b compile.c: defined? with empty expression
* compile.c (iseq_compile_each): fix of defined? with empty
  expression.  [ruby-core:53999] [Bug #8220]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 10:40:03 +00:00
nobu
e3b9ed7649 curses.c: fix function
* ext/curses/curses.c (Init_curses): fix implementation function,
  crmode should be same as cbreak.  [ruby-core:54013] [Bug #8222]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 04:23:05 +00:00
nobu
7cd3fcfbaa * test/test_curses.rb: tests for getch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40117 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05 04:23:02 +00:00
nobu
672b8bf1c0 object.c: avoid inadvertent symbol creation
* object.c (rb_mod_cvar_set): fix typo.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 21:36:38 +00:00
akr
c3d1fde2b5 * ext/pathname/pathname.c (path_write): New method.
(path_binwrite): Ditto.
  [ruby-core:49468] [Feature #7378]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 11:12:12 +00:00
nobu
12bf1de1dd envutil.rb: assert stderr if marshal failed
* test/ruby/envutil.rb (assert_separately): force to assert stderr to
  be empty if marshal failed, as something is emitted probably.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 08:23:16 +00:00
nobu
112a3b1fca struct.c: avoid inadvertent symbol creation
* struct.c (make_struct): avoid inadvertent symbol creation.
  (rb_struct_aref): ditto.
  (rb_struct_aset): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 07:55:11 +00:00
nobu
4e59c822a0 object.c: avoid inadvertent symbol creation
* object.c (rb_mod_const_set): avoid inadvertent symbol creation.
  (rb_obj_ivar_set): ditto.
  (rb_mod_cvar_set): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 07:54:44 +00:00
nobu
9f87297c21 enum.c: avoid inadvertent symbol creation
* enum.c (enum_inject): avoid inadvertent symbol creation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 06:46:53 +00:00
nobu
8074844065 thread.c: avoid inadvertent symbol creation
* thread.c (rb_thread_aref): avoid inadvertent symbol creation.
  (rb_thread_variable_get): ditto.
  (rb_thread_key_p): ditto.
  (rb_thread_variable_p): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-04 05:37:21 +00:00
naruse
7b58445ebd * ext/openssl/ossl_bn.c (ossl_bn_initialize): fix can't create from bn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 18:28:56 +00:00
akr
694207c737 Add comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 12:36:57 +00:00
akr
b81ea661db * io.c (rb_io_seek_m): Accept :CUR, :END, :SET as "whence" argument.
(interpret_seek_whence): New function.
  [ruby-dev:45818] [Feature #6643]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 12:25:09 +00:00
nobu
b30a6b8d1d bignum.c: Bignum zero comparison
* bignum.c (rb_big_eq): test as Fixnum if possible and get rid of zero
  length Bignum.  [ruby-core:53893] [Bug #8204]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03 07:34:31 +00:00
akr
583c8e8915 * pack.c: Support Q! and q! for long long.
(natstr): Moved to toplevel.  Add q and Q if there is long long type.
  (endstr): Moved to toplevel.
  (NATINT_PACK): Consider long long.
  (NATINT_LEN_Q): New macro.
  (pack_pack): Support Q! and q!.
  (pack_unpack): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 11:28:57 +00:00
akr
6d0c59f156 * ext/-test-/num2int/num2int.c: Define utility methods
as module methods of Num2int.

* test/-ext-/num2int/test_num2int.rb: Follow the above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 10:26:02 +00:00
naruse
5fd798d1ed * re.c (rb_reg_to_s): suppress duplicated charclass warning.
Regexp#to_s suppress extra its whole regexp options by calling
  onig_new with its source, but it doesn't call rb_reg_preprocess.
  Therefore its Unicode escapes (\u{XXXX}) are given as is,
  and it may cause duplicated charclass warning for example
  "[\u{33}]" (3 is duplicated) or "[\u{a}\u{b}]" (u is duplicated).
  [ruby-core:53649] [Bug #8151]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 08:44:16 +00:00
naruse
5376610d0c Add ignore_stderr because it outputs "circular require" warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 06:28:20 +00:00
naruse
1ee9f3759d Use assert_separately to speed up on test-all
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 06:28:17 +00:00
naruse
a26d663b70 * test/ruby/envutil.rb (assert_separately): stop_auto_run of
Test::Unit::Runner to prevent auto runner use ARGV.

* test/ruby/envutil.rb (assert_separately): add $: to separate process.

* test/ruby/envutil.rb (assert_separately): fail if stderr is not
  empty and ignore_stderr is false.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 06:28:15 +00:00
naruse
63f33c5e46 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 06:28:13 +00:00
naruse
4046585a20 use long_ary to suppress warning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 06:28:10 +00:00
naruse
7a77e12488 Suppress warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 02:14:21 +00:00
naruse
0fb23a9449 fix typo: s/@ca_cert/@cacert/
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-02 02:02:33 +00:00