Bug #3305

test_processのMANDATORY_ENVS

Added by Masaya Tarui almost 5 years ago. Updated almost 4 years ago.

[ruby-dev:41332]
Status:Closed
Priority:Low
Assignee:Usaku NAKAMURA
ruby -v:ruby 1.9.2dev (2010-05-16 revision 27850) [i386-mswin32_90] Backport:

Description

=begin
現状だと以下のようになります。OSはWindowsXP SP3です。

c:\bin\ruby.exe test\ruby\test_process.rb
(snip)
2) Failure:
test_execopts_env(TestProcess) [test/ruby/test_process.rb:252]:
<"PATH\n"> expected but was
<"">.
(snip)
8) Failure:
test_execopts_unsetenv_others(TestProcess) [test/ruby/test_process.rb:290]:
<"A=B\n"> expected but was
<"">.
(snip)
56 tests, 132 assertions, 2 failures, 0 errors, 8 skips

どうやら、起動時にSystemRootが必要なようで以下で直ります。

Index: test/ruby/test_process.rb
===================================================================
--- test/ruby/test_process.rb (リビジョン 27851)
+++ test/ruby/test_process.rb (作業コピー)
@@ -222,7 +222,7 @@
when /linux/
MANDATORY_ENVS << 'LD_PRELOAD'
when /mswin|mingw/
- MANDATORY_ENVS.concat(%w[HOME USER TMPDIR])
+ MANDATORY_ENVS.concat(%w[HOME USER TMPDIR SystemRoot])
end
if e = RbConfig::CONFIG['LIBPATHENV']
MANDATORY_ENVS << e

結果、

c:\bin\ruby.exe test\ruby\test_process.rb
(snip)
56 tests, 143 assertions, 0 failures, 0 errors, 8 skips
=end

History

#1 Updated by Masaya Tarui almost 5 years ago

=begin
樽家です。

少し説明不足だったので追記しておくと、
SystemRootが必要かどうかは、厳密に調べたわけではないですがmsvcのランタイムに拠るようです。
msvcrt.dllにリンクしているアプリでは必要なく、msvcr90.dllにリンクしているアプリでは必要になります。
(その間は全く調べてない)

今回問題になったのはRubyが
ruby 1.9.2dev (2010-05-16 revision 27850) [i386-mswin32_90]
だからだと思います。

=end

#2 Updated by Usaku NAKAMURA almost 5 years ago

=begin
実は再現に成功してないのですが、どうしてかなあ。
Windows7+VC9で確認。

なんか他に再現条件がありそうではあります。なんだろう。
=end

#3 Updated by Usaku NAKAMURA almost 5 years ago

  • Due date set to 06/30/2010
  • Status changed from Open to Assigned
  • Assignee set to Usaku NAKAMURA

=begin

=end

#4 Updated by Yusuke Endoh almost 5 years ago

=begin
なかむら(う)さん
遠藤です。

この件、どうしましょう。

1) worksforme ということで reject する
2) よくわからないけれどパッチを当てておく
3) 引き続き検討する

3 の場合は、1.9.2 でどうするかも決めてください。
優先度を Low にして 1.9.2 での修正を必須としない (結論が 6 月中に
出たら入れてもよい) とするのがおすすめです。

--
Yusuke Endoh mame@tsg.ne.jp
=end

#5 Updated by Usaku NAKAMURA almost 5 years ago

  • Priority changed from Normal to Low
  • Target version changed from 1.9.2 to 2.0.0

=begin

=end

#6 Updated by Usaku NAKAMURA almost 5 years ago

=begin
こんにちは、なかむら(う)です。

In message " [Bug #3305] test_processのMANDATORY_ENVS"
on Jun.18,2010 02:36:43, redmine@ruby-lang.org wrote:

1) worksforme ということで reject する
2) よくわからないけれどパッチを当てておく
3) 引き続き検討する

現実に今も再現可能な環境がコミッタのところにあるわけなので、
rejectはなかろうと思います。
2)は論外。
というわけで3)ですね。

3 の場合は、1.9.2 でどうするかも決めてください。
優先度を Low にして 1.9.2 での修正を必須としない (結論が 6 月中に
出たら入れてもよい) とするのがおすすめです。

そう致しましょう。

それでは。
--
U.Nakamura usa@garbagecollect.jp

=end

#7 Updated by Masaya Tarui almost 4 years ago

  • Status changed from Assigned to Closed

発症しなくなっているためcloseします。

Also available in: Atom PDF