summaryrefslogtreecommitdiff
path: root/test/ruby/test_io.rb
AgeCommit message (Collapse)Author
2016-03-25merge revision(s) 46108,46209,46223,46297,48223,48224: [Backport #12168]usa
* test/openssl: Join threads. * ext/openssl/ossl_ssl.c (ossl_ssl_close): Fix sync_close to work when SSL is not started. This fix the fd leak by test_https_proxy_authentication in test/net/http/test_https_proxy.rb. * ext/openssl/lib/openssl/ssl.rb (SSLServer#accept): Close a socket if any exception occur. * test/ruby/envutil.rb (assert_join_threads): New assertion to join multiple threads without exceptions. * test/openssl/utils.rb (start_server, server_loop): Use a pipe to stop server instead of shutdown/close a listening socket. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@54272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-25merge revision(s) 53329: [Backport #11885]usa
* io.c (io_getpartial): remove unused kwarg from template * test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug #11885] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@53926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-29merge revision(s) 52229,52273,52277,52357: [Backport #11613]usa
Add rlimit_nproc to avoid to create many process [Bug #11613] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@52358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-08-17merge revision(s) 51066: [Backport #11319]usa
* io.c (rb_io_oflags_modestr): handle O_TRUNC correctly * test/ruby/test_io.rb (test_reopen_stdio): new test Patch-by: cremno phobia <cremno@mail.ru> [ruby-core:69779] [Bug #11319] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@51611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-05merge revision(s) r49148: [Backport #9917]nagachika
* test/ruby/test_io.rb: added timeout for AIX environment. [ruby-core:62983][Bug #9917] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-09merge revision(s) r47288: [Backport #10153]nagachika
* io.c (io_close): ignore only "closed stream" IOError and NoMethodError, do not swallow other exceptions at the end of block. [ruby-core:64463] [Bug #10153] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-11merge revision(s) r46151,r46165: [Backport #9865]nagachika
* io.c (rb_io_fileno, rb_io_inspect): non-modification does not error on frozen IO. [ruby-dev:48241] [Bug #9865] * io.c (rb_io_autoclose_p): Don't raise on frozen IO. * test/lib/minitest/unit.rb: IO#autoclose? may raise IOError. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-30merge revision(s) r46360,r46372: [Backport #8625]nagachika
* io.c (io_setstrbuf, io_read): should not shorten the given buffer until read succeeds. [ruby-core:55951] [Bug #8625] * io.c (read_all): truncate the buffer before appending read data, instead of truncating before reading. [ruby-core:55951] [Bug #8625] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-29merge revision(s) r45979: [Backport #9847]nagachika
* io.c (io_setstrbuf): always check if the buffer is modifiable. [ruby-core:62643] [Bug #9847] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46614 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-18test_io.rb: duplicated testnobu
* test/ruby/test_io.rb (test_s_write): merge duplicated test. * test/ruby/test_io.rb (test_io_s_write): remove duplicated assertsions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-17* test/ruby/test_io.rb: fix duplicated test name.ktsj
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16class.c: fix option hashnobu
* class.c (rb_scan_args): if no keywords is given return nil as the option hash. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16test_io.rb: IO.write testnobu
* test/ruby/test_io.rb (test_s_write): test for IO.write. more conditions will be needed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-13test/ruby: better assertionsnobu
* test/ruby: use better assertions instead of mere assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09test/unit/assertions.rb: return exceptionnobu
* lib/test/unit/assertions.rb (assert_raise_with_message): return raised exception same as assert_raise. * test/ruby, test/-ext-: use assert_raise_with_message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07test_io.rb: fix r43164nobu
* test/ruby/test_io.rb (test_pid_after_close_read): fix rr43164 for platforms other than Windows. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-07test_io.rb: get rid of error messagenobu
* test/ruby/test_io.rb (TestIO#test_pid_after_close_read): get rid of broken pipe error message from invoked command, by let it exit silently. echo in cmd.exe does not interpret double quotes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43164 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-03test_io.rb: fix typonobu
* test/ruby/test_io.rb (test_pid_after_close_read): fix typo. pointed out by Peter Suschlik. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-02test_io.rb: add testnobu
* test/ruby/test_io.rb (tesst_pid_after_close_read): test for r43117. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-02io.c: get rid of race conditionnobu
* io.c (rb_io_close_write): detach tied IO for writing before closing to get rid of race condition. [ruby-list:49598] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-27io.c: copy in binary modenobu
* io.c (copy_stream_body): should write in binary mode. based on a patch by godfat (Lin Jen-Shin) at [ruby-core:56556]. [ruby-core:56518] [Bug #8767] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-26* io.c (io_read_nonblock): support non-blocking reads without raisingtenderlove
exceptions. As in: `io.read_nonblock(size, exception: false)` [ruby-core:38666] [Feature #5138] * ext/openssl/ossl_ssl.c (ossl_ssl_read_internal): ditto * ext/stringio/stringio.c (strio_sysread): ditto * io.c (rb_io_write_nonblock): support non-blocking writes without raising an exception. * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): ditto * test/openssl/test_pair.rb (class OpenSSL): tests * test/ruby/test_io.rb (class TestIO): ditto * test/socket/test_nonblock.rb (class TestSocketNonblock): ditto * test/stringio/test_stringio.rb (class TestStringIO): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-28* io.c (io_getpartial): use rb_str_locktmp_ensure().glass
[ruby-core:56121] [Bug #8669] * io.c (rb_io_sysread): ditto. * test/ruby/test_io.rb: add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-28* string.c: add internal API rb_str_locktmp_ensure().glass
* io.c (io_fread): use rb_str_locktmp_ensure(). [ruby-core:56121] [Bug #8669] * test/ruby/test_io.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-28* io.c (interpret_seek_whence): support SEEK_DATA and SEEK_HOLE.glass
These are whences for lseek(2) supported by Linux since version 3.1. [ruby-core:56123] [Feature #8671] * test/ruby/test_io.rb: Add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-22* test/ruby/tes_io.rb (test_copy_stream_bigcontent_fpos): rename duplicatednagachika
test method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-20test_io.rb: split test_copy_streamnobu
* test/ruby/test_io.rb (TestIO#test_copy_stream): split huge test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-26* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): skip ifshirosaki
writing a file is slow. [ruby-core:55541] [Bug #8519] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19test_io.rb: use assert_separatelynobu
* test/ruby/test_io.rb (test_cross_thread_close_stdio): use assert_separately instead of separated fork and assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19test/ruby: reap zombiesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-12* safe.c (rb_set_safe_level, safe_setter): raise an ArgumentErrorshugo
when $SAFE is set to 4. $SAFE=4 is now obsolete. [ruby-core:55222] [Feature #8468] * object.c (rb_obj_untrusted, rb_obj_untrust, rb_obj_trust): Kernel#untrusted?, untrust, and trust are now deprecated. Their behavior is same as tainted?, taint, and untaint, respectively. * include/ruby/ruby.h (OBJ_UNTRUSTED, OBJ_UNTRUST): OBJ_UNTRUSTED() and OBJ_UNTRUST() are aliases of OBJ_TAINTED() and OBJ_TAINT(), respectively. * array.c, class.c, debug.c, dir.c, encoding.c, error.c, eval.c, ext/curses/curses.c, ext/dbm/dbm.c, ext/dl/cfunc.c, ext/dl/cptr.c, ext/dl/dl.c, ext/etc/etc.c, ext/fiddle/fiddle.c, ext/fiddle/pointer.c, ext/gdbm/gdbm.c, ext/readline/readline.c, ext/sdbm/init.c, ext/socket/ancdata.c, ext/socket/basicsocket.c, ext/socket/socket.c, ext/socket/udpsocket.c, ext/stringio/stringio.c, ext/syslog/syslog.c, ext/tk/tcltklib.c, ext/win32ole/win32ole.c, file.c, gc.c, hash.c, io.c, iseq.c, load.c, marshal.c, object.c, proc.c, process.c, random.c, re.c, safe.c, string.c, thread.c, transcode.c, variable.c, vm_insnhelper.c, vm_method.c, vm_trace.c: remove code for $SAFE=4. * test/dl/test_dl2.rb, test/erb/test_erb.rb, test/readline/test_readline.rb, test/readline/test_readline_history.rb, test/ruby/test_alias.rb, test/ruby/test_array.rb, test/ruby/test_dir.rb, test/ruby/test_encoding.rb, test/ruby/test_env.rb, test/ruby/test_eval.rb, test/ruby/test_exception.rb, test/ruby/test_file_exhaustive.rb, test/ruby/test_hash.rb, test/ruby/test_io.rb, test/ruby/test_method.rb, test/ruby/test_module.rb, test/ruby/test_object.rb, test/ruby/test_pack.rb, test/ruby/test_rand.rb, test/ruby/test_regexp.rb, test/ruby/test_settracefunc.rb, test/ruby/test_struct.rb, test/ruby/test_thread.rb, test/ruby/test_time.rb: remove tests for $SAFE=4. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41259 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-12test_io.rb: fix test errornobu
* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): retry to remove the temporary file while EACCES occurs because of syncing in the system probably. rescue ENOSPC from IO#tell. [ruby-core:55457] [Bug #8519] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-29GC before running test_copy_stream_socket7naruse
it sometimes occurs NoMemoryError http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130529T033302Z.diff.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): HFS+ seemsnobu
not supporting a sparce file. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-23test_io.rb: test for writenobu
* test/ruby/test_io.rb (TestIO#test_write_32bit_boundary): add test for write part. [ruby-core:55098] [Bug #8431] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-22win32.c: check error of SetFilePointernobu
* win32/win32.c (setup_overlapped): check the error code in addition to the result of SetFilePointer() to determine if an error occurred, because INVALID_SET_FILE_POINTER is a valid value. [ruby-core:55098] [Bug #8431] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-11disable test_fcntl_lock_linux on x32.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-20* test/csv/test_features.rb, test/logger/test_logger.rbakr
test/mkmf/test_have_macro.rb, test/net/http/test_http.rb, test/openssl/test_config.rb, test/psych/test_encoding.rb, test/psych/test_exception.rb, test/psych/test_psych.rb, test/psych/test_tainted.rb, test/readline/test_readline.rb, test/rexml/test_contrib.rb, test/ruby/test_autoload.rb, test/ruby/test_beginendblock.rb, test/ruby/test_exception.rb, test/ruby/test_file.rb, test/ruby/test_io.rb, test/ruby/test_marshal.rb, test/ruby/test_process.rb, test/ruby/test_require.rb, test/ruby/test_rubyoptions.rb, test/syslog/test_syslog_logger.rb, test/webrick/test_httpauth.rb, test/zlib/test_zlib.rb: Use Tempfile.create. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-03* io.c (rb_io_seek_m): Accept :CUR, :END, :SET as "whence" argument.akr
(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-03-30* test/ruby/test_class.rb: Simplify warning checksmarcandre
* test/ruby/test_io.rb: ditto * test/ruby/test_module.rb: ditto * test/ruby/test_regexp.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-03-16* thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug.kosaki
[Bug #8080] [ruby-core:53349] * test/ruby/test_io.rb (TestIO#test_io_select_with_many_files): test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25* test/ruby/test_io.rb (test_ioctl_linux): skip if a platform iskosaki
not x86 because linux ioctl request number depend on cpu arch. At least, alpha, mips, sparc and ppc have a different number. [Bug #7718] [ruby-core:51544] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-22Deprecate #{lines,bytes,chars,codepoints} of IO-likes.knu
* io.c (rb_io_lines, rb_io_bytes, rb_io_chars, rb_io_codepoints): Deprecate IO#{lines,bytes,chars,codepoints} and those of ARGF. [Feature #6670] * ext/stringio/stringio.c (strio_lines, strio_bytes, strio_chars) (strio_codepoints): Deprecate StringIO#{lines,bytes,chars,codepoints}. [Feature #6670] * ext/zlib/zlib.c (rb_gzreader_lines, rb_gzreader_bytes): Deprecate Zlib::GzipReader#{lines,bytes}. [Feature #6670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01io.c: recurse for the argumentnobu
* io.c (rb_io_puts): recurse for the argument itself, not converted array elements. [ruby-core:42444] [Bug #5986] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-06* ruby.c (load_file_internal): set default source encoding asnaruse
UTF-8 instead of US-ASCII. [ruby-core:46021] [Feature #6679] * parse.y (parser_initialize): set default parser encoding as UTF-8 instead of US-ASCII. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12use tty(1) to check if /dev/tty is usable or notnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-12Fix wrong condition of skipping test_ioctl_linuxnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-03io.c: improved IO#reopennobu
* io.c (rb_io_reopen): improvement to accept optional arguments. a patch by Glass_saga (Masaki Matsushita) in [ruby-core:47806]. [Feature #7103] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-28io.c: IO#reopen int modenobu
* io.c (rb_io_reopen): accept File::Constants as well as mode string. based on the patch by Glass_saga (Masaki Matsushita) in [ruby-core:47694]. [Feature #7067] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-16io.c: io_set_read_lengthnobu
* io.c (io_set_read_length): if the read length equals to the buffer string size then nothing to do. or ensure the string modifiable before setting the length only when the former is shorter. based on the patch in [ruby-core:47541] by Hiroshi Shirosaki. [ruby-core:46586] [Bug #6764] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e