summaryrefslogtreecommitdiff
path: root/test/ruby/test_process.rb
AgeCommit message (Collapse)Author
2012-07-30Suppress warnings.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30NetBSD's /proc/<pid>/task is broken.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-27process.c: try conversion at redirectionnobu
* io.c (rb_io_check_io): make public. * process.c (check_exec_redirect): try conversion to IO on redirect parameters. [ruby-core:44181] [Bug #6269] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-27popen: shell commands with envvars and execoptsnobu
* io.c (is_popen_fork): check if fork and raise NotImplementedError if unavailable. * io.c (rb_io_s_popen): allow environment variables hash and exec options as flat parameters, not in an array arguments. [Feature#6651] [EXPERIMENTAL] * process.c (rb_execarg_extract_options): extract exec options, but no exceptions on non-exec options and returns them as a Hash. * process.c (rb_execarg_setenv): set environment variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-26Revert r36213 "popen: shell commands with envvar"nobu
* io.c (rb_io_s_popen): revert r36213 "popen: shell commands with envvar" because it disabled to let single command bypass shell. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-25popen: shell commands with envvarnobu
* io.c (is_popen_fork): check if fork and raise NotImplementedError if unavailable. * io.c (rb_io_s_popen): allow shell commands with modified environment variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-13add a test.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12add a test.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-12* process.c (rb_exec_fillarg): treat '=' character as an metaakr
character to detect assignments preceding command name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-10* process.c (rb_fork_internal): call after_fork only unlessakr
chfunc_is_async_signal_safe. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-06add a test.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-06* process.c (try_with_sh): take envp argument.akr
(exec_with_sh): ditto. use it for execve. (proc_exec_v): provide envp for try_with_sh. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-04don't exec in the test process.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03* process.c (rb_proc_exec_e): extended version of rb_proc_exec() toakr
call execle(). (rb_proc_exec): use rb_proc_exec_e(). (rb_exec_err): use rb_proc_exec_e(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-03* use execve() to preserve environment variables when exec method isakr
failed. [ruby-core:44093] [ruby-trunk - Bug #6249] * include/ruby/intern.h (rb_exec_arg): add envp_str and envp_buf field to store envp of execve(). * process.c (proc_exec_v): takes envp_str as an argument and use it for execve(). (rb_proc_exec_ne): extended version of rb_proc_exec_n(). (rb_proc_exec_n): use rb_proc_exec_ne(). (rb_proc_exec): follow proc_exec_v() change. (fill_envp_buf_i): new function. (rb_exec_arg_fixup): set up envp_str and envp_buf. (save_env_i): removed. (save_env): removed. (rb_run_exec_options_err): don't modify environment variables. (rb_exec_err): use rb_proc_exec_ne(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-07* include/ruby/win32.h (rb_w32_aspawn_flags): add the declaration ofshirosaki
new function. * process.c (enum): add EXEC_OPTION_PGROUP and move the position above for the usage in proc_spawn_n(). * process.c (proc_spawn_n): add an argument to pass new option `new_pgroup`. The option specifies CREATE_NEW_PROCESS_GROUP flag to CreateProcessW(). This flag is necessary for the usage of Process.kill on the subprocess on Windows. * process.c (rb_exec_arg_addopt): ditto. * process.c (rb_spawn_process): ditto. * process.c (documentation for rb_f_spawn): add documentation for new option `new_pgroup` of spawn. * test/ruby/test_process.rb (TestProcess#test_execopts_new_pgroup): add tests for option `new_pgroup`. * test/ruby/test_thread.rb (TestThreadGroup#test_thread_timer_and_interrupt): add option `new_pgroup: true` to spawn on Windows. It's needed for Process.kill on a subprocess. * win32/win32.c (CreateChild): add an argument to pass dwCreationFlags of CreateProcessW(). * win32/win32.c (rb_w32_spawn): ditto. * win32/win32.c (rb_w32_aspawn_flags): add new function to pass dwCreationFlags. * win32/win32.c (rb_w32_aspawn): refactor to move the content to rb_w32_aspawn_flags(). [ruby-core:43245][Bug #6131] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-28* process.c (obj2uid, obj2gid): allow strings as input user/group id.nobu
[ruby-core:40923][Feature #5610] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-03-03* process.c (rb_run_exec_options_err): chdir at last to interpretakr
relative pathnames from the current directory of the parent process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-08* test/ruby/test_process.rb (TestProcess#test_sete[gu]id): silentlyusa
skip if not implemented such functions (such as, on Windows). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-05* process.c (proc_seteuid_m): fix argument.nobu
* test/ruby/test_process.rb (test_geteuid): fix typo. * test/ruby/test_process.rb (test_getegid, test_set[eg]uid): add. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03* test/ruby/test_process.rb: clean up a garbage character.nagachika
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-11-03add test for close-on-exec.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-10-22* include/ruby/intern.h (rb_fd_set_cloexec): declared.akr
* 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
2011-09-10Revert test fixes.naruse
This reverts r33233, r33234, and r33235. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-09Run GC.start before test_too_long_path.naruse
NoMemoryError is raised in MiniTest#exception_details where exception is made, and no effect. Run GC.start before running to keep the room. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-09-09Catch NoMemoryError.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-08-01* test/ruby/test_process.rb (TestProcess#windows?): new method.usa
* test/ruby/test_process.rb (TestProcess#*): use above method. * test/ruby/test_process.rb (TestProcess#test_execopts_redirect): windows doesn't support FD_CLOEXEC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29* test/ruby/test_process.rb (test_rlimit_nofile): fix r32734.nagachika
move return statement again. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29Fix r32731: position of definition.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29Run test_popen_fork on FreeBSD because it can run.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32733 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-29Use setrlimit(NOFILE,1) on OpenBSD.naruse
Because on OpenBSD it freezes if limit=0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-07-27* test/fileutils/test_fileutils.rb: add OpenBSD case.naruse
patched by Jeremy Evans [ruby-core:38530] see #5097 * test/ruby/test_process.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-24* process.c (proc_daemon): should not start timer threadnobu
twice. fixed Bug#4920. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-05-28* process.c (before_exec, after_exec): change SIGPIPE handler to SIG_DFLkosaki
before calling execve(). Because r31760 reintroduced an issue that system() may hang up (i.e. [ruby-dev:12261]). * process.c (save_sigpipe, restore_sigpipe): new. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-25* test/ruby/test_process.rb (TestProcess#test_no_curdir): skip silently onusa
Windows, because this tests a platform specific feature and it'll never be supported on ruby on Windows. * test/ruby/test_dir_m17n.rb (TestDir_M17N#test_filename_extutf8_invalid, TestDir_M17N#test_filename_as_bytes_extutf8): ditto. * test/open-uri/test_open-uri.rb (TestOpenURI#test_find_proxy_case_sensitive_env): ditto. * test/dl/test_handle.rb (DL::TestHandle#test_NEXT, DL::TestHandle#test_DEFAULT): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-10* process.c (proc_getmaxgroups, proc_setmaxgroups): Process#maxgroupskosaki
and Process#maxgroups= now raise NotImplementedError if the platform don't support supplementary groups concept. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07cancel subversion backfire. sorrymatz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-07* gc.c (rb_gc_set_params): allow GC parameter configuration bymatz
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
2011-03-03* process.c (check_exec_redirect_fd, check_exec_redirect): raiseusa
ArgumentError if fd >= 3 on Windows because the feature is not supported. * test/ruby/test_process.rb (test_execopts_redirect): remove meaningless argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-03-03* test/ruby/test_process.rb (test_execopts_redirect): redirecting fdusa
>= 3 is not supported on Windows, so should not specify such options when calling spawn or others. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-07TestProcess#test_wait_and_sigchild randomly fails on FreeBSDnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-28* test/ruby/test_process.rb (TestProcess#test_too_long_path{,2}):usa
should handle Errno::E2BIG, because this test checks crash of ruby, not the error type system. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30697 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 * test/ruby/test_process.rb (TestProcess#test_too_long_path)kosaki
TestProcess#test_too_long_path): Reduced string size from 100MB to 10MB. 100MB may cause no memory error. It isn't intended. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-27 * test/ruby/test_process.rb (TestProcess#test_too_long_path2):kosaki
Factored out from test_too_long_path. A test should only do one test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-26* process.c (proc_exec_v, rb_proc_exec_n, rb_proc_exec)nobu
(proc_spawn_n, proc_spawn): get rid of too huge alloca(). [ruby-core:34827], [ruby-core:34833] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30662 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-01-14Reduced gem_prelude to just require rubygems. Reviewed by Evan Phoenixryan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-16Refix timing problem.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-15Avoid timing problem.naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-05* test/ruby/test_{process,system}.rb (test_fallback_to_sh):nobu
meaningless and wrong tests where /bin/sh does not exist. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-04* process.c (proc_exec_v, proc_spawn_v): try to execute with sh ifnobu
no shebang. [ruby-core:32745] [EXPERIMENTAL] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e