aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_io.rb
Commit message (Collapse)AuthorAgeFilesLines
* * test/ruby/test_io.rb (TestIO#test_cross_thread_close_fd):arton2011-04-181-0/+1
| | | | | | | skip cross thread pipe close if windows git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb: Added TestIO#test_cross_thread_close_stdiokosaki2011-04-111-0/+39
| | | | | | | | | and TestIO#test_cross_thread_close_fd. The patch was written by Eric Wong. [ruby-core:35669] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* cancel subversion backfire. sorrymatz2011-03-071-0/+33
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c (rb_gc_set_params): allow GC parameter configuration bymatz2011-03-071-33/+0
| | | | | | | environment variables. based on a patch from funny-falcon at https://gist.github.com/856296, but honors safe level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_fcntl_lock): small clean up.kosaki2011-03-051-28/+27
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_cntl, nogvl_io_cntl): IO.fcntl() and IO.ioctl()kosaki2011-03-041-0/+34
| | | | | | | | | | | | release GVL during calling kernel interface. Suggested by Eric Wong. [ruby-core:35417][Bug #4463] * test/ruby/test_io.rb (TestIO#test_fcntl_lock): add new test for IO.fcntl(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (advice_arg_check): Change argument check.kosaki2010-12-251-1/+6
| | | | | | | | | Now, an unsupported advice makes NotImplementedError. [ruby-dev:42887] [Ruby 1.9-Feature#4204] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_advise): New API. IO#advise() allows to tell thekosaki2010-12-161-0/+34
| | | | | | | | | | | | | | ruby runtime how it expects to use a file handle. This feature can be improved a performance some situations. Note: This feature is mainly developed by Run Paint Run Run. Thank you! [ruby-core:33110] [Ruby 1.9-Feature#4038] * io.c (do_io_advise): Helper function. * io.c (io_advise_sym_to_const): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_reopen, test_reinitialize): should closeusa2010-12-141-12/+24
| | | | | | | the temporay files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_binmode_after_closed): the temporary fileusa2010-12-141-2/+1
| | | | | | | maked by make_temfile is already closed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_flush_in_finalizer[12]): should closeusa2010-12-141-2/+6
| | | | | | | | temporary file because it's only used for taking pathname and unlinking the file after the end of the test (in GC phase). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_readlines, rb_io_each_line): limit must not be zero.nobu2010-11-041-0/+20
| | | | | | a patch from Tomoyuki Chikanaga at [ruby-dev:42538]. #4024 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): should close write end of pipeusa2010-10-271-4/+4
| | | | | | | | | before closing read end, to get rid of timing problem. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): need to propagate exceptionsusa2010-10-271-2/+19
| | | | | | | | | in read/write thread. fix r29541. * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#pipe): get rid of deadlock on pipe.nobu2010-10-201-118/+149
| | | | | | | | a patch from Tomoyuki Chikanaga at [ruby-dev:42435]. #3970 * test/ruby/test_io_m17n.rb (TestIO_M17N#pipe): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (fptr_finalize): write_mutex might have been destroyednobu2010-10-061-0/+29
| | | | | | | | already in finalization phase, as the order of finalizers is not guaranteed. rb_mutex_t should be used in place of Mutex object in the future. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_threaded_flush): test "hi" is not outputakr2010-08-171-1/+3
| | | | | | | twice. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_flush_buffer): write and buffer operations should benobu2010-07-201-0/+14
| | | | | | monolithic. [ruby-core:31348] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (safe_4): does not use Timeout becausemame2010-06-151-15/+18
| | | | | | | | | | | Timeout.timeout uses Thread#kill which raises SecurityError when $SAFE == 4. based on a patch from Tomoyuki Chikanaga. [ruby-dev:41484] * test/ruby/test_io.rb (test_print_separators): use pipe (test helper method) instead of IO.pipe. [ruby-dev:41484] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28330 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb: skip false tests on Windows.nobu2010-04-301-8/+32
| | | | | | | [ruby-core:29886] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * lib/test/unit/assertions.rb (Test::Unit::Assertions#assert):nobu2010-04-291-1/+1
| | | | | | use more descriptive assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_initialize): add autoclose argument to control closenobu2010-03-211-0/+43
| | | | | | | | | at finalization. [ruby-core:26222] * io.c (rb_io_autoclose_p, rb_io_set_autoclose): new methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_print): RDoc update. a patch from Daniel Kelleymatz2010-03-151-0/+17
| | | | | | in [ruby-core:28643]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_each_codepoint): read directly when readconv isnobu2010-03-141-0/+10
| | | | | | needed but internal encoding is not set. [ruby-core:28650] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_write, rb_io_s_binwrite): delete File#write andmame2010-03-061-30/+0
| | | | | | | | | | #binwrite. It may take a long time to make them stable, so 1.9.2 should not include them. We need refactoring to implement them again. * test/ruby/test_io.rb: delete tests for them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_binwrite): use mode "r+b" instead of "ab" to handlemame2010-03-061-8/+8
| | | | | | | | offset correctly. [ruby-core:28517] * test/ruby/test_io.rb: use assert_equal instead of assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_s_write, io_s_binwrite): add File#write and #binwrite.mame2010-03-041-0/+30
| | | | | | | | [ruby-core:21701] * test/ruby/test_io.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fread, io_getpartial, io_read, io_sysread): by using lock,mame2010-02-171-6/+6
| | | | | | | | | prohibit modification of buffer string during read (which had caused EFAULT or SEGV). [ruby-dev:40437] * test/ruby/test_io.rb: rewrite tests for the old behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2010-02-171-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26702 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_fwrite): adjust stdio file position after direct write onnobu2009-10-261-0/+15
| | | | | | | BSDish platforms. [ruby-core:26300] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_reopen): unread current buffer before telling thenobu2009-10-151-0/+9
| | | | | | | position, for the case of reopening same file. [ruby-dev:39479] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_tell): adjustment for ungotten data.nobu2009-09-071-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_binmode_after_closed): test for [ruby-core:25363].nobu2009-09-041-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_read): should taint the result. [ruby-dev:38826]nobu2009-07-191-0/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_reopen): discards read buffer. [ruby-core:24240]nobu2009-07-161-0/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_initialize): check if the descriptor can be accessednobu2009-07-141-0/+3
| | | | | | | in the specified open mode. [ruby-dev:38571] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * ext/stringio/stringio.c (strio_ungetbyte): encoding should notnobu2009-05-141-0/+16
| | | | | | | be effective. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_mWaitReadable): defined.akr2009-03-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (rb_mWaitWritable): defined. (io_getpartial): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. (rb_io_write_nonblock): extend IO::WaitWritable on EWOULDBLOCK and EAGAIN. * error.c (make_errno_exc): extracted from rb_sys_fail. (rb_mod_sys_fail): new function. * include/ruby/ruby.h (rb_mod_sys_fail): declared. (rb_mWaitReadable): declared. (rb_mWaitWritable): declared. * ext/socket/init.c (rsock_s_recvfrom_nonblock): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. (rsock_s_accept_nonblock): extend IO::WaitReadable on EWOULDBLOCK, EAGAIN, ECONNABORTED and EPROTO. * ext/socket/socket.c (sock_connect_nonblock): extend IO::WaitWritable on EINPROGRESS. * ext/socket/ancdata.c (bsock_sendmsg_internal): extend IO::WaitWritable on EWOULDBLOCK and EAGAIN. (bsock_recvmsg_internal): extend IO::WaitReadable on EWOULDBLOCK and EAGAIN. * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): raise SSLError extended by IO::WaitReadable/IO::WaitWritable on SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE. * ext/openssl/ossl.c (ossl_make_error): extracted from ossl_raise. (ossl_exc_new): new function. * ext/openssl/ossl.h (ossl_exc_new): declared. * lib/net/protocol.rb (rbuf_fill): rescue IO::WaitReadable and IO::WaitWritable. [ruby-core:22539], [ruby-dev:38140] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * {ext,lib,test}/**/*.rb: removed trailing spaces.nobu2009-03-061-5/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_getline_1): enables limit even if rs is given.nobu2009-02-251-1/+2
| | | | | | | [ruby-core:22434] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (io_getpartial): error message describes what should beakr2009-02-211-0/+24
| | | | | | | | | | | | | | | | | waited after nonblocking error. (rb_io_write_nonblock): ditto. * ext/socket/init.c (s_recvfrom_nonblock): ditto. (s_accept_nonblock): ditto. * ext/socket/socket.c (sock_connect_nonblock): ditto. * ext/socket/ancdata.c (bsock_sendmsg_internal): ditto. (bsock_recvmsg_internal): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2009-01-311-0/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (copy_stream_body): don't check to_io becauseakr2008-12-311-0/+63
| | | | | | | Zlib::GzipWriter#to_io returns the underlying IO. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (pipe_close): removed.akr2008-12-251-0/+13
| | | | | | | | (pipe_yield): defined. (rb_io_s_pipe): use pipe_yield. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (flush_before_seek): check io_fflush result.akr2008-12-251-2/+2
| | | | | | | | | | | | | | | | (rb_io_check_readable): ditto. (rb_io_flush): ditto. (rb_io_fsync): ditto. (remain_size): ditto. (rb_io_write_nonblock): ditto. (finish_writeconv): ditto. (fptr_finalize): ditto. (io_reopen): ditto. (rb_io_reopen): ditto. (copy_stream_body): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20989 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_inspect): show fd number if there is no pathname.akr2008-12-231-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_pipe): IO.pipe can take a block.akr2008-12-221-0/+28
| | | | | | | (pipe_close): new function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_dup_many): extracted from test_dup.akr2008-12-111-11/+21
| | | | | | | test in ruby subprocess. at asakusa.rb. [ruby-dev:35648] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_sysopen): should specify the mode of IO::for_fdusa2008-10-281-1/+7
| | | | | | | if F_GETFL is not available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_copy_stream, test_copy_stream_socket): skip someusa2008-10-281-50/+80
| | | | | | | | | | tests if there isn't IO#nonblock=. * test/ruby/test_io.rb (test_close_on_exec): skip if there isn't IO#close_on_exec=. * test/ruby/test_io.rb (test_bytes, test_readbyte): depend on binmode. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e