Commit graph

163 commits

Author SHA1 Message Date
nobu
62c73569c2 test_process.rb: fix for 32bit platforms
* 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 12:21:24 +00:00
naruse
2a732947a6 * process.c (make_clock_result): add :second as a unit for
Process.clock_gettime.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-16 05:04:03 +00:00
nobu
b46441824f test_process.rb: handshake
* 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-14 22:34:43 +00:00
nobu
3ac0ec4ecd test/ruby: better assertions
* 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-12-13 09:18:05 +00:00
nobu
6e3184e25a envutil.rb: crash report on Mac OS X
* 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-11-15 22:14:09 +00:00
akr
1c6ff586a6 Fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03 13:22:05 +00:00
akr
bc3d736f43 * process.c (rb_clock_gettime): Support times() based monotonic clock.
(rb_clock_getres): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-03 03:10:41 +00:00
akr
e8d8e0696f Add assertions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-01 01:57:45 +00:00
akr
23da5a785e * process.c (rb_clock_getres): New method.
(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-31 13:21:48 +00:00
akr
811eaddf4c * process.c (rb_clock_gettime): The emulated clock names changed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-24 01:38:34 +00:00
akr
282bbea0d9 add tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-23 13:46:25 +00:00
akr
a641003f66 * process.c (rb_clock_gettime): Strip "s" from unit names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-22 13:04:06 +00:00
akr
93bb48995c * process.c (rb_clock_gettime): New method.
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-11 02:59:30 +00:00
nobu
c04f402f0f file.c: normalize Form C
* 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
2013-08-09 03:06:53 +00:00
naruse
300b7c80e4 * process.c (rb_daemon): daemon(3) is implemented with fork(2).
Therefore it needs rb_thread_atfork(). (and revert r41903)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-11 01:13:10 +00:00
naruse
843f3a6564 On FreeBSD, threads don't die on daemon(3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10 15:36:06 +00:00
nobu
863d148a4e process.c: kill threads in daemon process
* process.c (fork_daemon): kill the other threads all and abandon the
  kept mutexes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-10 05:19:01 +00:00
nobu
3a01b9ec91 win32: UTF-8 spawn
* test/ruby/test_process.rb (test_spawn_nonascii): assertions for
  non-ascii arguments.  [ruby-core:24309] [Bug #1771]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 05:06:43 +00:00
nobu
5197f451de win32.c: use backslash
* win32/win32.c (join_argv): use backslash instead of slash in program
  path, otherwise cannot invoke "./c\u{1ee7}a.exe" for some reason.
  [ruby-core:24309] [Bug #1771]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:25 +00:00
nobu
637d668bca win32: UTF-8 spawn
* io.c (spawnv, spawn): use UTF-8 spawn family.  [Bug #1771]
* process.c (proc_exec_sh, proc_spawn_cmd, proc_spawn_sh): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:59:21 +00:00
nobu
3a6bcb63d8 test_process.rb: File.realpath directly
* test/ruby/test_process.rb (with_tmpchdir): use File.realpath
  directly, no need to depend on pathname.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-30 01:23:35 +00:00
nobu
2fe89ab618 test_process.rb: redirect to null
* test/ruby/test_process.rb (test_no_curdir): since standard handles
  cannot close on Windows, redirect to null device.

* test/ruby/test_process.rb (assert_fail_too_long_path): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19 17:46:39 +00:00
usa
50cc7057af * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe now
we can test it.

* test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt):
  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-05-02 03:34:15 +00:00
akr
8f671120f1 * test/csv/test_features.rb, test/logger/test_logger.rb
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-20 23:03:52 +00:00
nobu
827e71bda5 test_process.rb: fix test
* test/ruby/test_process.rb (assert_fail_too_long_path): get rid of
  syntax error on sh, increase command line size until it exceeds the
  limit.  [Bug #7904]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39417 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-23 03:34:04 +00:00
nobu
e51a9b49f1 test_process.rb: fix parameters
* test/ruby/test_process.rb (test_{,a}spawn_too_long_path): fix
  missing parameters in r38934.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 02:58:53 +00:00
nobu
2027a05247 * test/ruby/test_process.rb: remove useless sleep.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-22 02:53:54 +00:00
kosaki
7c465090fd * file.c (rb_group_member): get rid of NGROUPS dependency.
[Bug #7886] [ruby-core:52537]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39349 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-21 04:40:58 +00:00
kosaki
e4b775882d * test/ruby/test_process.rb (test_setsid): Added a workaround for
MacOS X. Patch by nagachika. [Bug #7826] [ruby-core:52126]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-14 20:01:37 +00:00
naruse
cf2da37701 the process maybe already finished
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-09 16:44:56 +00:00
kosaki
6cd1e11d01 * test/ruby/test_process.rb (test_setsid): ensure to call
Process.wait(). Reported by George Koehler. Thanks.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 06:37:28 +00:00
kosaki
88903e23dd * test/ruby/test_process.rb (test_setsid): skip when platform is
OpenBSD. Contributed from George Koehler.
  [Bug #7789] [ruby-core:51889]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-02-06 06:37:18 +00:00
akr
2d55537dce * test/ruby/test_marshal.rb: remove temporally files early.
* test/ruby/test_process.rb: ditto.

* test/psych/test_exception.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-29 03:06:40 +00:00
nobu
8cc69387e0 test_process.rb: reduce command string size
* test/ruby/test_process.rb (test_spawn_too_long_path),
  (test_aspawn_too_long_path): reduce command string size until
  intended exception occurs.  [ruby-core:51592] [Bug #7721]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-01-25 01:37:34 +00:00
naruse
395d7bb346 Suppress warning: too long path
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-12 10:06:29 +00:00
kosaki
769781a099 * test/ruby/test_process.rb (test_setsid): added a few wait for
preventing that Process.getsid(io.pid) makes Errno::ESRCH.
  (refix r37844)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37846 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-26 01:57:41 +00:00
nagachika
997518c677 * test/ruby/test_process.rb (test_setsid): call Process.getsid for
child process in child process. because parent process call
  Process.getsid with io.pid, Errno::ESRCH could be raised.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-25 16:59:07 +00:00
shirosaki
76cffcdbf2 Fix TestProcess#test_setsid
* test/ruby/test_process.rb (TestProcess#test_setsid): "./ruby-trunk"
  doesn't work on all environments. EnvUtil.rubybin would be suitable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-24 04:01:43 +00:00
kosaki
5611df706e * process.c (proc_getsid): adds new method for getting session id.
Contributed from fumiyas (Fumiyasu SATOH). Thank you!
  [Feature #6757] [ruby-dev:45977]
* configure.in: adds getsid check.
* test/ruby/test_process.rb (TestProcess#test_setsid): new test
  for the above.
* NEWS: news for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-24 02:51:24 +00:00
nobu
27f414916e test_process.rb: use never existing file
* test/ruby/test_process.rb (test_execopts_preserve_env_on_exec_failure):
  use never existing file in the current temporary directory.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 19:40:15 +00:00
mame
a5fc96a5c1 * test/ruby/test_process.rb: Revert r37404. My ubuntu box has
actually the directory named "/nonexistent"...  Sorry.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 12:46:27 +00:00
mame
de08204297 * test/ruby/test_process.rb: Process.exec raised EACCES on Linux
3.5.0-17-generic.  This is a temporal fix to rescue that exception.
  Needs kosaki's review.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-01 12:33:51 +00:00
kazu
66141d47d7 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_file): rename from file_assertion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-16 04:02:04 +00:00
nobu
32569104e1 envutil.rb: file_assertion
* test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion):
  rewrite file assertions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-15 13:14:48 +00:00
naruse
187ae6d5a7 Rename variabls
* uid always stores uid
* user stores username or nil

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 12:38:15 +00:00
naruse
ba7c9b1cf7 Test both username and uid
* system(, uid: ) takes username or uid
* ENV["USER"] may be nil (sudo or jail)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 08:08:22 +00:00
usa
7eb1fee9a6 * test/ruby/test_process.rb (TestProcess#test_execopts_gid): skip on
windows because the platform does not have Process.group method.
  patched by Jon Forums in [ruby-core:47878] [Bug #7133].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-10 06:14:48 +00:00
nobu
428ec4ec05 envutil.rb: assert_file and assert_file_not
* test/ruby/envutil.rb (assert_file, assert_file_not): more
  descriptive assertions for File predicates.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 14:18:05 +00:00
nobu
dd83dd6bda process.c: uid gid exec options
* process.c (rb_execarg_addopt, rb_execarg_run_options): add :uid and
  :gid options.  [ruby-core:47414] [Feature #6975]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-10-09 08:13:29 +00:00
naruse
e62ee61262 On amd64, RUBY_PLATFORM is x86_64-netbsd6.99.7.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36578 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-07-30 14:04:44 +00:00