aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_io.rb
Commit message (Collapse)AuthorAgeFilesLines
* Run the test only if /dev/tty exists.naruse2011-11-271-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33857 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (ioctl_narg_len, linux_iocparm_len): reinstantiate linuxkosaki2011-11-251-0/+13
| | | | | | | | specific narg length calculation. * test/ruby/test_io.rb (test_ioctl_linux2): add new test for old and unstructured ioctl. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/openssl/test_engine.rb: use IO#reopen to restore stderr.akr2011-11-241-0/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add a test.akr2011-11-241-0/+35
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (ioctl_narg_len): don't use _IOC_SIZE macro on Linux.naruse2011-11-231-0/+9
| | | | | | | | | | | | On Linux some constants for ioctl(2) doesn't include the size of its return value and 16bit value; for example FIONREAD 0x541B. Moreover the manual, ioctl_list(2), says "Note that the size bits are very unreliable: in lots of cases they are wrong, either because of buggy macros using sizeof(sizeof(struct)), or because of legacy values." So we shouldn't use it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_dupfd): there is no known platformakr2011-11-211-1/+1
| | | | | | | | which don't have F_DUPFD. [ruby-dev:44874] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_dupfd): the argument of F_DUPFD isakr2011-11-211-1/+1
| | | | | | | minimum file descriptor. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_fcntl_dupfd): fix OpenBSD testkosaki2011-11-151-2/+2
| | | | | | | | failure. [ruby-dev:44872] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert r33752 and fix test case based [ruby-dev:44866].ayumin2011-11-141-4/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_dupfd): fix test error onayumin2011-11-141-1/+2
| | | | | | SnowLeopard. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_dupfd): skip if Fcntl::DUPFDkosaki2011-11-121-1/+1
| | | | | | | | is not defined. Pointed out by CHIKANAGA Tomoyuki. Thanks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_dupfd): add another fcntl test.kosaki2011-11-121-0/+11
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_fcntl_lock_freebsd): add a testcasekosaki2011-11-121-1/+36
| | | | | | | | of fcntl lock for freebsd. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (ioctl_req_t): Type of req argument of ioctl() depend on platform.kosaki2011-11-121-0/+12
| | | | | | | | | | | | | Moreover almost all linux ioctl can't be represented by 32bit integer (i.e. MSB is 1). We need wrap ioctl argument type. [Bug #5429] [ruby-dev:44589] * io.c (struct ioctl_arg): ditto. * io.c (rb_ioctl): ditto. * test/ruby/test_io.rb (test_ioctl_linux): add a testcase for ioctl git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add test for close-on-exec.akr2011-11-031-0/+25
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (copy_stream_fallback_body): check nil for EOF of read method.akr2011-10-231-0/+22
| | | | | | | patch by Eric Wong. [ruby-core:39134] [Bug #5237] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/intern.h (rb_fd_set_cloexec): declared.akr2011-10-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * io.c (rb_fd_set_cloexec): new function. (ruby_dup): call rb_fd_set_cloexec to set close-on-exec flag. (rb_sysopen_internal): ditto. (rb_pipe): ditto. (io_reopen): ditto. (io_cntl): ditto. * process.c (rb_f_exec): change the default :close_others option to true. (rb_f_system): ditto. (move_fds_to_avoid_crash): call rb_fd_set_cloexec to set close-on-exec flag. (ruby_setsid): ditto. (rb_daemon): ditto. * thread_pthread.c (rb_thread_create_timer_thread): call rb_fd_set_cloexec to set close-on-exec flag. * ruby.c (load_file_internal): ditto. * file.c (rb_file_s_truncate): ditto. (file_load_ok): ditto. * random.c (fill_random_seed): ditto. * ext/pty/pty.c (chfunc): ditto. (get_device_once): ditto. * ext/openssl/ossl_bio.c (ossl_obj2bio): ditto. * ext/socket/init.c (rsock_socket): ditto. (rsock_s_accept_nonblock): ditto. (rsock_s_accept): ditto. * ext/socket/socket.c (rsock_sock_s_socketpair): ditto. * ext/socket/ancdata.c (discard_cmsg): ditto. (make_io_for_unix_rights): ditto. * ext/socket/unixsocket.c (unix_recv_io): ditto. * ext/io/console/console.c (console_dev): ditto. [ruby-core:38140] [Feature #5041] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_each_byte): rbuf can be refreshed during yield.nobu2011-07-301-0/+10
| | | | | | | [Bug #5119] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (rb_warn_m): accept multiple args in like puts. rdocnobu2011-07-171-0/+17
| | | | | | patch by Erik Price at [ruby-core:38119]. [Feature #5029] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32568 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (fill_cbuf): finish reading at EOF, and the readconv hasnobu2011-06-181-0/+20
| | | | | | | | been cleared by another thread while io_fillbuf() is waiting at select(). a patch in [ruby-core:37197] by Hiroshi Shirosaki <h.shirosaki AT gmail.com>. fixed #3840 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_copy_stream_socket): fixkosaki2011-06-161-2/+2
| | | | | | | | | test hanging up issue. Patch by CHIKANAGA Tomoyuki. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (test_copy_stream_socket): wait a child processakr2011-06-151-13/+16
| | | | | | | | | | | before SIGUSR1 handler is removed. * test/pathname/test_pathname.rb (define_assertion): use line number for test method names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: fix IO.copy_stream interrupt handling.akr2011-06-091-0/+32
| | | | | | | | | | | | | | | | based on the patch by Eric Wong. [ruby-core:36156] * vm_core.h (rb_thread_call_with_gvl): don't declare here. * thread.c: include internal.h. (rb_thread_execute_interrupts): new function. * internal.h (rb_thread_execute_interrupts): declared. (rb_thread_call_with_gvl): declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_s_{,bin}write): do not create a filekazu2011-06-061-52/+50
| | | | | | under /tmp. [Bug #4846] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c: Add File.write, File.binwrite. [Feature #1081] [ruby-core:21701]sorah2011-06-021-0/+57
| | | | | | | | * test/ruby/test_io.rb: Test for File.write, File.binwrite. * NEWS: News for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_open_mode): MUST release resourcesusa2011-05-311-4/+8
| | | | | | | explicitly. fix problem of r31671 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_ungetc2): get rid of busy loop.nobu2011-05-271-1/+1
| | | | | | * test/ruby/test_signal.rb (TestSignal#test_signal2): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_extract_modeenc): accept combination hash andkosaki2011-05-211-0/+12
| | | | | | | | | | File::Constants. (eg. File.open('yo', :mode => File::WRONLY)) [Feature #4742][ruby-core:36338] * test/ruby/test_io.rb (TestIO#test_open_mode): new test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* revert O_CLOEXEC patch series completely.kosaki2011-05-191-51/+0
| | | | | | | | | | because boron chkbuild test result says, An old linux kernel ignore O_CLOEXEC silently instead of return an error. It may lead to bring new security risk. So, we have to be pending it until finish to implement proper fallback logic. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_O_CLOEXEC): add null check.kosaki2011-05-171-4/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_readpartial_lock),nobu2011-05-071-2/+2
| | | | | | (TestIO#test_read_lock): get rid of GVL fairness problem. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_io.rb (TestIO#test_O_CLOEXEC): fix false positivekosaki2011-05-051-19/+39
| | | | | | | | detection. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (Init_IO): Added File::CLOEXEC constant. [ruby-core:22893] [Feature ↵kosaki2011-05-041-0/+31
| | | | | | | | | | #1291] * test/ruby/test_io.rb (TestIO#test_o_cloexec): test for File::CLOEXEC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * 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