https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2008-07-18T11:39:33Z
Ruby Issue Tracking System
Ruby master - Bug #272: test_chdir failed when Dir.tmpdir is symlink
https://bugs.ruby-lang.org/issues/272?journal_id=562
2008-07-18T11:39:33Z
znz (Kazuhiro NISHIYAMA)
<ul></ul><p>=begin<br>
西山和広です。</p>
<p>At Mon, 14 Jul 2008 17:54:40 +0900,<br>
Kazuhiro NISHIYAMA wrote:</p>
<blockquote>
<p>Dir.tmpdirが返すディレクトリがsymlinkのときにtest_chdirが失敗します。</p>
</blockquote>
<p>test_execopts_chdir(TestProcess)も同様に失敗します。</p>
<p>Pathname#realpathを使えば解決するようですが、<br>
こういう解決方法で良いのでしょうか?</p>
<a name="Index-testrubytest_dirrb"></a>
<h1 >Index: test/ruby/test_dir.rb<a href="#Index-testrubytest_dirrb" class="wiki-anchor">¶</a></h1>
<p>--- test/ruby/test_dir.rb (revision 18104)<br>
+++ test/ruby/test_dir.rb (working copy)<br>
@@ -2,11 +2,12 @@ require 'test/unit'</p>
<p>require 'tmpdir'<br>
require 'fileutils'<br>
+require 'pathname'</p>
<p>class TestDir < Test::Unit::TestCase</p>
<pre><code>def setup
</code></pre>
<ul>
<li><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/12766">@root (cui_root cui)</a> = Dir.mktmpdir('<strong>test_dir</strong>')</li>
</ul>
<ul>
<li><a class="user active user-mention" href="https://bugs.ruby-lang.org/users/12766">@root (cui_root cui)</a> = Pathname.new(Dir.mktmpdir('<strong>test_dir</strong>')).realpath.to_s<br>
@nodir = File.join(<a class="user active user-mention" href="https://bugs.ruby-lang.org/users/12766">@root (cui_root cui)</a>, "dummy")<br>
for i in ?a..?z<br>
if i.ord % 2 == 0<br>
Index: test/ruby/test_process.rb<br>
===================================================================<br>
--- test/ruby/test_process.rb (revision 18104)<br>
+++ test/ruby/test_process.rb (working copy)<br>
@@ -1,5 +1,6 @@<br>
require 'test/unit'<br>
require 'tmpdir'<br>
+require 'pathname'<br>
require_relative 'envutil'</li>
</ul>
<p>class TestProcess < Test::Unit::TestCase<br>
@@ -21,6 +22,7 @@ class TestProcess < Test::Unit::TestCase</p>
<pre><code>def with_tmpchdir
Dir.mktmpdir {|d|
</code></pre>
<ul>
<li>
<pre><code> d = Pathname.new(d).realpath.to_s
Dir.chdir(d) {
yield d
}
</code></pre>
</li>
</ul>
<p>--<br>
|ZnZ(ゼット エヌ ゼット)<br>
|西山和広(Kazuhiro NISHIYAMA)</p>
<p>=end</p>
Ruby master - Bug #272: test_chdir failed when Dir.tmpdir is symlink
https://bugs.ruby-lang.org/issues/272?journal_id=589
2008-07-22T11:27:04Z
Anonymous
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>=begin<br>
Applied in changeset r18153.<br>
=end</p>