summaryrefslogtreecommitdiff
path: root/test/ruby/test_process.rb
AgeCommit message (Collapse)Author
2015-05-22process.c: do not discard statusnobu
* process.c (rb_spawn_process): do not discard global escape status. [ruby-core:69304] [Bug #11166] * process.c (rb_execarg_spawn): extract the start procedure in a parent process with ensuring the end procedure. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-13* test/lib/envutil.rb (File.mkfifo): Defined using mkfifo command.akr
* test/ruby/test_io.rb: Ditto. * test/ruby/test_file_exhaustive.rb: Use File.mkfifo. * test/ruby/test_process.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-11Delay signal bit more.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-10* process.c (rb_execarg_parent_start1): Handle EINTR.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09* test/ruby/test_process.rb: unfortunately, windows is not POSIX...usa
cygwin has mkfifo command, but it does not affect system-wide. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09* test/ruby/test_process.rb: Use mkfifo command instead of mknodakr
command to create a named file. mkfifo commandis defined by POSIX. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09* process.c: Release GVL when opening a file in spawn() to avoid wholeakr
process blocking when opening a named pipe. (open_func): New function. (rb_execarg_parent_start1): Extracted from rb_execarg_parent_start and use rb_thread_call_without_gvl2 to release GVL when opening a file. (rb_execarg_parent_start): Invoke rb_execarg_parent_start1 via rb_protect and invoke rb_execarg_parent_end when error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09* test/ruby/test_process.rbusa
(TestProcess#test_execopts_redirect_open_order_{normal,reverse}): ignore tests added by r50194 on Windows because ruby cannot pass non-standard fds. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-04-09* internal.h (rb_execarg_parent_end): Declared.akr
* process.c: "spawn" opens files in the parent process. (check_exec_redirect): Add an placeholder for fd in parameters for fd_open. (check_exec_fds_1): Delete fd_open condition. (check_exec_fds): Don't call check_exec_fds_1 with fd_open. (rb_execarg_parent_start): Open files specified as "spawn" options and add "dup2" options. (rb_execarg_parent_end): New function to close opened fds. (run_exec_open): Removed. (rb_execarg_run_options): Don't call run_exec_open. (rb_spawn_internal): Call rb_execarg_parent_end. * io.c (pipe_open): Call rb_execarg_parent_end. * ext/pty/pty.c (establishShell): Call rb_execarg_parent_end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-03test_process.rb: use assert_in_out_errnobu
* test/ruby/test_process.rb (test_status_quit): use assert_in_out_err to simplify and clean diagnostic reports. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-03-02test_process.rb: remove intermediate child processnobu
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): spawn the target process directly with assert_separately and remove intermediate child process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-16* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):ko1
extend timeout seconds to 60 for RGENGC_CHECK_MODE > 0 environment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-11test_process.rb: splitnobu
* test/ruby/test_process.rb (test_execopts_redirect): split large test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-30* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking):akr
Don't raise Interrupt. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-30* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): Useakr
assert_separately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13* test/lib/envutil.rb: Moved from test/ruby/.akr
* test/lib/find_executable.rb: Ditto. * test/lib/memory_status.rb: Ditto. * test/lib/test/unit.rb: require envutil. * test/: Don't require envutil in test files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-27test/ruby/test_process.rb: reduce garbage during forksnormal
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): reduce garbage during forks This seems to reduce failures on my memory-constrained VM when doing a full test-all. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23test/ruby/test_process.rb: use io/wait instead of timeoutnormal
Occasionally I get timeout errors during this test on an overloaded system, so we may need to increase timeouts anyways. For now, avoid the overhead of thread creation for every read we do. * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): use IO#wait_readable instead of timeout git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-23test/ruby/test_process.rb: ensure exit! on fork failurenormal
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): ensure exit! on fork failure git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-16test/ruby/test_process.rb: avoid killing wrong parentnormal
We must capture intended target PID before forking, since Process.ppid may change if parent dies (e.g. due to timeout) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07test/ruby/test_process.rb (TestProcess#test_setsid): AIX does not allow ↵odaira
Process::getsid(pid) when pid is in a different session git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-12Process.detach: avoid singleton class creationnormal
* process.c (Init_process): subclass Thread as Process::Waiter (rb_detach_process): use Process::Waiter instead of singleton class * test/ruby/test_process.rb (test_process_detach): new test * inits.c (rb_call_inits): call Init_Thread before Init_process to ensure Process::Waiter may be a subclass of Thread Thanks to headius for reporting [Bug #10231] Thanks to nobu for review of my initial patch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-16process.c: use UTF-8nobu
* process.c (open): use UTF-8 version function to support non-ascii path properly. [ruby-core:63185] [Bug #9946] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-31Join threads.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-29* io.c (pipe_open): Close pipes when rb_execarg_fixup() raisesakr
an exception. (rb_execarg_fixup_v): New function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11test_process.rb: duplicate assertionsnobu
* test/ruby/test_process.rb (test_status_{kill,quit}): remove duplicate assertions git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11test_process.rb: WIFEXITED and so on are system dependentnobu
* test/ruby/test_process.rb (test_status_kill): WIFEXITED and so on are available only if signal is supported by the system. [ruby-dev:48203] [Bug #9820] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-11signal.c: directly deliver non-handlable signalsnobu
* signal.c (rb_f_kill): directly deliver signals which cannot be handled, i.e., SIGKILL and SIGSTOP. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-05* process.c (check_exec_redirect): Open the file in write mode forakr
redirect from [:out, :err]. Proposed and implemented by Yusuke Endoh. [ruby-dev:41430] [Feature #3348] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-26update comment.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-25* test/ruby/test_process.rb (test_rlimit_nofile): Don't limitakr
RLIMIT_NOFILE too small. This fix sporadic "[ASYNC BUG] thread_timer: select" on GNU/Linux. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30process.c: preserve encodingsnobu
* process.c (rlimit_resource_type, rlimit_resource_value): preserve argument encoding in error messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-30test_process.rb: test if success?nobu
* test/ruby/test_process.rb (test_rlimit_value): should not use magic number 0, which may not be EXIT_SUCCESS. use `success?` instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-24test_process.rb: clock_getres may not supportednobu
* test/ruby/test_process.rb (test_clock_getres): ignore if clock_getres is no supported, e.g., on old Linux. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-23test_process.rb: fix conditionnobu
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): fix condition to define. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-23test_process.rb: deadlock testnobu
* test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): test for r44687, deadlock in rb_fork_internal(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16test_process.rb: fix for 32bit platformsnobu
* test/ruby/test_process.rb (test_clock_gettime_unit): results can exceed Fixnum limit, especially on 32bit platforms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16* process.c (make_clock_result): add :second as a unit fornaruse
Process.clock_gettime. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-14test_process.rb: handshakenobu
* test/ruby/test_process.rb: handshake by pipe instead of sleep. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44218 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-11-15envutil.rb: crash report on Mac OS Xnobu
* test/ruby/envutil.rb (EnvUtil.diagnostic_reports): find crash report on Mac OS X. * test/ruby/envutil.rb (Test::Unit::Assertions::FailDesc): include crash report on Mac OS X. * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): remove crash reports if exist. * test/ruby/test_process.rb (TestProcess#test_status_kill): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03Fix a typo.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03* process.c (rb_clock_gettime): Support times() based monotonic clock.akr
(rb_clock_getres): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-01Add assertions.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-31* process.c (rb_clock_getres): New method.akr
(timetick2dblnum_reciprocal): New function. * configure.in: Check clock_getres. [ruby-core:56780] [Feature #8809] accepted at DevelopersMeeting20130831Japan https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130831Japan git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-24* process.c (rb_clock_gettime): The emulated clock names changed.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23add tests.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-22* process.c (rb_clock_gettime): Strip "s" from unit names.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-11* process.c (rb_clock_gettime): New method.akr
This is accepted in the meeting: https://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20130809 This method is accepted as a CRuby feature. I.e. Other Ruby implementations don't need to implement it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-09file.c: normalize Form Cnobu
* file.c (rb_str_normalize_ospath): normalize to Normalization Form C using CFString. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e